DRMのメソッド、イベント、統合
本ドキュメントでは、Unity用プラグインで使用可能なDRMのメソッドとイベントの概要について説明します。また、開発作業を始める際に役立つ例も紹介します。
Unity用プラグインのDRMメソッド
リクエストを開始するには、メソッド呼び出しを使用します。イベントについては、この後のDRM関連データオブジェクトの表を参照してください。
戻り値の型 | メソッド | メソッドの概要 | イベント |
---|---|---|---|
void | VerifyLicense() | ライセンス/使用権限を取得するリクエストを開始します。 | なし |
RequestOutput | VerifyLicense() | ライセンス/使用権限を取得するリクエストを開始します。 | LicenseResponse |
DRM関連データオブジェクト
イベントオブジェクトについて、次の表で説明します。
オブジェクト | メンバー | 説明 |
---|---|---|
LicenseReponse | string requestId |
VerifyLicenseから返されたリクエストID。 |
string status |
アプリのライセンスステータス。LICENSED、NOT_LICENSED、EXPIRED、ERROR_VERIFICATION、ERROR_INVALID_LICENSING_KEYS、UNKNOWN_ERRORのいずれかが使用されます。詳細については、ライセンスステータスを参照してください。 |
ライセンスステータス
この機能は、Unity用プラグインでのみ使用できます。VerifyLicense()
を呼び出すと、次の表に定義されているいずれかのライセンスステータスがライセンスサービスから返されます。
ライセンスステータス | 説明 |
---|---|
LICENSED |
ユーザーは有効なライセンスを保有している。 |
NOT_LICENSED |
ユーザーは有効なライセンスを保有していない。このユーザーには、アプリを使用する権利がありません。 |
ERROR_VERIFICATION |
ライセンスの検証中にエラーが発生した。検証エラーの理由として、次の原因が考えられます。
|
ERROR_INVALID_LICENSING_KEYS |
ユーザーはライセンスキーを保有しているが、有効ではない。ライセンスキーが無効である理由として、次の原因が考えられます。
|
EXPIRED |
ユーザーのライセンスの有効期限が切れ、現在は無効になっている。ライセンスの有効期間は60日間です。30日後から、Amazonアプリストアは24時間ごとにライセンスの更新を試みます。 ユーザーのオフライン期間が60日を超えた場合は、有効期限が切れる前にAmazonアプリストアがライセンスを更新することはできません。ライセンスの有効期限が切れた場合、それ以降ユーザーはアプリを起動できなくなります。 ライセンスの有効期限が切れる理由としては、ほかにも次の原因が考えられます。
|
UNKNOWN_ERROR |
このステータスは、Amazon側の内部エラーを示します。 |
DRM APIのサンプルコード
Unityにおけるメソッドの呼び出しとイベントの処理に慣れていない場合は、Unityでメソッド呼び出しを開始する方法とUnityでイベントを処理する方法を参照してください。
VerifyLicense
VerifyLicense
は、ライセンスを検証するリクエストを開始します。これは非同期関数です。
using com.amazon.device.iap.cpt;
// プラグインとのやり取りに使用するオブジェクトを取得します
IAmazonIapV2 iapService = AmazonIapV2Impl.Instance;
// 入力なしで同期オペレーションを呼び出します
RequestOutput requestOutput = iapService.VerifyLicense();
LicenseReponse
新しいイベントハンドラーを追加し、LicenseResponseListener
に登録します。
using com.amazon.device.iap.cpt;
// プラグインとのやり取りに使用するオブジェクトを取得します
IAmazonIapV2 iapService = AmazonIapV2Impl.Instance;
// イベントハンドラーを定義します
void EventHandler(LicenseResponse response)
{
string staus = response.getStatus();
switch (status) {
case LICENSED:
Log.d(TAG, "LicenseResponseステータス: " + status);
break;
case NOT_LICENSED:
Log.d(TAG, "LicenseResponseステータス: " + status);
case EXPIRED:
Log.d(TAG, "LicenseResponseステータス: " + status);
break;
case ERROR_VERIFICATION:
Log.d(TAG, "LicenseResponseステータス: " + status);
case ERROR_INVALID_LICENSING_KEYS:
Log.d(TAG, "LicenseResponseステータス: " + status);
case UNKNOWN_ERROR:
Log.d(TAG, "LicenseResponseステータス: " + status);
}
// イベントハンドラーを登録します
iapService.AddLicenseResponseListener(EventHandler);
LicenseResponse
は、VerifyLicense
呼び出しのレスポンスを返します。