Economy v2、Unity、Android を使い始める
Economy v2 が一般提供 (GA) されました。サポートとフィードバックについては、PlayFab フォーラム を参照してください。
始める前に
Android Billing API と PlayFab は連携して、クライアントに IAP エクスペリエンスを提供します。 まず、PlayMarket を介して Product ID と 価格 を設定します。最初は、すべての製品は 無記名 です。プレイヤーが購入できるデジタル エンティティですが、PlayFab プレイヤーにとって意味を持ちません。 これらのエンティティを役立たせるには、PlayFab のアイテム カタログでミラーリングする必要があります。PlayFab は、無記名のエンティティをバンドル、コンテナ、および個々のアイテムに変えます。 それぞれに独自の顔があり、次を持ちます。- タイトル
- 説明
- タグ
- タイプ
- 画像
- 動作
クライアント アプリケーションのセットアップ
このセクションでは、PlayFab、UnityIAP、Android Billing API を使用して IAP をテストするようにアプリケーションを構成する方法を説明します。 前提条件:- Unity プロジェクト。
- PlayFab Unity SDK がインポートされ、タイトルで動作するように構成されている。
- Visual Studio などのエディターがインストールされ、Unity プロジェクトで動作するように構成されている。
- Services に移動します。
- Services タブが選択されていることを確認します。
- Unity Services プロファイルまたは組織を選択します。
- Create ボタンを選択します。
- 次に、In-App Purchasing (IAP) サービスに移動します。
- Simplify cross-platform IAP トグルを設定して、サービス を有効にしていることを確認します。
- 次に Continue ボタンを選択します。
- Import ボタンを選択します。
- プラグインが所定の場所にあることを確認します。
- 次に、AndroidIAPExample.cs という新しいスクリプトを作成します。
AndroidIAPExample.cs (詳細についてはコードのコメントを参照してください)。
- Code という新しい GameObject を作成します。
AndroidIAPExampleコンポーネントを追加します (クリック アンド ドラッグ、または)。- シーンを Save することを確認してください。
- Scenes In Build エリアにシーンが追加されていることを確認します。
- Android プラットフォームが選択されていることを確認します。
- Player Settings エリアに移動します。
- Package Name を割り当てます。
PlayMarket の衝突を避けるために、必ず 独自の パッケージ名を考えてください。
IAP 用の PlayMarket アプリケーションのセットアップ
このセクションでは、PlayMarket アプリケーションで IAP を有効にする方法の詳細について説明します。アプリケーション自体のセットアップはこのチュートリアルの範囲外です。すでにアプリケーションを持ち、少なくとも Alpha リリースを公開するように構成されていることを前提とします。
- そのポイントに到達するには、APK をアップロードする必要があります。前のセクションで構築した APK を使用します。
- IAP サンドボックスを有効にするには、APK を Alpha または Beta アプリケーションとしてアップロードします。
- Content Rating の構成には、アプリケーションで IAP がどのように有効になっているかについての質問が含まれます。
- PlayMarket は、パブリッシャーが IAP を使用またはテストすることを 許可しません。テスト目的で 別の Google アカウントを選び、Alpha/Beta ビルドのテスターとして追加してください。
- アプリケーション ビルドを公開します。
- メニューから In-app products を選択します。
- Merchant Account の入力を求められた場合は、リンクまたは作成します。
- Add New Product ボタンを選択します。

- 新製品画面で Managed Product を選択します。
100diamondsのような説明的な Product ID を与えます。- Continue を選択します。

- PlayMarket では、たとえば
100 DiamondsやA pack of 100 diamonds to spend in-gameのような Title (1) と Description (2) を入力する必要があります。Data Item のデータは PlayFab サービスからのみ取得され、ID が一致することのみが必要です。
- さらにスクロールし、Add a price ボタンを選択します。

- “$0.99” のような有効な価格を入力します (価格が国/地域ごとに個別に変換されることに注目してください)。
- Apply ボタンを選択します。

- 最後に、画面の一番上まで戻り、アイテムのステータスを Active に変更します。

- PlayFab を PlayMarket とリンクするために Licensing Key を保存します。
- メニューの Services & APIs に移動します。
- 次に、キー の Base64 バージョンを探して保存します。
- Home に移動します。
- 左側のメニューで Account details を見つけて選択します。
- License Testing エリアを探します。
- Test Accounts がリストにあることを確認します。
- License Test Response が RESPOND_NORMALLY に設定されていることを確認します。
PlayFab タイトルのセットアップ
最後のステップは、製品を反映し、Google Billing API と統合するように PlayFab タイトルを構成することです。- Add-ons を選択します。
- 次に、Google アドオンを選択します。
- Package ID を入力します。
- 前のセクションで取得した Google App License Key を入力します。
- Install Google ボタンを選択して変更をコミットします。
Game Manager
- 新しい Economy Catalog (V2) の Currency を作成します。
- Title を編集し、Description を追加します - たとえば
Diamonds、Our in-game currency of choice.。 - 通貨を見つけやすくするために Friendly ID を追加します:
diamonds。 - 変更を完了するために Save and publish を選択します。
- Currency リストで通貨を確認します。
- 次に、新しい Economy Catalog (V2) のバンドルを作成します。
- Title を編集し、Description を追加します - たとえば
100 Diamonds Bundle、A pack of 100 diamonds to spend in-game.。
このデータは Play Market のアイテム タイトルと説明 とは 無関係 で、独立していることに注意してください。
- Content type を使用してバンドルを整理できます - たとえば
appstorebundles。Content type は ⚙️ > Title Settings > Economy (V2) で管理されます。 - Display properties にローカライズされた価格を追加することで、実際の価格を追跡します。
- バンドルに新しいアイテムを追加します。フィルターで Currencies を選択し、前のセットで作成した通貨を選択します。このバンドルで販売する通貨の量に合わせて Quantity を設定します。
- “GooglePlay” マーケットプレイス用に新しい Platform を追加します。まだ GooglePlay マーケットプレイスがない場合は、Economy Settings ページで作成できます。Marketplace ID を、前のセクションで作成した Google Play Console の Product ID と一致するように設定します。
- 変更を完了するために Save and publish を選択します。
- Bundles リストでバンドルを確認します。
REST API
次に、ゲーム内 NPC ベンダーを表す PlayFab ストアで、プレイヤーが通貨を使えるゲーム内購入を設定できます。
Game Manager
- 新しい Economy Catalog (V2) の Item を作成します。
- Title を編集し、Description を追加します - たとえば “Golden Sword”、“A sword made of gold.”。
- プレイヤーがストアでアイテムを見つけやすくするために、ローカライズされたキーワードを追加できます。API 経由での後の取得のためにアイテムを整理するために Tag と Content type を追加します。アーマー値、アート アセットへの相対パス、またはゲームで格納する必要のあるその他のデータを格納するために Display Properties を使用します。
- 新しい価格を追加し、前のステップで作成した通貨を選択します。デフォルトで設定したい価格に Amount を設定します。後で作成する任意のストアで価格を上書きできます。
- 変更を完了するために Save and publish を選択します。
- Items リストでアイテムを確認します。
- 最後に、新しい Economy Catalog (V2) の Store を作成します。
- Title を編集し、Description を追加します - たとえば
Villager Store、A humble store run by a humble villager.。 - 取得を容易にするために Friendly ID を与えます。たとえば
villagerstore。 - 前のステップで作成したアイテムをストアに追加します。ストアには複数のアイテムを追加でき、必要に応じてデフォルト価格を上書きできます。
- 変更を完了するために Save and publish を選択します。
- Stores リストでストアを確認します。
REST API
これで PlayFab タイトルのセットアップが完了しました。
テスト
テスト目的のために、Alpha/Beta リリースを使用してアプリをダウンロードします。- テスト アカウントと実際の Android デバイスを必ず使用してください。
- アプリを起動すると、IAP が初期化され、アイテムを表す 1 つのボタン が表示されるはずです。
- そのボタンを選択します。
次のステップ
- デモの IMGUI ディスプレイを置き換えるための購入用の Unity UI Toolkit インターフェイスを構築します。
- PlayFab エラーを処理してユーザーに表示するためのカスタム Unity Logger を作成します。
- Unity UI で表示するために、PlayFab の Items Images フィールドにアイコン画像を追加します。
