ウェブからゲームへのシームレスな統合

どのように動作するか

ウェブからゲームへのシームレスな統合により、URLパラメータでウェブサイトからゲームへのデータ送信を構成できます。ユーザーの認証トークン、マーケティングキャンペーンデータ、または他の情報を送信できます。

ユーザーフロー

シームレスなウェブとゲームの統合を実装する際のユーザーシナリオは以下の通りです:

  • ウェブサイトからランチャーインストーラーをダウンロードするためのリンクをクリックします。
  • ウェブサイトからランチャーへのリンクをクリックします。
  • ランチャーからゲームを起動します。

ユーザーがウェブサイトからランチャーインストーラーをダウンロードするためのリンクをクリックした場合:

  1. ユーザーがウェブサイトを開きます。
  2. ユーザーはランチャーインストーラーへのリンクをたどります。
  3. ユーザーは、ワンタイムパスワードを含むリンクを使用してランチャーインストーラーをダウンロードします。
  4. ユーザーはランチャーをインストールします。
  5. ランチャーはワンタイムパスワードを介してcommon_payloadパラメータの値を受け取ります。
  6. ユーザーがランチャー内で「プレイ」をクリックします。
  7. ランチャーはcommon_payloadパラメータの存在と有効期限をチェックします:
    • チェックが成功した場合、ランチャーはcommon_payloadパラメータから取得した引数でゲームを開始します。
    • チェックが失敗した場合:
      • パブリッシャーアカウントの実行ファイル名にウェブサイトのURLが構成されている場合、ランチャーはユーザーをそのアドレスにリダイレクトします。
      • ウェブサイトURLがパブリッシャーアカウントで実行ファイル名内に構成されていない場合、ランチャーはcommon_payload引数なしでゲームを開始します。

ユーザーがウェブサイトからランチャーへのリンクをクリックし、ランチャーが既にインストールされている場合、以下のフローが発生します:

  1. ユーザーがウェブサイトを開きます。
  2. ユーザーがランチャーへのリンクをクリックします。
  3. ランチャーはURLからpayloadcommon_payload、およびexpires_jnパラメータの値を保存します。
  4. ユーザーがランチャー内で「プレイ」をクリックします。
  5. ランチャーはpayloadおよびcommon_payloadパラメータの存在と有効期限をチェックします:
    • チェックが成功した場合、ランチャーはpayloadおよびcommon_payloadパラメータから取得した引数を使用してゲームを起動します。
    • チェックが失敗した場合:
      • ウェブサイトのURLが実行可能ファイル名内のパブリッシャーアカウントに構成されている場合、ランチャーはユーザーをそのアドレスにリダイレクトします。
      • ウェブサイトURLが実行可能ファイル名内のパブリッシャーアカウントに設定されていない場合、ランチャーはpayload及びcommon_payload引数なしでゲームを起動します。

ユーザーがランチャーからゲームを起動する際、以下のフローが発生します:

  1. ユーザーはランチャーを開きます。
  2. ユーザーはランチャー内で「プレイ」をクリックします。
  3. ランチャーはpayloadおよびcommon_payloadパラメータの存在と有効期限をチェックします:
    • チェックが成功した場合、ランチャーはpayloadおよびcommon_payloadパラメータから取得した引数を使用してゲームを起動します。
    • チェックが失敗した場合:
      • パブリッシャーアカウントの設定でURLが指定されている場合、ランチャーはユーザーをそのURLにリダイレクトします。
      • 実行可能ファイル名内のパブリッシャーアカウントでウェブサイトのURLが構成されていない場合、ランチャーはユーザーをそのアドレスにリダイレクトし、payloadおよびcommon_payload引数なしでゲームを起動します。

入手方法

ウェブからゲームへのシームレスな統合を設定するには:

  1. アドミンページで設定を構成します
  2. ウェブサイトへのリンクを追加します
  3. payloadパラメータで受信したデータの処理をゲーム側で実装します

アドミンページでの設定構成

  1. アドミンページでプロジェクトを開きます。
  2. サイドメニューで「ランチャー」をクリックします。
  3. ダッシュボードでランチャーを見つけて、「ランチャーを編集する」をクリックします。
  4. ゲーム」セクションで、ゲームの右側にある「セットアップ」をクリックします。
  5. ビルド」セクションに移動します。
  6. 実行可能ファイル」タブに移動します。
  7. 各オペレーティングシステムの「実行ファイル名」のフィールドに--x_payload_urlという引数を追加します。引数の値には、リンクまたはボタンが配置されるウェブサイトURLを渡します。値はBase64でエンコードしてください。

例えば、実行ファイル名がgame.exeで、ゲームサイトのURLがhttp://example.com/start_playの場合、「実行ファイル」名のフィールドにgame.exe –x_payload_url aHR0cDovL2V4YW1wbGUuY29tL3N0YXJ0X3BsYXk=を入力します。

お知らせ
この設定を完了すると、ユーザーはゲームウェブサイトからデータを受信しないとゲームを起動できなくなります。データがない場合は、ゲームサイトにリダイレクトされ、データを取得することができます。

ウェブサイトに、以下のxl-<launcher-id>://game/<game-id>?payload=<payload>&common_payload=<common_payload>&expires_in=<expires_in>フォーマットのURLを開くためのリンクまたはボタンを追加します:

お知らせ
URLパラメータとして安全に転送するために、Base64またはurlencoder.orgを使用してデータを暗号化することをお勧めします。
Copy
Full screen
Small screen
    
    
    function getAuthToken() {
        return 'YOUR DATA HERE';
    }
    
    function getDeeplink(launcherID, gameID) {
        const encodedPayload = btoa(getAuthToken());
        const expiresIn = new Date();
        expiresIn.setHours(expiresIn.getHours() + 1); // Payload data will be fresh for 1 hour
     return `xl-${launcherID}://game/${gameID}?payload=${encodedPayload}&expires_in=${expiresIn.getTime()}`;
    }
    
    // Put that `href` to button or link address
    const href = getDeeplink(123, 4567);
    

    ゲーム側での統合

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

    Base64 を使用してデータが暗号化さした場合にゲームを開始する例:

    Copy
    Full screen
    Small screen
      game.exe ---xsolla-payload <payload> --xsolla-common-payload <common_payload> WU9VUiBEQVRBIEhFUkU=
      
      この記事は役に立ちましたか?
      ありがとうございます!
      改善できることはありますか? メッセージ
      申し訳ありません
      この記事が参考にならなかった理由を説明してください。 メッセージ
      ご意見ありがとうございました!
      あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
      このページを評価する
      このページを評価する
      改善できることはありますか?

      答えたくない

      ご意見ありがとうございました!
      最終更新日: 2024年1月22日

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

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