Version: 2017.3
レシート検証
Android アプリ内課金 (IAP) ストアにおける、ストア間を横断してプロダクトをインストールする場合の問題

ストアの拡張

ストアでは、クロスプラットフォームに対応した通常の課金フローに組み込めない追加(独自)機能を提供することがあります。Unity IAP の初期化に成功すると、引数として得られる IExtensionProvider を介して拡張機能にアクセスすることができます。

拡張機能を使用するときは、プラットフォームに依存したコンパイルを行う必要はなく、各拡張機能の内部でどのプラットフォームでも動作するようにフェイクのノーオペレーション実装が行われています。

例えば、Apple が提供している Apple サーバーからアプリレシートをリフレッシュする RefreshReceipt には以下のコードでアクセスします。これはさまざまな Unity IAP プラットフォームでコンパイルすることができ、Android のような Apple のプラットフォーム以外では、Lambdaで書かれたコードは実行されないことを意味します。

/// <summary>
/// Unity IAP が購入可能なときに呼び出されます
/// </summary>
public void OnInitialized (IStoreController controller, IExtensionProvider extensions)
{
    extensions.GetExtension<IAppleExtensions> ().RefreshAppReceipt (result => {
        if (result) {
            // Refresh が問題なく終了しました。
        } else {
            // Refresh が失敗しました。
        }
    });
}

レシート検証
Android アプリ内課金 (IAP) ストアにおける、ストア間を横断してプロダクトをインストールする場合の問題
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961