メインコンテンツまでスキップ

Managing Wallets

Last updated on November 23, 2023

概要

ウォレットサービスは、プレイヤーがプロファイル内に仮想通貨を保持する方法を提供します。このガイドでは、ゲーム内でウォレットを設定する方法と、設定後にプレイヤーのウォレットを管理する方法を説明します。

目標

  • ウォレットで管理できるものを詳細に説明する。
  • ユーザーに仮想通貨の発行元を追加し、支払いルールを並べ替える方法をガイドする。
  • プレイヤーウォレットの表示、入出金の方法を説明する。

前提条件

-サポートしたいサードパーティのプラットフォームの仮想通貨ごとに IAM クライアントを作成する必要があります。IAM クライアントを作成する際に、選択した各サードパーティのプラットフォームを[Platform (プラットフォーム)]フィールドに入力して、設定できます。

  • Platform Configurations (プラットフォーム設定)]のドロップダウンを開き、[IAM Clients (IAM クライアント)]を選択します。

    Create IAM

  • Create New (新規作成)]ボタンをクリックします。

  • フォームに入力し、選択したサードパーティのプラットフォームを[Platform (プラットフォーム)]フィールドに入力します。

  • ウォレットに取り組む前に、([Manage Virtual Currencies (仮想通貨を管理)]で)仮想通貨を作成する必要があります。管理者ポータルの[Currency (通貨)]ページで、パブリッシャーまたはゲームの名前空間に既に仮想通貨が存在しているかどうかを確認できます。

    Create virtual currencies

  • (オプション) 仮想通貨をプレイヤーに直接販売することはできません。仮想通貨を販売する場合は、[Item Type (アイテムのタイプ)]を[Coin (コイン)]に指定した、通貨用のアイテムを作成する必要があります。コインを作成しなくとも、プレイヤーのウォレットで仮想通貨を入出金することはできます。

    • まだゲーム内ストアをお持ちでない場合は、まずドラフトストアを作成し、新しいストアで仮想通貨用のアイテムを作成する必要があります。詳細については、ストアの設定と準備 を参照してください。

    • 既にドラフトストアをお持ちの場合は、仮想通貨用のアイテムを作成する必要があります (まだ作成していない場合)。仮想通貨用のアイテムが既に存在するかどうかを確認するには、[Stores (ストア)]メニューのゲーム内ドラフトストアの横にある[Action (アクション)]メニューで[View (表示)]をクリックします。次に、[Items (アイテム)]タブを開いてアイテムを検索します。ドロップダウンメニューで[Filter by categories (カテゴリでフィルタリング)]を選択し、2 つ目のドロップダウンメニューで[Coin (コイン)]を選択します。検索してもアイテムがない場合は、アイテムを作成する必要があります。

      Store filter

支払いルールの管理

アプリ内課金プラットフォームでは、仮想通貨ソースを別のソースに横断的に追加できます。たとえば、支払いのソースとして PlayStation と Steam を Xbox に追加すれば、PlayStation や Steam の残高を使用して Xbox で購入することができます。以下は、管理者ポータルのデフォルト設定のリストです。これはいつでも調整できます。

プレイに使用しているプラットフォーム残高のソース
PlayStationPlayStation + システム
Xboxすべて
Steamすべて
Epicすべて
Appleすべて
Google Playすべて
NintendoNintendo + システム
その他すべて
注記

システム (仮想通貨) を使用すると、エンタイトルメント報酬 などの別のサービスの残高を使用して購入することができます。

仮想通貨ソースを追加した後、ソースを並べ替えて、購入時にどの残高を最初に使用するかを優先順位付けできます。たとえば、PlayStation を最優先にして次点に Steam を設定できます。つまり購入費用はまずプレイヤーの PlayStation 残高から引き落とされ、(プレイヤーの PlayStation 残高に合計購入費用をカバーする資金が不足している場合には) 次に Steam から引き落とされます。

ウォレットは、永久残高と期間限定残高の 2 タイプの残高を保持できます。期間限定残高には有効期限が設定されています。期限が過ぎてもこの残高が消費されていない場合、プレイヤーはその残高を失います。永久残高には有効期限はありません。

期間限定残高は購入時に優先され、残高のソースが別の永久残高より優先度が高くなくても、購入に使用されます。言い換えれば、PlayStation が通貨の最初のソースとして優先されていても、プレイヤーの Steam ウォレットに期間限定残高がある場合、期間限定の Steam 残高が最初に使用され、残りの費用が PlayStation ウォレットから引き出されます。

注記

期間限定残高は、リアルマネーで購入した仮想通貨にのみ適用され、日本でのみデフォルトで有効になっていますが、他の地域ではデフォルトで無効になっています。

ウォレットに仮想通貨の発行元を追加する

プラットフォームウォレット設定では、[Origin of Virtual Currency (仮想通貨の発行元)]を設定できます。プラットフォームに追加された仮想通貨の発行元によって、プレイヤーが特定のプラットフォームのウォレットで仮想通貨を使用できるかどうかが決まります。たとえば、[PlayStation]タブで Epic を [Origin of Virtual Currency (仮想通貨の発行元)]として追加した場合、プレイヤーは PlayStation で Epic の仮想通貨の残高を使用できます。

Wallet config

  1. 管理者ポータルで、[E-Commerce (E コマース)]セクションに移動し、[Wallets (ウォレット)]を展開し、[Configurations (設定)]をクリックします。

  2. ページ上部のタブから、追加するプラットフォームを選択します。

  3. 選択したプラットフォームで、[Add (追加)]ボタンをクリックします。

  4. Add Origin of Virtual Currency (仮想通貨の発行元を追加)]フォームが表示されます。ドロップダウンから、追加する仮想通貨の発行元を選択します。

    Virtual Currency Origin

    注記

    上記の表に記載されていないアプリ内課金を追加する場合は、[Other (その他)]を選択します。

支払いルールを順序付ける

  1. 管理者ポータルで、[E-Commerce (E コマース)]セクションを展開し、[Wallets (ウォレット)]を展開し、[Configurations (設定)]をクリックします。ページ上部のタブから、選択したプラットフォームを開きます。

    Currency Sort Order

  2. Sort Order (並べ替え)]ボタンをクリックし、各ソースをクリックしてドラッグし、優先順位を調整します。ソースが高いほど、その優先度が高くなります (たとえば、優先順位 1 は優先順位 2 よりも高くなります)。完了したら、[Save Order (順序を保存)]ボタンをクリックして変更を確定します。

プレイヤーウォレットの管理

プレイヤーの各ウォレットの取引履歴と入出金を管理者ポータルで表示できます。

プレイヤーのウォレットの詳細を表示

  1. 管理者ポータルで、[E-Commerce (E コマース)]セクションに移動し、[Wallets (ウォレット)]を展開し、[List (リスト)]をクリックします。

  2. 手元にあるプレイヤーアカウント情報に応じて、ドロップダウンメニューから適切な検索フィルターを選択します。メールアドレスまたはユーザー ID で検索できます。検索バーにこの情報を入力し、Enter キーを押して検索します。

    検索結果には、該当するプレイヤーが所有するウォレットのリストが含まれています。

  3. 利用可能な仮想通貨の発行元のリストを表示するには、ウォレットを選択します。

    Currency Origins Available in Wallet

  4. 選択したウォレットの取引履歴を表示できます。右側の[History (履歴)]列の[View (表示)]をクリックします。履歴は降順で表示され、最新の取引が一番上に表示されます。

    Wallet History

プレイヤーのウォレットに入金する

  1. Credit (入金)]ボタンをクリックします。

    Credit Wallet

  2. [Credit Wallet (ウォレットに入金)]フォームが表示されます。次の情報を入力します。

    • [Currency (通貨)]フィールドから、入金する特定の通貨のウォレットを選択します。

    • [Credit (入金)]フィールドに、入金したい金額を入力します。

    • [Source (ソース)]ドロップダウンメニューから入金のソースを選択します。これは、入金元を追跡するのに役立つメモフィールドです。オプションは次のとおりです。

      • Purchase (購入)]:プレイヤーが仮想通貨を購入して生じた入金
      • Promotion (プロモーション)]:宣伝用の景品としての入金
      • Achievement (実績)]:プレイヤーが実績を挙げたことによる入金
      • Referral_Bonus (紹介ボーナス)]:紹介ボーナスからの入金
      • Redeem_Code (コードの引き換え)]:引き換えコードからの入金
      • Other (その他)]:その他の入金ソース
    • ドロップダウンから[Origin of Virtual Currency (仮想通貨の発行元)]を選択します。

    • Expired At (有効期限)]フィールドを使用して、入金の有効期限を定義します。このフィールドはオプションです。空白のままにすると、入金は永久残高になります。

    • Reason (理由)]フィールドに入金の理由を入力します。

  3. 完了したら、[Credit (入金)]ボタンをクリックします。入金は選択したウォレットに付与されます。

プレイヤーのサブウォレットに入金する

ウォレットに VC1 という仮想通貨のタイプが含まれている場合、このウォレットには、VC1 のさまざまなソース/発行元が含まれている場合があります。たとえば、VC1 の由来が PlayStation である場合、PlayStation は仮想通貨の発行元としてマークされ、サブウォレットと呼ばれます。サブウォレットに PlayStation を発行元として入金する場合、PlayStation がこの仮想通貨のソースとなります。

  1. また、[Wallets (ウォレット)]ページで、選択したサブウォレットの[Actions (アクション)]列にある[Credit (入金)]をクリックして、特定のサブウォレットに入金することもできます。

    Credit Sub-wallet

  2. Credit Wallet (ウォレットに入金)]フォームが開きます。次の情報を入力します。

    • [Credit (入金)]フィールドに、入金する金額を入力します。 [Source (ソース)]ドロップダウンメニューから入金のソースを選択します。オプションは前のフォームと同じです。
    • Expired At (有効期限)]フィールドを使用して、入金の有効期限を定義します。このフィールドはオプションです。空白のままにすると、入金は永久残高になります。
    • Reason (理由)]フィールドに入金の理由を入力します。
  3. 完了したら、[Credit (入金)]ボタンをクリックします。入金は選択したサブウォレットに付与されます。

プレイヤーのサブウォレットから出金する

  1. また、[Wallets (ウォレット)]ページで、選択したサブウォレットの[Actions (アクション)]列にある[Debit (出金)]をクリックして、特定のサブウォレットから出金することもできます。

    Debit Sub-wallet

  2. [Debit Wallet (ウォレットから出金)]フォームが表示されます。次の情報を入力します。

    • プレイヤーのウォレットから出金したい金額を[Amount (金額)]フィールドに入力します。
    • Reason (理由)]フィールドに出金の理由を入力します。
  3. 完了したら、[Debit (出金)]ボタンをクリックします。出金は、選択したサブウォレットから引き落とされます。

Client SDK を使用してウォレットを実装する

ウォレットデータを取得する

当社の SDK を使用すれば、ゲームクライアントがウォレットデータを取得できるように設定できます。

現在、マルチプラットフォームウォレットをサポートしています。GetWalletInfoByCurrencyCodeV2 を呼び出して、使用する通貨に基づく、ウォレットの取引データを取得できます。CurrencyCode パラメータで、取得する通貨を決定します。

Unreal SDK

FString CurrencyCode = TEXT(“SampleCurrencyCode”);
FRegistry::Wallet.GetWalletInfoByCurrencyCodeV2(CurrencyCode,
THandler<FAccelByteModelsWalletInfoResponse>::CreateLambda(
[=](const FAccelByteModelsWalletInfoResponse& Result)
{
UE_LOG(LogTemp, Log, TEXT("Wallet Balance : %d"), Result.Balance);
}), FErrorHandler::CreateLambda([](int32 Code, const FString& Message)
{
UE_LOG(LogTemp, Error, TEXT("Code : %d, Message : %s"), Code, *Message);
});

トラブルシューティング

ウォレットを作成する必要はありません。ウォレットは、仮想通貨が追加されると自動的に作成されます。ウォレットに仮想通貨を追加しなくても、残高 0 のウォレットがフロントエンドに表示されます。