跳轉至

開始使用

網頁登入 讓使用者可以在社群和區塊鏈平台等各種網站上使用 IdP 進行登入。請參閱網頁登入支援的 IdP

透過使用 網頁登入 API,您可以在外部網站(例如遊戲開發者營運的社群網站)而非應用程式內為使用者實現 IdP 登入功能。目前的網頁登入 API 整合了之前的網頁登入 v1 和 v2 版本。

Warning
Note

要使用網頁登入 API,必須在 Hive 控制台中完成相關設定。詳細資訊請參閱控制台指南中身份驗證 > 登入設定下的網頁登入支援的 IdP


前置條件

本節根據網頁登入的操作方法描述相應的前置條件。

使用網頁登入主要有兩種方式:使用遊戲 PlayerID 作為識別碼進行登入透過產生獨立的使用者識別碼進行登入

使用遊戲 PlayerID 作為識別碼的網頁登入

使用遊戲 PlayerID 作為識別碼的網頁登入操作方法如下:

  • 對於沒有 SDK 整合的網站,如區塊鏈,使用 PlayerID 作為登入的使用者識別碼。
  • 首次關聯 IdP 時,會在網頁登入過程中直接產生 PlayerID。
  • 首次 IdP 關聯必須僅在遊戲內進行。否則可能會發生帳戶衝突。
  • 使用 XPLA Games Wallet 時,SMS 驗證後會顯示登入介面。


使用遊戲 PlayerID 作為識別碼的網頁登入前置條件如下:

  1. 在控制台 > 應用程式中心建立 AppID
    要使用網頁登入,請先在控制台的應用程式中心建立 AppID。請參閱註冊 AppID

  2. 在控制台 > 身份驗證中設定登入
    建立 AppID 後,選擇用於網頁登入的 IdP,並在身份驗證 > 登入設定中註冊驗證金鑰。網頁登入不支援訪客登入。
    註冊驗證金鑰所需的設定如下。

    • 註冊註冊選項:選擇 Hive Web Login 作為網頁登入的 IdP 時,可以設定**註冊選項**。
      • 如果選擇了 啟用註冊:可以透過網頁登入進行首次 IdP 關聯,但可能會發生帳戶衝突。
      • 如果選擇了 停用註冊:首次 IdP 關聯只能在遊戲內進行。
    • 註冊重新導向 URI:註冊網頁登入完成後要重新導向到的目標網址。最多可以註冊 5 個地址。

      Note

      帳戶衝突發生在透過網頁登入首次關聯 IdP 並產生 PlayerID 後,使用 Hive SDK 登入遊戲並嘗試在遊戲設定檔中關聯其他 IdP 的情況下。在這種情況下,由於已經透過網頁登入建立了 PlayerID,系統會提示使用者選擇要使用的帳戶。

  3. IdP 控制台設定
    在將要使用的 IdP 控制台中將重新導向 URI 註冊為網頁登入網域地址。無論網頁登入操作方法如何,此過程都是通用的。詳細資訊請參閱在 IdP 控制台註冊重新導向 URI

透過產生獨立使用者識別碼的網頁登入

透過產生獨立使用者識別碼的網頁登入操作方法如下:

  • 首次關聯 IdP 時,使用者識別碼由產品產生,防止帳戶衝突。
  • 由於使用者識別碼由產品產生,因此可以在各種場所使用,不會發生帳戶衝突。要關聯遊戲中產生的 PlayerID,請使用伺服器 API。


透過產生獨立使用者識別碼的網頁登入前置條件如下:

  1. 在應用程式中心建立 AppID
    要使用網頁登入,請在應用程式中心建立 AppID。請參閱應用程式中心註冊 AppID控制台指南。

  2. 在控制台 > 身份驗證中設定登入
    建立 AppID 後,選擇支援網頁登入的 IdP,並在身份驗證 > 登入設定中註冊驗證金鑰。網頁登入不支援訪客登入。

    • 註冊註冊選項:選擇 Hive Web Login 作為網頁登入的 IdP 時,可以設定**註冊選項**。

      • 如果選擇了 啟用註冊:可以透過網頁登入進行首次 IdP 關聯。
      • 如果選擇了 停用註冊:首次 IdP 關聯只能在遊戲內進行。
    • 註冊重新導向 URI:註冊網頁登入完成後要重新導向到的目標網址。最多可以註冊 5 個地址。

  3. IdP 控制台設定
    在將要使用的 IdP 控制台中將重新導向 URI 註冊為網頁登入網域地址。無論網頁登入操作方法如何,此過程都是通用的。詳細資訊請參閱在 IdP 控制台註冊重新導向 URI

在 IdP 控制台註冊重新導向 URI

身份驗證 > 登入設定中選擇網頁登入類型並註冊驗證金鑰後,必須在 Google 或 Apple 等 IdP 控制台中直接將重新導向 URI 註冊為網頁登入網域地址。

Google

造訪 Google Cloud Console,在您的專案中建立 OAuth 用戶端 ID 並註冊重新導向 URI。詳細資訊請參閱 Google Developers 文件

Warning

如果在 Google Cloud Console 的 OAuth 同意畫面中自動註冊了 withhive.com 作為已核准的網域,請不要新增敏感或受限範圍。Hive 不提供 withhive.com 的網域所有權。

Facebook

造訪 Meta for Developers,在您的應用程式中新增 Facebook 登入設定並註冊重新導向 URI。詳細資訊請參閱 Meta Developers 文件

Apple

造訪 Apple Developer Console,建立服務 ID,並在 Sign in with Apple 設定中註冊回傳 URL。詳細資訊請參閱 Apple Developer 文件


網頁登入 API 使用方法

完成上述前置條件後,您可以透過呼叫以下 API 來實現網頁登入:


網頁登入 API 的使用方法根據「網頁登入 AppID」的用途而有所不同。

當「網頁登入 AppID」的用途為「社群」或「網站」時

如果在 Hive 控制台的應用程式中心 > AppID 管理 > 註冊網頁登入 AppID中選擇「網頁登入 AppID」的用途為社群或網站,遊戲開發者將按以下方式使用網頁登入 API。

  1. 呼叫登入頁面
  2. 使用使用者驗證和使用者資訊取得 API 的回應值,特別是 **IdP 識別碼(idp_indexidp_user_id)**作為使用者帳戶識別碼,並將其儲存在開發者的資料庫中

之所以採用上述使用方式,是因為如果首先在社群或網站而非遊戲中進行 IdP 登入,則不會產生遊戲中使用的使用者識別碼 PlayerID。透過使用 IdP 識別碼而非 PlayerID 作為使用者帳戶識別碼,可以防止**帳戶衝突**。

但是,當使用者存取遊戲應用程式並登入時,會產生遊戲使用者識別碼 PlayerID。因此,可以將其作為使用者帳戶識別碼使用,與驗證和使用者資訊取得 API 的 user_info 回應值中的 PlayerID 或透過驗證 API 取得使用者資訊 API 回應值中的 PlayerID 區分開來。

Note

帳戶衝突在以下情況下發生。

  1. 透過網頁登入進行登入,建立首次 IdP 和 PlayerID
  2. 使用 Hive SDK 登入遊戲後,在遊戲設定檔中連接其他 IdP 整合
  3. 由於已經透過網頁登入建立了 PlayerID,發生帳戶衝突,提示使用者選擇帳戶

「網頁登入 AppID」的用途為「區塊鏈」時

在 Hive 控制台的應用程式中心 > AppID 管理 > 網頁登入 AppID 註冊中選擇「網頁登入 AppID」的用途為「區塊鏈」時,遊戲開發者按以下方式使用網頁登入 API。

  1. 登入頁面 API 呼叫
  2. 登入驗證和使用者資訊取得 API 呼叫,回應值中的 PlayerID 可用於使用者帳戶識別(無需取得和管理 IdP 識別碼等單獨的識別碼)

在區塊鏈的情況下,呼叫登入頁面 API 和登入驗證和使用者資訊取得 API 會產生 PlayerID,因此無需像社群或網站那樣使用單獨的 IdP 識別碼。