Unity中使用 ALC SDK V2

概要

ONE store APP授權驗證元件是支援在Unity環境中擴展assets以便輕鬆收費之應用程式購買驗證的元件。 下方說明在項目中設定與使用元件之方法,以及實現ONE store應用程式授權驗證Library功能的方法。

ONE store 應用程式授權驗證元件設定

下載並獲取元件

  1. ONE store SDK 示範GitHub的Release 頁面(連結)中,下載適用Unity的最新版本的 ONE store ALC支付元件。

  2. Unity選單中,點選 Assets > Import Package > Custom Package

  3. 找到ONE store SDK 元件的檔案位置,選擇.unitypackage 檔案

  4. Import Package 對話框中,選擇所有 assets 後點選 Import.

導入包體時新增資料夾。該資料查包含應用程式授權驗證Library。

  • Assets > OneStoreCorpPlugins 資料夾

Build設定

以下兩種情況,請參考ONE store 公告進行設定

使用Unity Player 設定,新增下列選項

  • Custom Main Manifest

  • Custom Main Gradle Template

  • Custom Launcher Gradle Template

Assets > Plugins > Android 資料夾中建立檔案。

遊戲中套用ONE store ALC(Application License Checker) Library

複製ONE store授權金鑰

在ONE store APP商品狀態中進入授權管理選單。使用 ALC 需要授權金鑰。 透過複製ONE store 開發者中心提供的應用程式的授權金鑰來創建 ALC 對象。

呼叫Initialize()函數進行基本設定,透過ILicenseCheckCallback 埠接收驗證結果Event。。 以下操作是連接到ONE store 服務和請求應用程式授權驗證之先決條件。

請求授權驗證

呼叫授權驗證時,透過與 ONE store 伺服器的通訊傳送授權。使用者因網路發生故障或飛航模式等元印無法正常造訪ONE store伺服器時,一般採用緩存快取策略,以確保換存快取License有效期限內的正常運作。 如果不想使用緩存快取策略,則可透過 strictQueryLicense API 不使用緩存快取的授權。

呼叫QueryLicense API (Cached API)

偕同緩存快取策略操作。 一般情况下,透過ONE store伺服器接收使用者購買紀錄的License,但因網路發生故障或飛航模式等原因導致無法造訪ONE store伺服器時,使用緩存快取的License以確保有效期限內的正常運作。


using OneStore.Alc;

class YourCallback: ILicenseCheckCallback
{
// ILicenseCheckCallback implementations.
public void OnGranted(string license, string signature) { }
public void OnDenied() {}
public void OnError(int code, string message)
}

_appLicenseCheckerImpl.QueryLicense();

呼叫StrictQueryLicense API (Non-Cached API)

不使用緩存快取的授權。 如果在網路發生故障或飛航模式下使用該 API, 因無法造訪 ONE store伺服器,使用者無法使用應用程式 。


using OneStore.Alc;

class YourCallback: ILicenseCheckCallback
{
// ILicenseCheckCallback implementations.
public void OnGranted(string license, string signature) { }
public void OnDenied() {}
public void OnError(int code, string message)
}

_appLicenseCheckerImpl.StrictQueryLicense();

中斷連接

呼叫AppLicenseChecker的destroy函數,中斷ONE store服務連接


using OneStore.Alc;

_appLicenseCheckerImpl.Destroy();

Last updated