跳到正文
返回 Launch 文件

下載 MarkdownGitHub 原始文件

Launch 應用接入包

Launch 0.1.6 為全部九種語言內置官方 Licentivo SDK 0.11.6。只安裝所用語言的 Launch 包,已包含實現、預設適配器、許可證聲明和 SDK 鏈接配置。TypeScript 聲明屬于 JavaScript;受信 Go Web 后端是額外示例。公開源碼、注冊表安裝命令和各語言可用狀態維護在 Launch SDK 倉庫及其發布狀態中。

0.1.6 更新包含上游 C/C++ CMake 對 curl 配置包和 FindCURL 使用方的修復。授權協議、應用 API 和帳號生命周期不變。現有應用可升級 Launch 包并重新構建,無需改變接入代碼。0.1.6 發布記錄分別記錄公開可用狀態、干凈安裝驗證和本地構建。

語言 單一 Launch 交付包 包源碼 / API 指南
Go 自包含模塊 ZIP pkg/launchclient
Python licentivo_launch-0.1.6-py3-none-any.whl sdk/python
C# / .NET 8 Licentivo.Launch.0.1.6.nupkg sdk/csharp
Java 17 launch-client-0.1.6.jar 和 POM sdk/java
JavaScript / Node.js licentivo-launch-0.1.6.tgz sdk/javascript
Rust licentivo-launch-0.1.6.crate 或源碼 ZIP sdk/rust
Ruby 對應平臺的 Launch gem 或源碼 gem sdk/ruby
C Launch 原生 CMake 安裝 ZIP sdk/native
C++ 同一原生壓縮包,C++17 API sdk/native

從公開注冊表安裝

0.1.6 的九種語言公開安裝檢查均通過:Go、Python、C#、Java、Node.js/TypeScript、Rust、Ruby、C 和 C++。下列注冊表命令與原生下載均已公開,并在獨立使用方項目中驗證。發布狀態記錄精確的包校驗值、安裝結果和平臺限制。

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 使用 Maven/Gradle 坐標 com.licentivo.launch:launch-client:0.1.6。 C/C++ 使用對應版本的 GitHub 發布包中兼容 ABI 的原生壓縮包。 注冊表傳播和驗證結果參見發布狀態。

安裝已下載的分發包

使用 integration-packages.json 標識的交付包。各語言均記錄 sdk_managed: true 和 requires_separate_official_sdk: false。安裝前驗證 SHA256SUMS。

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 的 classpath 只使用 Launch JAR;其 POM 不依賴官方 SDK。Go 離線使用方可解壓模塊 ZIP,為 github.com/spf86/licentivo-launch-sdk 設置本地 require/replace。Rust 離線使用方可解壓 crate 或源碼 ZIP,并添加本地 licentivo-launch 路徑依賴。不需要官方 SDK 包或源碼檢出。

C/C++ 應解壓原生安裝 ZIP,將其前綴加入 CMake,并使用:

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

Launch 自行解析其 SDK、傳遞依賴和隨包 Windows DLL。Rust 的 build.rs 編譯內置 C 核心,并將隨包 DLL 復制到 Cargo 可執行文件旁。Ruby 平臺 gem 包含私有原生核心和運行庫;源碼 gem 會自動編譯核心。

仍需正常的語言工具鏈和普通依賴:pip 解析 cryptography,NuGet 解析 BouncyCastle.Cryptography,Cargo 解析普通 Rust crate。原生壓縮包覆蓋 Windows amd64 GNU 和 Linux amd64。Windows 分發包包含 curl。其他操作系統使用完整源碼、C11 編譯器和系統常規 curl/OpenSSL 開發庫。SDK 0.11.6 的 Windows 原生核心要求 GNU/MinGW。

初始化應用

在 Launch 中選擇已有軟體。系統自動讀取當前商戶 URL、已有套餐與產品映射及官方簽名公鑰,提供已填充的連接函數。將此函數復制到應用中,無需手填內部 ID 或生成配置文件。服務端啟動仍使用私有 config.yaml,絕不能隨應用發布。

使用包入口,如 launchclient.Connect、Python Application.connect、C# Application.Connect 或 Node Application.connect。內置工廠創建并管理 SDK。自定義工廠只是可選的測試或接入擴展鉤子,不是安裝步驟。精確 API 見各包 README 和示例。

Launch 處理帳號登錄、限定范圍憑據、有界的待處理重試和恢復。內置 SDK 驗證簽名并授權每次受保護操作。普通關閉、帳號退出和設備釋放保持不同。Web 應用在受信后端檢查權限;Node/Electron 代碼放在主進程或服務端進程。

手動開發說明仍位于 manual-integration.md 和各語言 README。后臺 AI 接入頁為同一直接初始化流程生成英文說明,不包含密碼、管理密鑰和運行時客戶或設備憑據,也不會調用 AI 服務。參見 AI 接入。

維護者構建分發包

只有更新內置 SDK 的維護者才需要經審核的上游源碼。使用方可跳過此節。

./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

按需通過 -Python、-DotNet、-JavaHome、-Ruby、-Cargo 和 -CMake 提供工具路徑。構建器驗證上游清單,隨后 prepare-managed-sdk.mjs 內置源碼,并在 sdk/managed-sdk-manifest.json 中記錄來源與目標 SHA-256。必要時調整模塊位置和導入路徑;加密驗證仍由經審核的實現負責。每份內置副本均附帶 MIT 許可證和聲明。

每次構建創建新目錄,包含各語言交付包、源碼壓縮包、合并源碼包、清單和校驗值。-SourceOnly 明確只生成源碼交付物;跳過的目標不能視為經過測試的二進制發行版。合并包保留包、示例、文件和測試路徑,無需 examples/vendor。

驗證安裝和行為

scripts/test-managed-installations.ps1 將分發包安裝到全新的使用方項目。驗證全部九種目標,無需獨立官方 SDK 包、SDK 源碼路徑、手動復制適配器或配置 SDK 鏈接。編譯并執行精確生成的直接連接代碼,包括經過轉義的公開資料,并報告 configuration_files_required: false。其報告與運行時測試套件獨立。

scripts/test-integration-packages.ps1 運行生命周期回歸及本地簽名的真實 SDK 測試夾具。提供工具路徑和已配置的原生測試構建:

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

倉庫源碼構建使用系統常規原生依賴;Windows 維護者可提供 LICENTIVO_CURL_ROOT。這是源碼構建工具設置,不是單獨安裝 SDK。Rust/C++ 使用不同 MinGW 安裝時,-NativeRuntimeDirectories 將 C++ DLL 目錄限定于原生檢查。缺少前置條件時,對應目標失敗。all_nine_passed 要求九項檢查全部通過。

存儲與驗收

會話預設只存內存。記住登錄要求受保護的存儲。AES-GCM 存儲要求從操作系統保險庫取得 32 位元組密鑰,絕不能與密文放在一起。密碼從不持久保存。Go、Python、C# 和原生 C/C++ 提供 Windows 當前用戶 DPAPI;Java、Node、Rust 和 Ruby 提供由調用方管理密鑰的加密存儲。

SDK 設備文件保留上游格式。會話加密不代表全部 SDK 文件都被加密。限制按帳號、產品和環境分隔的快取目錄訪問,并從安裝包、日志和版本管理中排除。身份或配置改變后,不能復用另一帳號的快取。

明確的會話或權益拒絕不能離線回退。只有傳輸失敗或 HTTP 5xx 才可在簽名策略范圍內使用已通過加密驗證的現有授權。首次激活、浮動席位和禁止離線的策略仍要求聯網。

本地報告絕不證明真實付款、簽發或外部激活。該環境已延期,參見 acceptance.md。注冊表發布和非 Windows 發行版驗收需要獨立工作與證據。