ウェブからゲームへのシームレスな統合
どのように動作するか
ウェブからゲームへのシームレスな統合により、URLパラメータでウェブサイトからゲームへのデータ送信を構成できます。ユーザーの認証トークン、マーケティングキャンペーン データ、またはその他の情報を送信できます。
ユーザーフロー
ウェブからゲームへのシームレスな統合を実装する場合、次のユーザーシナリオがあります:
- ウェブサイトからランチャーへのリンクをクリックします。
- ランチャーからゲームを起動します。
ユーザーがウェブサイトからランチャーへのリンクをクリックすると、次のフローが発生します:
- ユーザーはウェブサイトを開きます。
- ユーザーはランチャーへのリンクをクリックします。
- ランチャーはURLから
payload
パラメータの値を保存します。 - ユーザーはランチャーで「プレイ」をクリックします。
- ランチャーは、
payload
パラメータの存在と有効期限をチェックします:- チェックが成功した場合、ランチャーは
payload
パラメータから取得した引数でゲームを開始します。 - チェックが失敗した場合:
- パブリッシャーアカウントの設定でURLが指定されている場合、ランチャーはそのURLにユーザーをリダイレクトします。
- パブリッシャーアカウントの設定でURLが指定されていない場合、ランチャーがゲームを起動します。
- チェックが成功した場合、ランチャーは
ユーザーがランチャーからゲームを起動すると、次のフローが発生します:
- ユーザーはランチャーを開きます。
- ユーザーはランチャーで「プレイ」をクリックします。
- ランチャーは、
payload
パラメータの存在と有効期限をチェックします:- チェックが成功した場合、ランチャーは、ウェブサイトのリンクから最後のランチャー起動時に取得した
payload
パラメータから取得した引数を使用してゲームを起動します。 - チェックが失敗した場合:
- パブリッシャーアカウントの設定でURLが指定されている場合、ランチャーはそのURLにユーザーをリダイレクトします。
- パブリッシャーアカウントの設定でURLが指定されていない場合、ランチャーがゲームを起動します。
- チェックが成功した場合、ランチャーは、ウェブサイトのリンクから最後のランチャー起動時に取得した
入手方法
ウェブからゲームへのシームレスな統合を設定するには:
アドミンページでの設定構成
- アドミンページでプロジェクトを開きます。
- サイドメニューで「ランチャー」をクリックします。
- ダッシュボードでランチャーを見つけて、「ランチャーを編集する」をクリックします。
- 「ゲーム」セクションで、ゲームの右側にある「セットアップ」をクリックします。
- 「ビルド」セクションに移動します。
- 「実行可能ファイル」タブに移動します。
- 各オペレーティングシステムで、「実行ファイル名」のフィールドに
--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>&expires_in=<expires_in>
形式のURLを開くリンクまたはボタンをウェブサイトに追加します。そこで:
<launcher-id>
と<game-id>
— アドミンページのURLにあるランチャーとゲームの識別子:https://publisher.xsolla.com/<merchant-id>/projects/<project-id>/new-launcher/<launcher-id>/game/<game-id>
。<payload>
— ゲームに渡す必要があるデータ。
お知らせ
URLパラメータとして安全に転送するために、Base64またはurlencoder.orgを使用してデータを暗号化することをお勧めします。
<expires_in>
— payloadパラメータで渡されたデータの有効期限(Unix時間形式)。
Copy
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);
ゲーム側での統合
ゲームは--xsolla-payload
引数でデータを受け取ります。 選択した暗号化方法に応じて、ゲームによるデータの復号化を実装します。
Base64 を使用してデータが暗号化さした場合にゲームを開始する例:
Copy
game.exe --xsolla-payload WU9VUiBEQVRBIEhFUkU=
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。このページを評価する
このページを評価する
答えたくない
ご意見ありがとうございました!
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。