サードパーティストア統合の管理
注釈:本資料はAI技術を用いて翻訳されています。
概要
この記事では、サードパーティプラットフォーム(PSN、Xbox、Steam、Epic、Twitch、Google Play、Apple など)のストア統合を作成し、AccelByte Gaming Services (AGS) でそれらのプラットフォームからのプレイヤーの購入を同期できるようにする方法を説明します。
前提条件
新しいサードパーティストア設定を追加する前に、以下が必要です:
サードパーティストア設定の追加
-
ネームスペースに移動します。
-
サイドバーで、Game Setup > 3rd Party Configuration > Store を選択します。
注記パブリッシャーネームスペースで行った設定は、未設定のゲームネームスペースのデフォルト設定として使用されます。
-
利用可能なプラットフォームタブから、設定するプラットフォームを選択し、Add Configuration ボタンをクリックします。Add Configuration フォームが表示されます。
注記各ネームスペースは、プラットフォームごとに 1 つの設定のみ持つことができます。
-
設定するプラットフォームの設定手順に従います:
PlayStation
この情報にアクセスするには、AccelByte アカウントマネージャーにお問い合わせください。
Xbox
この情報にアクセスするには、AccelByte アカウントマネージャーにお問い合わせください。
Steam
Steam ストアと AGS 管理ポータルのネームスペースの両方で、同じ SKU を持つアイテムを作成済みであることを確認してください。完了したら、Steam Web API キーを用意してください。
次に、設定フォームで、ゲームの App ID と Steam Web API Key を入力します。これらの値は両方とも Steamworks ポータルで確認できます。
Steam Web API Key は Publisher Authentication Key と同じです。詳細については、Steam Web API キーに関する Steam のドキュメントを参照してください。
Steam 同期モード
マネタイゼーションサービスは、Steam から AGS のプレイヤーにアイテムを同期するための 2 つのオプションを提供します。
- Steam Inventory
- Steam Inventory からアイテムを消費し、AGS のプレイヤーに直接アイテムを付与します。
- ユーザーがログインまたは購入した後、手動同期が必要です。
- アイテムは同期されると、プレイヤーの Steam Inventory から削除されます。
- Steam のポリシーにより、消費されたアイテムは返金できません。
- Steam Transaction
- Steam getReport に依存して Steam トランザクションを同期し、報酬を付与または取り消します。
- AGS バックエンドは自動的に同期し、購入したアイテムを AGS のプレイヤーに付与します。理想的には、このプロセスには約 2 分かかります。
- ゲーム内で購入が行われた場合、注文 ID を取得して IAP 同期エンドポイントを直接呼び出すことができ、プレイヤーはリアルタイムで報酬を受け取ることができます。
- 同期プロセス中、プレイヤーの Steam インベントリ内のアイテムは消費されません。
- アイテムはプレイヤーの Steam インベントリに残り、プレイヤーは返金を受けることができます。
- Steam で返金が発生した場合、AGS は対応するアイテムを取り消すことができます。
- Steam getReport に依存して Steam トランザクションを同期し、報酬を付与または取り消します。
Epic
設定フォームで、Epic Developer アカウントの Sandbox ID を入力し、Add をクリックして設定を保存します。詳細については、サンドボックスに関する Epic のドキュメントを参照してください。
Twitch
以下の前提条件を完了していることを確認してください:
- Twitch Developer に組織を登録します。詳細については、組織の管理に関する Twitch のドキュメントを参照してください。
- Drops 用の Twitch アプリケーションを作成し、Drops 設定を構成します。詳細については、Drops の管理に関する Twitch のドキュメントを参照してください。
- 報酬を作成します。報酬を AGS ストアアイテムと一致させるために、Reward ID を指定してください。Reward ID は次の形式に従う必要があります:
{accelbyte-namespace}-{accelbyte-itemSKU}(例:game001-weapon001)。詳細については、報酬の作成に関する Twitch のドキュメントを参照してください。
次に、設定フォームで以下を行います:
- Drops 用の Twitch アプリケーションを作成したときに設定した Client ID と Secret を入力します。
- Organization ID を入力します。
- Add をクリックして設定を保存します。
Google Play
Android アプリを作成し、Google Play ストアでアプリを公開するための Product ID を設定済みであることを確認してください。これらの前提条件の設定の詳細については、AccelByte アカウントマネージャーにお問い合わせください。アプリ内製品の作成に関する Google のドキュメントも参照できます。
次に、設定フォームで以下の手順に従います:
- Google Play Console で設定した Application Name を入力します。
- Google Play Console に登録されているアプリの Package Name を入力します。
- Service Account ID を入力します。詳細については、サービスアカウントの管理に関する Google のドキュメントを参照してください。
.p12形式のビジネス証明書をアップロードします。詳細については、p12 サービスアカウントキーに関する Google のドキュメントを参照してください。- (オプション)notificationTokenAudience を入力します。この値は、Google Cloud Pub/Sub 通知の対象オーディエンスを表します。サブスクリプション設定と対話できるサービスを定義します。
- (オプション)notificationTokenEmail を入力します。これは、エンドポイントにプッシュ通知を配信する際に Google Cloud Pub/Sub が行うリクエストを認証するために使用される Google サービスアカウントのメールアドレスです。サービスが承認された期待される Google サービスアカウントからの通知のみを処理することを保証します。詳細については、notificationTokenEmail に関する Google のドキュメントを参照してください。
- Add をクリックして設定を保存します。
Apple
App Store Connect でアイテムを作成し、Apple が必要な通知を送信するように App Store Connect で AGS 通知 URL を設定済みであることを確認してください。これらの前提条件の設定の詳細については、AccelByte アカウントマネージャーにお問い合わせください。App Store Server Notifications に関する Apple のドキュメントも参照できます。
AGS は、Apple でのアプリ内課金を検証するための 2 つの方法をサポートしています:Version 1(レガシー)と Version 2(推奨)。お好みの統合方法の設定手順に従ってください:
Version 2(推奨)
Version 2 方式は、トランザクション検証に App Store Server API を使用し、リアルタイムの購入およびサブスクリプションデータの更新を検証および同期するために App Store Server Notifications V2 エンドポイントを使用します。具体的には:
- 1 回限りの購入:購入検証のみがサポートされ、返金、自動更新、チャージバックはサポートされません。
- サブスクリプション:アプリ内課金、自動更新、返金、チャージバック、チャージバック取り消しがサポートされます。
App Store Server Notifications V2 エンドポイントは、最新の StoreKit v2(直接レシート検証を使用しなくなった)で動作し、認証に JSON Web Tokens (JWT) を使用します。詳細については、App Store Server API および App Store Server Notifications V2 エンドポイントに関する Apple のドキュメントを参照してください。
この方法を使用するには、設定フォームで Version 2 を選択し、以下を行います:
- Bundle ID を入力します。これは Apple エコシステムでのアプリの一意の識別子です(例:
com.example.myapp)。詳細については、Bundle ID に関する Apple のドキュメントを参照してください。 - Issuer ID を入力します。これは Apple Developer アカウントの一意の識別子で、Apple のサーバーへのリクエストを認証するために使用されます。これは App Store Connect アカウントの API Keys セクションで確認できます。詳細については、Issuer ID に関する Apple のドキュメントを参照してください。
- Key ID を入力します。これは認証用の JWT に署名するために使用される秘密鍵です。Key ID は、アプリのキーを生成するときに App Store Connect の API Keys セクションで確認できます。詳細については、Key ID に関する Apple のドキュメントを参照してください。
- App Apple ID を入力します。
appAppleIdは、App Store Connect にアプリを登録したときに Apple によって割り当てられる一意の数値識別子です。この ID は、さまざまなサーバー間通信および API リクエストで使用されます。詳細については、App Apple ID に関する Apple のドキュメントを参照してください。 - Apple Private Key(.p8 ファイル)をアップロードします。このファイルは、アプリと Apple のサービス間の通信を安全に認証するために使用されます。.p8 ファイルは App Store Connect から取得でき、JWT トークンの署名に不可欠です。詳細については、Apple Private Key に関する Apple のドキュメントを参照してください。
- Add をクリックして設定を保存します。
Version 1(レガシー)
Version 1 方式は、非推奨の verifyReceipt エンドポイントを使用して購入を検証します。1 回限りの購入の場合、購入検証のみがサポートされ、返金、自動更新、チャージバックはサポートされません。
この verifyReceipt エンドポイントはレシート検証に依存しており、Apple の StoreKit の新しいバージョンではサポートされなくなりました。システムがまだ StoreKit v1 を使用し、古い統合設定に依存している場合は、この方法を選択してください。
この方法を使用するには、設定フォームで Version 1 を選択し、App Store Connect のアイテムの詳細にある App-Specific Shared Secret を Password に入力します。
- この方法は継続的な機能を可能にしますが、リアルタイムのイベント処理や最新の JWT ベースの認証は提供しません。Apple はこの方法を非推奨としており、新しいアプリケーションでの継続使用は推奨されません。AccelByte は、セキュリティの向上とリアルタイムイベントサポートのために App Store Server Notifications V2 への移行を推奨します。詳細については、App Store Server Notifications V2 エンドポイントに関する Apple のドキュメントを参照してください。
- すでに App Store Server Notifications V2 にアップグレードしている場合、この方法はネームスペースでサポートされなくなります。統合を成功させるために、購入検証プロセスで App Store Server Notifications V2 を使用するようにゲームクライアントをアップグレードしてください。
Meta Quest
設定フォームで、Meta Quest アプリケーションの App ID と App Secret を入力し、Add をクリックして設定を保存します。詳細については、アプリページの作成に関する公式 Meta Quest ドキュメントを参照してください。