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

どのように動作するか

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

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

使用に適した方

すでにランチャーログインを統合し、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
    curl
    -X POST
    "https://launcher.xsolla.com/otp?common_payload=<common_payload>"
    -H
    "accept: application/json"
    -H
    "Content-Type: application/json"
    
    お知らせ
    もしtracking_payloadcommon_payload、またはexpires_inパラメータが使用される場合、その値を空にすることはできません。
    tracking_payloadをクエリーパラメータとして渡すこともできます。
    Copy
    Full screen
    Small screen
      curl -X POST "https://launcher.xsolla.com/otp?tracking_payload=<tracking_payload>" -H "accept: application/json" -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
        game.exe --tracking_payload <tracking_payload> WU9VUiBEQVRBIEhFUkU=
        
        お知らせ
        ランチャーは、ゲームを起動するたびに、ユーザーデータをゲームに送信します。
        ブラウザゲームを起動すると、ランチャーはtracking_payloadパラメータで受信したデータをtracking_payloadクエリパラメータの値として渡します。
        Copy
        Full screen
        Small screen
          https://web-game-plum.vercel.app/api?locale=en&tracking_payload=<tracking_payload>
          

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

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

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

          問題を報告する
          当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
          フォローアップ用のメールをご提供してください
          ご意見ありがとうございました!