ランチャーインストーラー経由でユーザーデータを転送する方法

どのように動作するか

ウェブサイトからゲームにユーザーデータをランチャーインストーラーを介して転送できます。例えば:

  • プロモーションやランチャーインストーラーのダウンロード元をトラッキングする情報。
  • 有効期限付きのデータ。ゲーム内のカスタム認証や重要なゲーム関連情報の転送に使用されます。
データをランチャーに転送するために、ワンタイムパスワードの拡張機能が使用されています(基本的なシナリオは指示に記載されています)。

使用に適した方

すでにランチャーログインを統合し、OAuth 2.0認証を接続しているパートナー。

入手方法

ユーザーデータの転送を可能にするには、以下のように実装します:

  1. ワンタイムパスワードの取得
  2. インストーラー名にワンタイムパスワードの追加
  3. ゲームに送信されるユーザーデータの処理(任意)

ワンタイムパスワードの取得

ワンタイムパスワードの取得を実装するには、URLアドレスhttps://launcher.xsolla.com/otpに対してPOSTリクエストを実行します。リクエスト本文で、次のパラメータを含むJSONを渡します:

  • tracking_payload — 無制限の寿命を持つユーザーデータ。最大文字列長は255文字です。
  • common_payload — 有効期限のあるユーザーデータ。これらのデータは上書き可能です。最大文字列長は255文字です。
  • expires_incommon_payloadパラメータで渡されるデータの有効期限は、Unixタイム形式でミリ秒単位で表現されます。common_payloadが送信される場合、これは必須です。
ワンタイムパスワード取得のリクエスト例:

Copy
Full screen
Small screen
1curl -X POST "https://launcher.xsolla.com/otp?common_payload=<common_payload>" \
2  -H "accept: application/json" \
3  -H "Content-Type: application/json"
お知らせ
もしtracking_payloadcommon_payload、またはexpires_inパラメータが使用される場合、その値を空にすることはできません。
tracking_payloadをクエリーパラメータとして渡すこともできます。
Copy
Full screen
Small screen
1curl -X POST "https://launcher.xsolla.com/otp?tracking_payload=<tracking_payload>" \
2  -H "accept: application/json" \
3  -H "Content-Type: application/json"

ワンタイムパスワードをインストーラー名に追加する

受信したワンタイムパスワードは、UUIDフォーマットの36文字の文字列です。以下のフォーマットでダウンロードする際に、インストールファイル名にワンタイムパスワードを追加することを実装します:LauncherName_<OTP>.exe<OTP>はワンタイムパスワードです。

ゲームによるユーザーデータの取得

ランチャーは、tracking_payloadパラメータで受け取ったデータを、以下の例に示すように–tracking_payloadコマンドライン引数として渡します。また、common_payloadパラメータで渡されるデータの存在と寿命を確認し、–xsolla-common-payloadコマンドライン引数の値として渡すことも行います。以下の例を参照してください。

Copy
Full screen
Small screen
1game.exe --tracking_payload <tracking_payload> WU9VUiBEQVRBIEhFUkU=
お知らせ
ランチャーは、ゲームを起動するたびに、ユーザーデータをゲームに送信します。
ブラウザゲームを起動すると、ランチャーはtracking_payloadパラメータで受信したデータをtracking_payloadクエリパラメータの値として渡します。
Copy
Full screen
Small screen
    1https://web-game-plum.vercel.app/api?locale=en&tracking_payload=<tracking_payload>
    

    tracking_payloadパラメータはUTF-8エンコーディングで渡されます。デコードするには、ゲーム側でdecodeURIComponent(<tracking_payload>)関数の実行を実装します。

    この記事は役に立ちましたか?
    ありがとうございます!
    改善できることはありますか? メッセージ
    申し訳ありません
    この記事が参考にならなかった理由を説明してください。 メッセージ
    ご意見ありがとうございました!
    あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
    最終更新日: 2025年9月19日

    誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

    問題を報告する
    当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
    フォローアップ用のメールをご提供してください
    ご意見ありがとうございました!
    フィードバックを送信できませんでした
    後でもう一度お試しいただくか、doc_feedback@xsolla.comまでお問い合わせください。