Version: 2019.1
サムスン Galaxy アプリケーション
Unity IAP Xiaomi インテグレーションガイド

CloudMoolah MOO Store

CloudMoolah MOO Store は、モバイルアプリケーションを売買することを可能にする商用サービスです。 また、ストアを通じて配布されるアプリケーション用のアプリ内購入 (IAP) サービスも提供します。ここでは、開発者のために、CloudMoolah MOO Store にパブリッシュするゲームに IAP サービスを加えるエンドツーエンドプロセスについて説明します。

MOO Store は、フィリピン、マレーシア、ベトナム、シンガポール、タイなどのアジア市場にサービスを提供しています。 ユーザーは、モバイル決済、銀行、コンビニエンスストアのプリペイドカードなどのさまざまな決済サービスプロバイダーを使用して、資金を調達できるデジタルウォレットを管理します。

Unity との互換性はありますが、CloudMoolah MOO Store は Unity プロダクトではありません。詳細は、CloudMoolah Developer Portal を参照してください。

ゲームをストアにパブリッシュし、ゲームに IAP を加えるワークフローの概要は以下のとおりです。

  • CloudMoolah Store 内でゲームをアプリケーションとして登録します
  • ストアにアイテム (購入してゲームに加える) を加えます
  • CloudMoolah Store の初期コードをゲームに加えます
  • インテグレーションをテストします
  • CloudMoolah Store にゲームをパブリッシュします

まず初めに

ゲームは Android アプリケーションとしてビルドされていなければなりません。 Android アプリケーションとしてビルドするための情報は、Android 開発を始める を参照してください。

CloudMoolah Store でゲームをアプリケーションとして登録するには、以下の手順を行います。

  1. CloudMoolah Developer Portal にサインインします

  2. App Listing をクリックします

CloudMoolah Store ダッシュボードメニュー
CloudMoolah Store ダッシュボードメニュー
  1. App Listing ページで CREATE NEW APP ボタンをクリックします
CloudMoolah CREATE NEW APP ボタン
CloudMoolah CREATE NEW APP ボタン
  1. App Detail ページで、以下の情報を入力します

    1. App Name に CloudMoolah Store でゲームを認識できる名前を入力します

    2. In BundelID に Unity エディターで使用するゲームのパッケージ名を入力します

    3. Currency Name にプレイヤーが IAP で使用する通貨名を入力します

    4. アプリケーションの初期コードに使用する HashKey を生成するには、HMAC/HashKey フィールドの隣の GENERATE をクリックします

    5. Notification HMAC フィールドで App ID を入力します。この値は初期化に使用されます。

    6. Save をクリックします

CloudMoolah 新規アプリケーション登録結果
CloudMoolah 新規アプリケーション登録結果

購入可能アイテムを加える

IAP とは、アプリケーション内でデジタルプロダクトとお金を交換するトランザクションです。プラットフォームのストアを通して、ユーザーはデジタルプロダクトを購入することが可能になります。これらのプロダクトには識別子 (通常は文字列データ型) があります。

CloudMoolah Developer ポータルに購入可能なアイテムを加えるには、以下の手順を行います。

  1. App Listing ページで View IAP をクリックします
CloudMoolah View IAP ボタン
CloudMoolah View IAP ボタン
  1. IAP Listing ページで CREATE NEW IAP ボタンをクリックします
CloudMoolah Create New IAP ボタン
CloudMoolah Create New IAP ボタン
  1. IAP Detail ページで以下の情報を入力します。

    1. ProductID フィールドにコードで使用する文字列の識別子を入力し、ゲーム内でのアイテム購入を可能にします

    2. Amount フィールドに、ゲームを登録したときに指定したデフォルトの通貨でアイテムの値段を入力します

    3. Product Name フィールドに、プロダクトの名前を入力します

    4. Product Description に、プロダクトの説明を入力します

CloudMoolah Create New IAP ボタン
CloudMoolah Create New IAP ボタン
  1. Save をクリックします

アイテムは IAP Listing ページに表示され、ゲーム内でそのアイテムを提供することができます。

IAP をゲームに加える

IAP をゲームに設定するには、以下の手順を行います。

  1. アプリケーションプロダクトの appKey と hashKey を MOO Store Developer Portal で確認し、後に使用するために保存しておきます。

CloudMoolah MOO Store をターゲットとするアプリケーションには、Unity IAP の初期化の前に、CloudMoolah の appKey と hashKey を設定する必要があります。これは、スクリプト API を通して IMoolahConfiguration を使用して 行います。これらの変数の値は、アプリケーションの CloudMoolah Developer ダッシュボードから収集します。

以下の例では、Unity IAP の初期化を設定して開始します。

using UnityEngine.Purchasing;
public class MyStore : IStoreListener
{
    public void InitializeStore()
    {
        var module = StandardPurchasingModule.Instance();
        var builder = ConfigurationBuilder.Instance(module);

        // CloudMoolah を設定
        builder.Configure<IMoolahConfiguration>().appKey = "d93f4564c41d463ed3d3cd207594ee1b";
        builder.Configure<IMoolahConfiguration>().hashKey = "cc";
        // Server-To-Server  (「オンライン」ゲーム とも呼ばれます) トランザクション
        //  IMoolahConfiguration.notificationURL を設定、開始
        builder.Configure<IMoolahConfiguration>().notificationURL = "https://gameserver.example.com/callback";
        builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.Production);
        // 購入可能なプロダクトを加えます。プロダクトはストアで定義されます。
        // Unity IAP は *ProductType* enumeration を提供し、購入可能なプロダクトの有効期間を指定します。
        // CloudMoolah はプロダクトタイプを Consumable (消費型) に限定します。 
        builder.AddProduct("100.gold.coins", ProductType.Consumable);

        // 非同期の IAP 初期化を開始
        UnityPurchasing.Initialize(this, builder);
    }
}
  1. Unity エディターで、Window > Unity IAP > Android > Target CloudMoolah の順に選択して Unity IAP Android のターゲットを CloudMoolah に設定します。これにより、CloudMoolah が IAP を処理する Android ストアとして設定されます。
エディターで CloudMoolah を有効にします
エディターで CloudMoolah を有効にします

初期化コード内でターゲットストアを設定するには、UnityPurchasingEditor.TargetAndroidStore 関数を呼び出します。

UnityPurchasingEditor.TargetAndroidStore(AndroidStore.CloudMoolah);

  1. ゲームから開発版ビルドではない署名した Android APK をビルドします。詳しくは、Android の開発を始める を参照してください。

注意: キーストアファイルの保管には特に注意をしてください。パブリッシュしたアプリケーションを更新するには、常に元のキーストアが必要です。

IAP の設定に関して、さらに詳しい情報は Unity IAP の設定Unity IAP の初期化Unity IAP をゲームに統合する を参照してください。

IAP のテスト

CloudMoolah MOO Store にテストを適用することができます。CloudMoolah MOO Store でゲームをテストするには、購入する前に IMoolahConfiguration.SetMode 関数を呼び出して、アプリケーションで開発者モードを有効にする必要があります。

ゲームのビルドでテストモードを設定すると、トランザクションはダミーのオフラインストアに対して処理されます。 これにより、プロダクトに関連する実際の金銭的な費用をかけずにアプリケーションの購買ロジックをテストすることができます。

ゲームの MOO Store テストモードを変更するには、ConfigurationBuilder インスタンスを作成し、以下の行を加えます。その後、アプリケーションをビルド、実行して IAP ロジックをテストします。

// テスト: すべてのトランザクションを自動許可
builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.AlwaysSucceed);

エラー処理をテストするには、すべてのトランザクションを失敗するようにテストモードを設定します。これを行うには、CloudMoolahMode.AlwaysFailed Enumeration を使用します。

builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.AlwaysFailed); // テスト: 常にすべてのトランザクションを失敗させます

ノート: テストが終了したら、開発者モードに設定する SetMode ステートメントを削除するか、CloudMoolahMode.Production Enumeration 値を使用するようパラメーターを変更します。こうすることにより、アプリケーションを使用するときに、ユーザーが現実のお金を支払うよう確実に設定できます。

実装例

Unity IAP のデフォルトのインテグレーションには、必須の CloudMoolah スクリプトAPI とオプションの CloudMoolah スクリプトAPI の一部を使用する方法を示す実装スクリプトの例が含まれています。

CloudMoolah 固有の例を表示するには、以下の手順を行います。

  1. 開発用マシンで IAP を使用可能にしたアプリケーションのフォルダーを開きます

  2. Assets/Plugins/UnityPurchasing/script フォルダーを開きます

  3. スクリプトフォルダーで IAPDemo.cs を開きます

この例では、IMoolahConfiguration API を呼び出して appKeyhashKey を設定する Awake 関数を実装します。これにより、 アプリケーションを CloudMoolah ストアサーバーに接続します。

IAPDemo.cs ファイルには、オプションの API 呼び出しを使用してテストモードを設定する方法と、機能を拡張してトランザクションの復元を加える方法も示されています。オプションの API の詳細については、CloudMoolah Developer Portal のウェブサイト を参照してください。


2018–03–07 限られた 編集レビュー で修正されたページ

サムスン Galaxy アプリケーション
Unity IAP Xiaomi インテグレーションガイド