# Paket integrasi aplikasi Launch

Launch **0.1.6** menyertakan Licentivo SDK resmi **0.11.6** untuk seluruh **sembilan bahasa**. Instal hanya paket Launch untuk bahasa Anda. Implementasi, adaptor default, pemberitahuan lisensi, dan konfigurasi penautan SDK disertakan. Deklarasi TypeScript termasuk JavaScript; backend Web Go tepercaya adalah contoh tambahan. Sumber publik, perintah registry, dan ketersediaan per bahasa dipelihara di [repositori Launch SDK](https://github.com/spf86/licentivo-launch-sdk) dan [status publikasinya](https://github.com/spf86/licentivo-launch-sdk/blob/main/docs/registry-status.json).

Pembaruan 0.1.6 membawa perbaikan CMake C/C++ upstream untuk pengguna paket konfigurasi curl dan FindCURL. Protokol lisensi, API aplikasi, dan siklus hidup akun tidak berubah. Aplikasi yang ada dapat meningkatkan paket Launch dan membangun ulang tanpa mengubah kode integrasi. [Catatan publikasi 0.1.6](https://github.com/spf86/licentivo-launch-sdk/blob/main/docs/publication-0.1.6.md) melacak ketersediaan publik dan verifikasi instalasi bersih secara terpisah dari build lokal.

| Bahasa | Satu artefak Launch | Sumber paket / panduan API |
| --- | --- | --- |
| Go | ZIP modul mandiri | [pkg/launchclient](https://github.com/spf86/licentivo-launch/blob/main/pkg/launchclient/README.md) |
| Python | licentivo_launch-0.1.6-py3-none-any.whl | [sdk/python](https://github.com/spf86/licentivo-launch/blob/main/sdk/python/README.md) |
| C# / .NET 8 | Licentivo.Launch.0.1.6.nupkg | [sdk/csharp](https://github.com/spf86/licentivo-launch/blob/main/sdk/csharp/README.md) |
| Java 17 | launch-client-0.1.6.jar dan POM | [sdk/java](https://github.com/spf86/licentivo-launch/blob/main/sdk/java/README.md) |
| JavaScript / Node.js | licentivo-launch-0.1.6.tgz | [sdk/javascript](https://github.com/spf86/licentivo-launch/blob/main/sdk/javascript/README.md) |
| Rust | licentivo-launch-0.1.6.crate atau ZIP sumber | [sdk/rust](https://github.com/spf86/licentivo-launch/blob/main/sdk/rust/README.md) |
| Ruby | Gem platform Launch atau gem sumber | [sdk/ruby](https://github.com/spf86/licentivo-launch/blob/main/sdk/ruby/README.md) |
| C | ZIP instalasi CMake native Launch | [sdk/native](https://github.com/spf86/licentivo-launch/blob/main/sdk/native/README.md) |
| C++ | Arsip native yang sama, API C++17 | [sdk/native](https://github.com/spf86/licentivo-launch/blob/main/sdk/native/README.md) |

## Instal dari registry publik

Pemeriksaan instalasi publik 0.1.6 lulus untuk semua sembilan bahasa: Go, Python, C#, Java, Node.js/TypeScript, Rust, Ruby, C dan C++. Perintah registry dan unduhan native di bawah tersedia untuk publik dan telah diverifikasi pada konsumen independen. Status publikasi mencatat checksum paket yang tepat, hasil instalasi, dan batas platform.

```sh
go get github.com/spf86/licentivo-launch-sdk/pkg/launchclient@v0.1.6
python -m pip install licentivo-launch==0.1.6
npm install @licentivo/launch@0.1.6
dotnet add package Licentivo.Launch --version 0.1.6
cargo add licentivo-launch@=0.1.6
gem install licentivo-launch --version 0.1.6
```

Java menggunakan koordinat Maven/Gradle `com.licentivo.launch:launch-client:0.1.6`.
C/C++ menggunakan arsip native yang kompatibel ABI dari [rilis GitHub berversi](https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6).
Lihat status publikasi untuk propagasi registry dan hasil verifikasi.

## Instal distribusi yang diunduh

Gunakan artefak yang ditentukan dalam integration-packages.json. Setiap bahasa mencatat sdk_managed: true dan requires_separate_official_sdk: false. Verifikasi SHA256SUMS sebelum instalasi.

```powershell
python -m pip install ./licentivo_launch-0.1.6-py3-none-any.whl
npm install ./licentivo-launch-0.1.6.tgz
dotnet add YOUR_PROJECT package Licentivo.Launch --version 0.1.6 --source YOUR_LOCAL_FEED
gem install --local ./licentivo-launch-0.1.6-x64-mingw-ucrt.gem
```

Java hanya menggunakan JAR Launch pada classpath-nya; POM tidak memiliki dependensi SDK resmi. Konsumen Go offline dapat mengekstrak ZIP modul dan menggunakan require/replace lokal untuk `github.com/spf86/licentivo-launch-sdk`. Konsumen Rust offline dapat mengekstrak crate atau ZIP sumber dan menambahkan dependensi path licentivo-launch lokal. Paket atau checkout SDK resmi tidak diperlukan.

Untuk C/C++, ekstrak ZIP instalasi native, tambahkan prefix-nya ke CMake, dan gunakan:

```cmake
find_package(LicentivoLaunch CONFIG REQUIRED)
add_executable(myapp main.c)
licentivo_launch_link(myapp)
# C++17 target: licentivo_launch_link(myapp CXX)
```

Launch menyelesaikan SDK-nya sendiri, pustaka transitif, dan DLL Windows yang disertakan. build.rs Rust mengompilasi inti C yang disematkan dan menyalin DLL yang disertakan di samping executable Cargo. Gem platform Ruby menyertakan inti native privat dan pustaka runtime; gem sumber mengompilasi inti secara otomatis.

Toolchain bahasa normal dan dependensi biasa tetap berlaku: pip menyelesaikan cryptography, NuGet menyelesaikan BouncyCastle.Cryptography, dan Cargo menyelesaikan crate Rust biasa. Arsip native mencakup Windows amd64 GNU dan Linux amd64. Distribusi Windows menyertakan curl. Sistem operasi lain menggunakan sumber lengkap dengan compiler C11 dan pustaka pengembangan curl/OpenSSL OS biasa. Inti native Windows SDK 0.11.6 memerlukan GNU/MinGW.

## Inisialisasi aplikasi

Pilih perangkat lunak yang ada di Launch. Launch otomatis membaca URL pedagang saat ini, pemetaan paket/produk yang ada, dan kunci publik penandatanganan resmi, lalu menyediakan fungsi koneksi yang telah diisi. Salin fungsi ini ke aplikasi; tidak perlu memasukkan ID internal secara manual atau membuat file konfigurasi. Startup server tetap menggunakan config.yaml privat, yang tidak pernah didistribusikan bersama aplikasi.

Gunakan titik masuk paket, seperti launchclient.Connect, Python Application.connect, C# Application.Connect, atau Node Application.connect. Factory bawaan membuat dan mengelola SDK. Factory kustom adalah hook pengujian/integrasi opsional, bukan langkah instalasi. API yang tepat ada di README dan contoh setiap paket.

Launch menangani login akun, kredensial bercakupan, percobaan ulang tertunda yang dibatasi, dan pemulihan. SDK yang disematkan memverifikasi tanda tangan dan mengotorisasi setiap operasi yang dilindungi. Penutupan biasa, logout, dan pelepasan perangkat tetap berbeda. Aplikasi Web memeriksa izin pada backend tepercaya; kode Node/Electron berada dalam proses utama atau server.

Petunjuk pengembangan manual tetap ada di [manual-integration.md](/id/launch-documents/manual-integration/) dan README setiap bahasa. Halaman integrasi AI administrasi menghasilkan instruksi bahasa Inggris untuk alur inisialisasi langsung yang sama. Instruksi tidak menyertakan kata sandi, kunci manajemen, dan kredensial runtime pelanggan/perangkat serta tidak memanggil layanan AI. Lihat [Integrasi AI](/id/launch-documents/ai-integration/).

## Bangun distribusi sebagai maintainer

Hanya maintainer yang memperbarui SDK yang disematkan yang memerlukan sumber upstream yang ditinjau. Konsumen melewati bagian ini.

```powershell
./scripts/prepare-examples.ps1 -Source 'C:\path\to\reviewed-sdk\sdk'
./scripts/build-integration-packages.ps1 -Output artifacts/NEW_DIRECTORY -BuildRustCrate -BuildNative -CurlRoot PATH_TO_CURL -CCompiler PATH_TO_GCC
```

Berikan path alat dengan -Python, -DotNet, -JavaHome, -Ruby, -Cargo, dan -CMake sesuai kebutuhan. Builder memverifikasi manifest upstream, kemudian prepare-managed-sdk.mjs menyematkan sumber dan mencatat nilai SHA-256 sumber/tujuan dalam sdk/managed-sdk-manifest.json. Lokasi/impor modul berubah bila diperlukan; verifikasi kriptografis tetap berada dalam implementasi yang ditinjau. Lisensi dan pemberitahuan MIT menyertai setiap salinan yang disematkan.

Setiap build membuat direktori baru dengan artefak per bahasa, arsip sumber, bundel sumber gabungan, inventaris, dan checksum. -SourceOnly secara eksplisit menghasilkan artefak sumber; target yang dilewati bukan rilis biner yang diuji. Bundel gabungan mempertahankan path paket, contoh, dokumentasi, dan pengujian tanpa memerlukan examples/vendor.

## Verifikasi instalasi dan perilaku

scripts/test-managed-installations.ps1 menginstal distribusi ke proyek konsumen baru. Skrip memverifikasi semua sembilan target tanpa paket SDK resmi terpisah, path sumber SDK, adaptor yang disalin, atau konfigurasi tautan SDK manual. Skrip mengompilasi dan menjalankan cuplikan koneksi langsung yang dihasilkan secara tepat, termasuk data publik yang di-escape, dan melaporkan configuration_files_required: false. Laporannya terpisah dari suite runtime.

scripts/test-integration-packages.ps1 menjalankan regresi siklus hidup dan fixture SDK nyata bertanda tangan lokal. Berikan path alat dan build pengujian native yang telah dikonfigurasi:

```powershell
./scripts/test-integration-packages.ps1 -Python python -DotNet dotnet -JavaHome $env:JAVA_HOME -Ruby ruby -Cargo cargo -NativeBuildDirectory .cache/launch-native-build
```

Build sumber repositori menggunakan dependensi native OS biasa; maintainer Windows dapat menyediakan LICENTIVO_CURL_ROOT. Ini adalah pengaturan alat build sumber, bukan instalasi SDK terpisah. Dengan instalasi MinGW Rust/C++ yang berbeda, -NativeRuntimeDirectories membatasi direktori DLL C++ untuk pemeriksaan native. Prasyarat yang hilang menyebabkan target terkait gagal. all_nine_passed memerlukan semua sembilan pemeriksaan lulus.

## Penyimpanan dan penerimaan

Sesi default disimpan dalam memori. Login yang diingat memerlukan penyimpanan terlindungi. Penyimpanan AES-GCM memerlukan kunci 32 byte yang diperoleh dari vault OS dan tidak pernah disimpan di samping ciphertext. Kata sandi tidak pernah disimpan secara persisten. Go, Python, C#, dan native C/C++ menyediakan DPAPI pengguna Windows saat ini; Java, Node, Rust, dan Ruby menyediakan penyimpanan terenkripsi dengan kunci yang dikelola pemanggil.

File perangkat SDK mempertahankan format upstream-nya. Enkripsi sesi tidak mengenkripsi setiap file SDK. Batasi direktori cache akun/produk/lingkungan bercakupan dan kecualikan dari installer, log, dan kontrol versi. Perubahan identitas/konfigurasi tidak dapat menggunakan kembali cache akun lain.

Penolakan sesi/hak eksplisit tidak dapat fallback ke offline. Hanya kegagalan transport atau HTTP 5xx yang dapat menggunakan grant yang ada, telah diverifikasi secara kriptografis, dan masih dalam kebijakan yang ditandatangani. Aktivasi pertama, kursi floating, dan kebijakan yang melarang operasi offline tetap mempertahankan persyaratan koneksi.

Laporan lokal tidak pernah membuktikan pembayaran nyata, penerbitan, atau aktivasi eksternal. Lingkungan tersebut ditangguhkan; lihat [acceptance.md](/id/launch-documents/acceptance/). Publikasi registry dan kualifikasi rilis non-Windows memerlukan pekerjaan dan bukti terpisah.
