Apple App Storeから購入できる PlayFab サブスクリプションを設定する
注意
IOS サブスクリプションの引き換えは、現在プライベート プレビュー段階です。 この機能にアクセスするには、PFEconomyPreviews@microsoft.com に「PlayFab Mobile Subscription」という件名で、PlayFab タイトル ID を記載したメールをお送りいただければ、お使いの環境でこの機能を有効にします。
このチュートリアルでは、PlayFab サブスクリプションを正常に作成し、プレイヤーが購入できるように Apple App Store でゲームに追加する方法と、それに含まれるアイテムを引き換える方法について説明します。
前提条件
- PlayFab のゲーム マネージャーのタイトル。
- PlayFab で選択したタイトルと Apple App Store の間の既存の統合。
- App Store Connect へのアクセス。
- App Store Connect で既に作成されているアプリ。
- App Store Connect でアプリ内に作成されたアプリ内購入。 アプリ内購入には、価格とローカライズが含まれている必要があります。
- 対応するトランザクション オブザーバーのある支払いキューは、既にアプリの一部になっています。
手順 1: テスト ユーザーを作成する
実際の支払いを行わずに購入を適切にテストするには、まずアプリのテスト ユーザーを作成します。
[App Store Connect]>[ユーザーとアクセス] に移動します。
[サンドボックス] を選択します。
[テスト アカウント] の横にあるプラス記号 (+) ボタンを選択します。
フォームに入力し、[作成] を選択します。
手順 2: ゲーム マネージャーでサブスクリプションを作成する
注意
ゲーム マネージャーでバンドルを作成する前に、カタログ内のバンドルに追加するアイテムが既に作成および公開されていることを確認します。 このチュートリアルでは、Super Awesome Sword という名前の PlayFab カタログを既に作成していることを前提としています。 アイテムの作成方法に関するガイダンスが必要な場合は、この手順を参照してください。
ゲーム マネージャーに移動して、[タイトル] に移動します。
左側のナビゲーション メニューから [エンゲージメント]>[エコノミー] の順に選択します。
[サブスクリプション] を選択します。
[新しいサブスクリプション] を選択します。
アイテムや価格など、サブスクリプションに必要な情報を追加します。 このチュートリアルでは、Super Awesome Sword サブスクリプションを名前として使用します。
ページの最後まで下にスクロールし、[保存して公開] を選択すると、プレイヤーがすぐに引き換えできるようになります。 後で公開する場合は、[下書きとして保存] を選択します。
サブスクリプションにアイテムを追加する
サブスクリプション自体では、プレイヤーにアイテムへのアクセス権は付与されません。 プレイヤー インベントリが、プレイヤーのアクセスできるアイテムを認識できるように、アイテムをリンクする必要があります。
サブスクリプションにアイテムを追加するには、次の手順に従います。
- 編集モードで [アイテム] セクションに移動します。
- [追加] を選択します。 すべてのカタログ アイテムを示すウィンドウが表示されます。
- 種類でフィルター処理したり、特定のアイテムを検索したりすることができます。
- Super Awesome Sword を見つけて、その横にある [追加] を選択します。
- 最後に、下部にある [追加] ボタンを選択します。
これにより、アイテムがサブスクリプションに追加されます。
手順 3: マーケットプレース マッピングを有効にする
プレイヤーがアプリからバンドルを購入したときに、ゲーム マネージャーで適切に購入および割り当てられるようにするには、マーケットプレース マッピングを構成する必要があります。 これは、ゲーム マネージャーでサブスクリプションを作成しているとき、またはサブスクリプションが作成された後に、編集モードでバンドルに戻ることで実行できます。
- 編集モードでサブスリプションに移動します。
- [マーケットプレース マッピング] セクションまで下にスクロールします。
- [マーケットプレース] ドロップダウンから、目的のマーケットプレースを選択します。 (このチュートリアルでは、AppleAppStore です)。
- マーケットプレース ID には、App Store Connect の製品 ID と同じものを使用してください。 このチュートリアルでは、pf.commerce.ios.sas1 を使用しました。
- 完了するには、その行の右側にある + を選択し、変更を保存します。
手順 4: 購入を行う
これで、App Store Connect で IAP を作成し、ゲーム マネージャーでアイテムを使用してサブスクリプションを構成し、サブスクリプションのマーケットプレース マッピングを設定しました。 では、アプリからサブスクリプションを購入してみましょう。
アプリから IAP アイテムを公開して購入したら、手順 1 で作成したテスト ユーザーを使用して、アプリで IAP を購入できます。 これが完了すると、Apple の API は領収書を返す必要があります。これを PlayFab の引き換え API と共に使用して購入を検証し、サブスクリプションへのアクセスがプレイヤーに付与されていることを確認します。
手順 5: アプリ内購入を引き換える
Apple の API から領収書を取得したら、PlayFab の RedeemAppleAppStoreInventoryItems API 呼び出しを使用して IAP を正常に引き換える必要があります。 この場合は、認証されたプレイヤーに The Super Awesome Sword サブスクリプションを付与し、Super Awesome Sword カタログ アイテムへのアクセスを許可する必要があります。
両方の ID が一致していることを確認する
引き換え呼び出しを行う前に、マーケットプレース マッピングにゲーム マネージャーで使用した代替 ID が両方とも、App Store Connect の製品 ID と一致していることを確認する必要があります。
次のスクリーンショットは、ゲーム マネージャーのバンドル内にあるものです。Marketplace ID は、AlternateId と呼ばれるもので、基本的にはバンドルを識別する別の方法です。
App Store Connect からマイ アプリに移動し、目的のアプリを選択し、左側のナビゲーション メニューから [機能]>[アプリ内購入] に移動し、最後に IAP を選択して、IAP メタデータから製品 ID が表示されます。
プレイヤーを認証させる
アイテムを引き換えるには、RedeemAppleAppStoreInventoryItems を使用します。 ただし、その前に、アイテムを引き換えるプレイヤーがアプリ内で適切に認証されていることを確認する必要があります。そのためには、LoginWithApple を使用します。
LoginWithApple 呼び出しが成功すると、PlayFab の API は、X-EntityToken
キーを含む RedeemAppleAppStoreInventoryItems ヘッダーの一部として使用する必要があるエンティティ トークンを返します。 テストするために API プラットフォームを使用している場合は、次のようになります。
引き換え呼び出しを行う
プレイヤーが認証されると、ID の確認と照合と、プレイヤーが行ったアプリ購入の領収書の両方が表示されます。 引き換え呼び出しを行う準備ができました。 このためには、RedeemAppleAppStoreInventoryItems API 呼び出しを使用します。
{
"Receipt": "{Your receipt}"
}
引き換え呼び出しの値は 1 つだけであり、IAP の購入が成功した後に Apple から返される領収書です。
成功した応答には、タイムスタンプや MarketplaceTransactionId などのデータと共に 200 status code
が含まれます。
引き換え呼び出しが正常に実行されると、認証されたプレイヤーのインベントリに Super Awesome Sword が表示されます。