# Mengintegrasikan Licentivo Launch dengan AI

> Perubahan yang saat ini belum dirilis menggunakan pertukaran identitas akun; tanggung jawab dan batasan migrasi dijelaskan dalam [Batas masa pembelian dan SDK akun](/id/launch-documents/account-purchase-boundary/). Launch menghitung masa pembelian; Licentivo SDK menjalankan lisensi.

**Alat operasional → Integrasi cepat AI** di panel administrasi Launch membuat instruksi tugas berbahasa Inggris yang dapat diberikan kepada alat pemrograman AI. Instruksi ini menggunakan konfigurasi publik nyata dari toko saat ini, perangkat lunak yang ada, dan paket yang telah diterbitkan, serta meminta AI memasang paket klien Launch publik, memanggil API nyata, memasukkan pemeriksaan izin ke operasi bisnis, dan menyelesaikan pengujian integrasi.

Navigasi **Pemeriksaan integrasi dan kode / Integrasi cepat AI** pada halaman integrasi aplikasi juga membuka fungsi yang sama. Pengembangan manual tidak memerlukan AI; Anda dapat langsung membaca [Panduan integrasi manual sembilan bahasa](/id/launch-documents/manual-integration/).

## Persiapan sebelum membuat

1. Buat perangkat lunak dan paket penjualan di Launch, lalu hubungkan paket dengan produk dan kebijakan lisensi Licentivo.
2. Terbitkan paket ke lingkungan `sandbox` atau `live` yang akan diuji.
3. Pastikan alamat publik Launch dapat diakses oleh perangkat lunak pelanggan; gunakan HTTPS di lingkungan produksi.
4. Di **Integrasi aplikasi → Pemeriksaan integrasi dan kode**, baca informasi produk dan pastikan pemetaan produk serta kunci publik tanda tangan lulus pemeriksaan.
5. Tentukan tindakan bisnis nyata yang akan dilindungi, misalnya `export`, `save`, atau `render`; jangan hanya menulis ‘seluruh perangkat lunak’.

Draf dapat dibuat sebelum konfigurasi produk selesai, tetapi draf akan secara jelas menandai item yang perlu diisi dan tidak dapat digunakan sebagai konfigurasi integrasi siap diserahkan. Buat ulang setelah konfigurasi produk dan lingkungan selesai.

## Membuat prompt di panel administrasi

1. Pilih Go, Python, C#, Java, JavaScript / Node.js, Rust, Ruby, C, atau C++. Solusi backend Web menggunakan Go dan tidak dihitung sebagai bahasa SDK tambahan.
2. Pilih Windows, Linux, macOS, atau platform yang sesuai, serta proyek desktop, backend Web, atau layanan latar belakang.
3. Isi struktur proyek yang ada, cara memulai, framework antarmuka, dan fitur bisnis yang akan dilindungi dalam bahasa Inggris. Jangan masukkan kata sandi, kunci, data pelanggan, atau kode sumber privat.
4. Pilih perangkat lunak yang ada dan lingkungan `sandbox` / `live`. Launch otomatis membaca alamat toko saat ini, pemetaan produk Launch dan Licentivo, lingkungan, dan kunci publik tanda tangan.
5. Periksa versi paket, perintah instalasi, tautan dokumentasi, dan fungsi koneksi yang sudah diisi pada pratinjau, lalu salin atau unduh prompt.
6. Berikan prompt kepada alat pemrograman AI Anda agar menyelesaikan perubahan, kompilasi, dan pengujian lokal di proyek Anda.

Launch hanya menghasilkan teks di browser. Launch tidak otomatis terhubung ke layanan AI mana pun, tidak mengunggah proyek, dan tidak menjalankan program yang dihasilkan atas nama pengembang.

## Prompt memberi tahu AI tempat mengunduh SDK

Verifikasi instalasi publik untuk sembilan bahasa pada 0.1.6 semuanya lulus (9/9); perintah registry dan unduhan native berikut telah diverifikasi. File Maven Central Java beserta empat tanda tangannya, versi tepat crates.io Rust, dan seluruh kode inisialisasi yang dibuat panel administrasi juga telah menjalani pemeriksaan konsumen independen; [v0.1.6 GitHub Release](https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6) juga menyediakan paket native dan file offline.

Prompt yang dihasilkan harus menyertakan metode instalasi publik dengan versi tetap yang sesuai dengan bahasa yang dipilih:

```text
Go:         go get github.com/spf86/licentivo-launch-sdk/pkg/launchclient@v0.1.6
Python:     python -m pip install licentivo-launch==0.1.6
C# / .NET: dotnet add package Licentivo.Launch --version 0.1.6
Java:       com.licentivo.launch:launch-client:0.1.6
Node.js:    npm install @licentivo/launch@0.1.6
Rust:       cargo add licentivo-launch@=0.1.6
Ruby:       gem install licentivo-launch --version 0.1.6
C / C++:    https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6
```

Kode sumber publik, README setiap bahasa, dan status rilis saat ini tersedia di:

- [Repositori Licentivo Launch SDK](https://github.com/spf86/licentivo-launch-sdk)
- [v0.1.6 GitHub Release](https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6)
- [Verifikasi instalasi publik sembilan bahasa](https://github.com/spf86/licentivo-launch-sdk/blob/main/docs/registry-verification.json)
- [Keterangan versi dan paket](/id/launch-documents/integration-packages/)
- [Panduan integrasi manual sembilan bahasa](/id/launch-documents/manual-integration/)
- [Arsitektur integrasi aplikasi dan persyaratan keamanan](/id/launch-documents/software-sdk-integration/)
- [Daftar periksa penerimaan integrasi](/id/launch-documents/acceptance/)

Instal hanya paket Launch untuk bahasa yang dipilih. v0.1.6 sudah menyertakan Licentivo SDK resmi v0.11.6, adaptor default, dan konfigurasi penautan; tidak perlu lagi memasang salinan kedua SDK resmi secara terpisah.

## Prompt memberi tahu AI cara melakukan integrasi

Prompt yang telah dikonfigurasi mencakup fungsi koneksi yang dibuat panel administrasi. Fungsi ini sudah berisi alamat publik toko, pemetaan produk Launch dan Licentivo, kunci publik tanda tangan, dan lingkungan pembayaran. AI tidak perlu menebak atau mengisi dua nomor produk internal secara manual, dan tidak perlu membuat `launch-config.json` atau `product.json`.

`config.yaml` privat di server hanya digunakan untuk menjalankan situs Launch dan sama sekali tidak boleh dimasukkan ke aplikasi pelanggan, prompt, atau paket instalasi.

AI harus mengubah perangkat lunak pelanggan sesuai siklus hidup berikut:

```text
Connect/connect → Login or Restore → RunFeature → Logout / Close
                                      └──────────→ ReleaseDevice (explicit device unlink only)
```

- `Connect/connect` membuat klien Launch dan menginisialisasi SDK resmi yang disertakan; ini sendiri tidak berarti akun sudah masuk atau fitur sudah diotorisasi.
- `Login` menggunakan email dan kata sandi pelanggan yang terdaftar di toko saat ini untuk memperoleh kredensial produk bagi akun tersebut.
- `Restore` memulihkan sesi yang diingat dari penyimpanan aman; tampilkan login jika tidak ada sesi, dan jangan menganggap penolakan eksplisit sebagai keberhasilan offline.
- `RunFeature` harus membungkus tindakan bisnis nyata seperti ekspor, simpan, render, atau tugas latar belakang. Menonaktifkan tombol saja tidak menggantikan pemeriksaan di tempat eksekusi.
- `Logout` terlebih dahulu memanggil alur keluar terpadu SDK resmi, lalu membersihkan sesi akun; `ReleaseDevice` adalah titik masuk kompatibilitas untuk alur keluar eksplisit yang sama. Penutupan biasa `Close` mempertahankan pengikatan perangkat.
- Objek klien harus tetap hidup selama aplikasi berjalan agar SDK dapat menjalankan heartbeat, kursi mengambang, dan aturan runtime.

Aplikasi Web hanya menjalankan pemeriksaan lisensi di backend tepercaya. Node.js / Electron menempatkan kredensial dan SDK di proses utama atau server; browser dan proses renderer tidak menyimpan rahasia lisensi.

## Apa yang harus diserahkan AI

Prompt meminta AI menyelesaikan dan melaporkan hal berikut:

1. Periksa versi bahasa, manajemen dependensi, alur startup dan keluar proyek yang ada, serta operasi bisnis nyata yang perlu dilindungi.
2. Gunakan perintah versi tetap di atas untuk memasang satu paket Launch dan periksa antarmuka sebenarnya dalam README bahasa terkait.
3. Tambahkan login akun pelanggan, pesan kesalahan, dan pemulihan sesi aman tanpa menyimpan kata sandi dan lisensi lengkap dalam kode sumber atau log.
4. Gunakan fungsi koneksi dari panel administrasi untuk inisialisasi; jangan mengarang nomor produk, kunci publik tanda tangan, atau file konfigurasi.
5. Gunakan `RunFeature` atau metode bahasa yang sesuai di lokasi pelaksanaan setiap tindakan bisnis yang dilindungi, dan tangani penghitungan penggunaan serta percobaan ulang dengan benar.
6. Bedakan kegagalan akun, email menunggu verifikasi, hak sedang disinkronkan, belum membeli, kedaluwarsa, penangguhan, perangkat penuh, gangguan jaringan, dan kedaluwarsa offline.
7. Implementasikan penutupan biasa, keluar akun, dan pelepasan perangkat secara eksplisit, serta isolasi cache berdasarkan toko, akun, produk, dan lingkungan.
8. Jalankan kompilasi dan pengujian yang sesuai untuk proyek, lalu cantumkan file yang diubah, pemetaan fitur, hasil aktual, dan langkah penerimaan pelanggan.

Setelah AI menghasilkan kode, pengembang tetap harus memastikan nama fitur sama persis dengan kebijakan Licentivo dan menyelesaikan pengujian end-to-end dengan akun toko sandbox nyata.

## Konten yang dikecualikan dari prompt

Prompt hanya berisi origin toko, pemetaan produk, lingkungan, versi paket, dan kunci publik tanda tangan yang dapat dipublikasikan. Berikut tidak boleh masuk ke prompt:

- Email pelanggan, kata sandi, sesi login, dan token refresh;
- Lisensi lengkap, kredensial perangkat, dan cache lisensi lokal;
- API Key administrasi Licentivo;
- Kunci Stripe, PayPal, Waffo, atau Paddle;
- Koneksi basis data, `master_key`, dan `config.yaml` server;
- Kode sumber privat, data bisnis, atau log yang tidak perlu diserahkan ke alat eksternal.

Pemeriksaan konfigurasi publik Launch, draf AI, dan kompilasi lokal tidak membuktikan bahwa pembayaran nyata, penerbitan lisensi, atau aktivasi eksternal berhasil. Sandbox pembayaran, akun toko, dan lingkungan Licentivo memerlukan penerimaan terpisah.

## Daftar periksa penerimaan setelah integrasi

- Pelanggan baru dapat masuk; email yang belum diverifikasi dan kata sandi salah menghasilkan pesan yang jelas tanpa mengungkap informasi berlebihan.
- Akun yang telah membeli dapat menjalankan fitur target; akun yang belum membeli, kedaluwarsa, atau ditangguhkan tidak dapat menjalankan kode bisnis yang sama.
- Setelah mulai ulang, penggunaan hanya dapat dilanjutkan jika sesi berhasil dipulihkan dan pemeriksaan lisensi lulus.
- Kebijakan offline yang valid dapat berfungsi, dan akses ditolak setelah lisensi offline kedaluwarsa; 401/403/404 yang jelas tidak diturunkan menjadi keberhasilan offline.
- Hitungan fitur dikomit dengan benar hanya ketika operasi bisnis berhasil; kegagalan dan percobaan ulang tidak mengurangi kuota berulang kali.
- Penutupan biasa mempertahankan pengikatan perangkat; keluar secara eksplisit terlebih dahulu memanggil alur keluar terpadu SDK resmi, mempertahankan log pencabutan tertunda, dan melaporkan hasil sebenarnya.
- Heartbeat kursi mengambang berlanjut saat aplikasi berjalan, dan waktu pengambilan kembali setelah keluar tidak normal sesuai dengan kebijakan lisensi saat ini.
- Pergantian toko, akun, produk, atau lingkungan tidak menggunakan kembali cache identitas lain.

Lihat [acceptance.md](/id/launch-documents/acceptance/) untuk batas penerimaan otomatis dan eksternal yang lebih lengkap.

## Menggunakan generator prompt dalam paket distribusi sumber

`licentivo-launch-0.1.6-source.zip` menyimpan file berikut agar prompt dengan struktur yang sama dapat dibuat dalam alat Anda sendiri:

- `internal/httpapi/web/integration-prompts.js`: modul generator prompt yang tidak bergantung pada halaman atau server;
- `scripts/integration-prompts.test.mjs`: pengujian Node lokal;
- `internal/httpapi/web/integration-state.js` dan `scripts/integration-state.test.mjs`: isolasi draf konfigurasi dan pembersihan hasil verifikasi lama;
- Panduan ini, paket integrasi tiap bahasa, contoh, dan petunjuk penerimaan.

Modul mengekspor `integrationTargets` dan `buildIntegrationPrompt(options)`. Opsi mencakup `language`, `appKind`, `platform`, `projectNotes`, `feature`, `merchantOrigin`, `environment`, dan `report` yang telah diverifikasi, serta mengembalikan `{ text, ready, title, code }`. Tanpa `report`, hanya draf yang dibuat; laporan tidak boleh dimanipulasi secara manual untuk melewati pemeriksaan konfigurasi publik.

Dalam alat pengembangan yang mendukung modul ES, draf lokal dapat dibuat dari direktori akar paket sumber:

```powershell
@'
import { readFile, writeFile } from 'node:fs/promises';
const source = await readFile('internal/httpapi/web/integration-prompts.js', 'utf8');
const { buildIntegrationPrompt } = await import(
  'data:text/javascript;base64,' + Buffer.from(source).toString('base64')
);
const prompt = buildIntegrationPrompt({
  language: 'python',
  appKind: 'desktop',
  platform: 'windows',
  projectNotes: 'Existing Python desktop application. Add account sign-in and protect report exports.',
  feature: 'export'
});
await writeFile('integration-prompt.md', prompt.text, 'utf8');
console.log(prompt.title);
'@ | node --input-type=module
```

Perintah ini hanya membuat draf yang belum dikonfigurasi dan tidak memanggil AI atau layanan lisensi. Untuk integrasi nyata, kembali ke instance Launch Anda, pilih perangkat lunak dan lingkungan yang ada, lalu buat ulang versi dengan konfigurasi publik.

Verifikasi generator lokal:

```powershell
node --test scripts/integration-prompts.test.mjs scripts/integration-state.test.mjs
```
