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

ストアの拡張

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

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

例えば、以下のコードは Apple 提供の RefreshReceipt を利用して、Apple サーバーからアプリレシートをリフレッシュします。これは任意の Unity IAP プラットフォームでコンパイルすることができ、Android のような Apple 以外のプラットフォームではラムダ式は実行されません。

/// <summary>
/// Called when Unity IAP is ready to make purchases.
/// </summary>
public void OnInitialized (IStoreController controller, IExtensionProvider extensions)
{
    extensions.GetExtension<IAppleExtensions> ().RefreshAppReceipt (result => {
        if (result) {
            // Refresh finished successfully.
        } else {
            // Refresh failed.
        }
    });
}
レシート検証
Android アプリ内課金 (IAP) ストアにおける、ストア間を横断してプロダクトをインストールする場合の問題