CloudMoolah MOO Store は、モバイルアプリケーションを売買することを可能にする商用サービスです。 また、ストアを通じて配布されるアプリケーション用のアプリ内購入 (IAP) サービスも提供します。ここでは、開発者のために、CloudMoolah MOO Store にパブリッシュするゲームに IAP サービスを加えるエンドツーエンドプロセスについて説明します。
MOO Store は、フィリピン、マレーシア、ベトナム、シンガポール、タイなどのアジア市場にサービスを提供しています。 ユーザーは、モバイル決済、銀行、コンビニエンスストアのプリペイドカードなどのさまざまな決済サービスプロバイダーを使用して、資金を調達できるデジタルウォレットを管理します。
Unity との互換性はありますが、CloudMoolah MOO Store は Unity プロダクトではありません。詳細は、CloudMoolah Developer Portal を参照してください。
ゲームをストアにパブリッシュし、ゲームに IAP を加えるワークフローの概要は以下のとおりです。
ゲームは Android アプリケーションとしてビルドする必要があります。Android アプリとしてビルドする方法については、Unity の Android ドキュメントを参照してください。
CloudMoolah Store でゲームをアプリケーションとして登録するには、以下の手順を行います。
CloudMoolah Developer Portal にサインインします
App Listing をクリックします
App Detail ページで、以下の情報を入力します
App Name に CloudMoolah Store でゲームを認識できる名前を入力します
In BundelID に Unity エディターで使用するゲームのパッケージ名を入力します
Currency Name にプレイヤーが IAP で使用する通貨名を入力します
アプリケーションの初期コードに使用する HashKey を生成するには、HMAC/HashKey フィールドの隣の GENERATE をクリックします
Notification HMAC フィールドで App ID を入力します。この値は初期化に使用されます。
Save をクリックします
IAP とは、アプリケーション内でデジタルプロダクトとお金を交換するトランザクションです。プラットフォームのストアを通して、ユーザーはデジタルプロダクトを購入することが可能になります。これらのプロダクトには識別子 (通常は文字列データ型) があります。
CloudMoolah Developer ポータルに購入可能なアイテムを加えるには、以下の手順を行います。
IAP Detail ページで以下の情報を入力します。
ProductID フィールドにコードで使用する文字列の識別子を入力し、ゲーム内でのアイテム購入を可能にします
Amount フィールドに、ゲームを登録したときに指定したデフォルトの通貨でアイテムの値段を入力します
Product Name フィールドに、プロダクトの名前を入力します
Product Description に、プロダクトの説明を入力します
アイテムは IAP Listing ページに表示され、ゲーム内でそのアイテムを提供することができます。
IAP をゲームに設定するには、以下の手順を行います。
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);
}
}
初期化コード内でターゲットストアを設定するには、UnityPurchasingEditor.TargetAndroidStore 関数を呼び出します。
UnityPurchasingEditor.TargetAndroidStore(AndroidStore.CloudMoolah);
注意: キーストアファイルの保管には特に注意をしてください。パブリッシュしたアプリケーションを更新するには、常に元のキーストアが必要です。
IAP の設定に関して、さらに詳しい情報は Unity IAP の設定、Unity IAP の初期化、Unity 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 固有の例を表示するには、以下の手順を行います。
開発用マシンで IAP を使用可能にしたアプリケーションのフォルダーを開きます
Assets/Plugins/UnityPurchasing/script フォルダーを開きます
スクリプトフォルダーで IAPDemo.cs を開きます
この例では、IMoolahConfiguration
API を呼び出して appKey
と hashKey
を設定する Awake
関数を実装します。これにより、 アプリケーションを CloudMoolah ストアサーバーに接続します。
IAPDemo.cs ファイルには、オプションの API 呼び出しを使用してテストモードを設定する方法と、機能を拡張してトランザクションの復元を加える方法も示されています。オプションの API の詳細については、CloudMoolah Developer Portal のウェブサイト を参照してください。
2018–03–07 Page amended