ディープリンク経由の認証設定

ディープリンクは、ユーザーIDまたはエクソーラログイン経由での認証プロセスの代わりに、ゲームを通じてウェブショップでワンクリックで認証できるようになります。

ユーザーのモバイルデバイスにゲームがインストールされている場合、認証トークンを取得するために、ディープリンク経由でゲームにリダイレクトされます。

ユーザーフロー

  1. ウェブショップで未認証のユーザーがログインボタンまたは購入ボタンをクリックします。ユーザーIDを入力するか、モバイルゲームからログインするためのモーダルウィンドウが開きます。
  1. ユーザーはゲームを通してログインボタンをクリックします。
  2. ユーザーは、認証ユーザーとして自動的にウェブショップにリダイレクトされます。

  1. ウェブショップで未認証のユーザーがログインボタンまたは購入ボタンをクリックします。ユーザーIDを入力するか、QRコードを使ってモバイル版ゲームにログインするためのモーダルウィンドウが開きます。

  1. ユーザーはモバイルデバイスを使用してQRコードをスキャンすると、モバイルデバイスでウェブショップが開きます。
  2. モバイル版のゲームは、ユーザーのモバイルデバイスで開きます。
  3. ユーザーは、認証されたユーザーとして自動的にモバイルデバイス上のウェブショップにリダイレクトされます。
  1. ゲームのモバイルアプリ設定で、ディープリンク経由でゲームを開くためのURLスキームを新規登録してください:
    • Androidアプリ — AndroidManifest.xmlファイル
    • iOSアプリ — Info.plistファイル
スキームを登録した後、ユーザーがゲームを介してウェブショップで認証すると、ゲームは指定されたアドレスでゲームが開きます。 ゲームを登録するためのURLスキームの例: gamename://authorize、そこに:
  • gamename — ユーザー認証のためにモバイルデバイスで開くゲーム名。
  • authorize — ゲーム名のゲームが開いた後に実行されるアクション名の例。アプリケーションのオペレーティングシステムのアクションと一致するアクション名を使用してください。
iOSアプリケーションでURLスキームを登録する例:
Copy
Full screen
Small screen
    <key>CFBundleURLTypes</key>
      <array>
        <dict>
          <key>CFBundleTypeRole</key>
          <string>Editor</string>
          <key>CFBundleURLSchemes</key>
          <array>
            <string>gamename</string>
          </array>
        </dict>
      </array>
    

    AndroidアプリケーションでURLスキームを登録する例:

    Copy
    Full screen
    Small screen
      <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data android:scheme="gamename" android:host="authorize" />
      </intent-filter>
      

      1. ゲームのユーザーIDを使用したJWT形式の認証トークンの生成を実装します。

      パラメータ種類説明文
      stringアドミンページからの認証メソッドのID。必須
      stringウェブショップでのユーザー検証ウェブフックを受信するためのURL。URLは、ユーザーIDによる認証の設定で指定したアドレスと一致する必要があります。エクソーラは、ウェブフックへの応答としてHTTPコード200を期待しており、これによりウェブショップのユーザーが認証されます。エクソーラが404 HTTPコードで応答を受信した場合、または応答を受信しなかった場合、ユーザーは認証されません。

      ディープリンク経由で認証する際にウェブフックを無効にするには、"webhookUrl": "https://nowebhook.com"の値を指定できます。この場合、エクソーラはユーザーの存在を確認しませんので、 user.idパラメータにはゲーム内に存在するユーザーIDを渡すようにしてください。
      必須
      stringブラウザのアドレスバーでプロジェクト名の横に指定されている、アドミンページで確認できるプロジェクトID。URLの形式は次のようになります:https:​//publisher.xsolla.com/merchant ID/Publisher Account section必須
      stringゲーム内のユーザーID。必須
      stringユーザー名。必須

      curlを使用してユーザートークン生成APIメソッドを呼び出す例:

      Copy
      Full screen
      Small screen
      curl --location 'https://sb-user-id-service.xsolla.com/api/v1/user-id' \
      --header 'Content-Type: application/json' \
      --data '{
       "loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
       "webhookUrl": "https://nowebhook.com",
       "settings": {
         "projectId": 123456,
         "merchantId": 123456
       },
       "user": {
         "id": "123",
         "name": "a-user-name"
       }
      }'
      

      {token=“JWT_TOKEN”}のような応答が返されます。

      1. 認証成功の通知を含むポップアップウィンドウを追加します(任意)。
      2. 取得したユーザートークンを使用して、「ブラウザでウェブショップを開く」を実装します。

      認証されたユーザーがブラウザでウェブショップを開くためのURLを作成する例:

      • https:​//example.com/?token={token}、カスタムドメインを使用する場合
      • https:​//example.xsollasitebuilder.com/?token={token}、エクソーラドメインを使用する場合
      ここで、{token}はユーザーの認証トークンです。以下のコード例を使用して、サイトビルダー側で設定を行うことができます。
      セットアップの支援が必要な場合は、カスタマーサクセスマネージャーに連絡するか、 csm@xsolla.comまでメールでお問い合わせください。
      お知らせ
      まず、ユーザーIDによる認証を設定します。これは、ユーザーがディープリンク認証を利用できない場合、別の認証方法を提供するために必要です。例えば、ユーザーのモバイルデバイスにゲームがインストールされていない場合などです。
      1. アドミンページであなたのプロジェクトを開きます。
      2. サイドメニューで、「サイトビルダー」をクリックします。
      3. ウェブショップサイトのカード上で、ユーザーID経由の認証が設定されている場合、「構成」をクリックしてください。
      4. ログイン設定」に移動し、「ユーザーID」セクションを選択します。
      5. ディープリンク認証」トグルを「オン」に設定します。
      1. ディープリンクURL」フィールドに、ユーザー認証用のリンクを入力します。
      1. サイトでファストログインブロックを使用する場合:
        1. ファストログインブロックに移動します。
        2. レイアウト」セクションで、「QRコード」トグルを「オン」にします。
      1. 認証を確認するには、「プレビュー」をクリックしてください。
      2. ウェブサイトを公開するには、「公開」をクリックします。
      この記事は役に立ちましたか?
      ありがとうございます!
      改善できることはありますか? メッセージ
      申し訳ありません
      この記事が参考にならなかった理由を説明してください。 メッセージ
      ご意見ありがとうございました!
      あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
      最終更新日: 2024年8月22日

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

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