Play Integrity API:帳戶活動搶先體驗計畫 (EAP)

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

運用 Play 帳戶活動 (Play Integrity API 中的新信號) 建立更有效的精細防止濫用策略。系統會依據店內活動情況和數量,以及裝置上的帳戶年齡,依等級顯示帳戶活動。評估後,系統會傳回目前使用者工作階段的帳戶活動層級,而且不會連結至使用者或裝置 ID。

什麼是 Play 帳戶活動?

Play Integrity API 提供一系列完整性信號,可協助應用程式和遊戲開發人員偵測可能有風險的詐欺流量。這項搶先體驗計畫的開發人員可將帳戶活動新增至 API 回應,其中已包含裝置、應用程式和帳戶授權判定結果。如果裝置、應用程式或授權判定結果有問題,系統就不會評估帳戶活動。如果現有的判定結果沒有任何問題,則帳戶活動就會傳回一個等級。這個等級取決於商店活動是否存在以及活動數量,以及裝置上的帳戶年齡。此等級可協助應用程式區分可能真正的使用者和可能非實際流量 (例如用於詐欺的帳戶、自動流量使用的帳戶,或用於裝置農場的帳戶)。除其他信號之外,您的應用程式可在保護高價值或敏感動作時使用這個信號。

加入搶先體驗計畫 (EAP) 的應用程式可取得目前使用者工作階段的下列任一帳戶活動等級:

  • UNEVALUATED:系統不會評估帳戶活動,因為裝置不受信任,或是使用者沒有 Play 應用程式授權。
  • UNUSUAL:裝置上至少有一個使用者帳戶的 Google Play 商店活動不尋常。Google Play 建議檢查是否為真實使用者。
  • UNKNOWN:Google Play 針對裝置上的使用者帳戶沒有足夠的商店活動。這個帳戶可能是新帳戶,或是 Google Play 上沒有活動。
  • TYPICAL (BASIC):Google Play 商店活動通常是使用者帳戶或裝置上的帳戶。
  • TYPICAL (STRONG):Google Play 商店活動通常是用於使用者帳戶或裝置上的帳戶,但採用較為複雜難以複製的信號。

使用帳戶活動做為反濫用策略的一部分

當與整體信號搭配使用,而非作為單一反濫用機制的時,帳戶活動最適合使用。將這個信號和 Play Integrity API 搭配應用程式適用的其他安全性最佳做法使用。

收集遙測資訊及瞭解目標對象,再採取行動

在根據帳戶活動或其他 Play Integrity API 判定結果變更功能之前,不要強制執行 API,以現有目標對象瞭解目前情況。瞭解目前的安裝數會傳回多少層級後,您就可以預估要規劃的任何強制執行程度後,再據此調整反濫用策略。

存取高價值或敏感功能時,可能有風險的流量

找出應用程式或遊戲中的高價值或敏感動作,以便透過 Play Integrity API 保護,請勿直接拒絕應用程式或遊戲的存取權。如果情況允許,允許有風險的流量,再繼續進行高價值操作。例如,當帳戶活動等級為 UNUSUAL 時,您可能需要第二個驗證機制,才能讓使用者完成您要保護的動作。

規劃使用者支援方案

請盡可能為使用者提供實用的錯誤訊息,並告知應採取哪些行動來修正問題,例如重試、啟用網路連線,或檢查Google Play 商店應用程式是否為最新版本。Google Play 會定期更新帳戶活動評估。新的商店活動會在這些定期更新時自動變更使用者等級。

遵守 Play Integrity API 的現有建議

除了上述做法外,請參閱 Play Integrity API 的安全性注意事項

搶先體驗 Play Integrity API 帳戶活動

請按照下列步驟開始使用帳戶活動。

步驟 1:詳閱這些重要事項

  • 帳戶活動目前還在開發中,因此可能會有變動。
  • 帳戶活動仍為機密內容。請勿將使用者的相關資訊或帳戶活動相關資訊提供給使用者。
  • 使用帳戶活動時,即表示您同意《Google Play 開發人員發行協議》和《Play Integrity API 服務條款》中的條款。
  • 搶先體驗搶先體驗計畫的開發人員應在評估違規處置策略前,評估帳戶活動信號,並在 Google Play 中告知評估結果的意見回饋和相關資訊。

步驟 2:要求加入 Play Integrity API 帳戶活動搶先體驗計畫

Google Play 遊戲合作夥伴計畫的開發人員會自動存取帳戶活動的搶先體驗計畫,可直接跳到步驟 3。

如果您有其他開發人員有興趣加入搶先體驗計畫,請傳送電子郵件至 integrity-api-eap@google.com 以提供下列資訊:

  • 您的套件名稱和開發人員帳戶 ID。
  • 確認您已詳閱帳戶活動的建議做法。
  • 您打算如何評估帳戶活動?如果您已有相關規劃,也可以預期如何使用帳戶活動。
  • 您加入帳戶活動搶先體驗計畫時的預期時程。

目前,我們只接受符合 Google Play 良好帳戶門檻,且符合大規模效能門檻的開發人員。

步驟 3:透過 Google Play 管理中心的 Integrity API 回應開啟帳戶活動

獲准加入搶先體驗計畫後,Play 管理中心的 Integrity API 頁面會顯示一個新選項,可用來將帳戶活動加入 Play Integrity API 回應。準備就緒後,請在 Play 管理中心開啟帳戶活動:

  1. 登入 Play 管理中心
  2. 選取要使用帳戶活動的應用程式。
  3. 在左選單的 Release「版本」部分,依序前往 Setup > App integrity.「設定」>「應用程式完整性」
  4. 前往「Integrity API」分頁標籤。
  5. 在頁面的Responses「回應」部分,按一下Account activity「帳戶活動」旁邊的Turn on「開啟」
  6. 在顯示的視窗中按一下Turn on「開啟」

一旦您開啟或關閉帳戶活動,系統就會刪除您在 Play 管理中心設定的任何 Play Integrity API 測試回應,您必須再次建立這些回應。

步驟 4:將 Integrity API 整合至應用程式的後端伺服器

如果您尚未如此,按照文件說明將 Play Integrity API 整合到應用程式以及應用程式的後端伺服器。

步驟 5:處理帳戶活動

啟用後,Play Integrity API 酬載中的 accountDetails 欄位會包含新的帳戶活動信號,代表與裝置上的使用者帳戶相關聯的活動。

accountDetails: {
  // Represents the licensing status of the user session.
  // This field can be LICENSED, UNLICENSED, or UNEVALUATED.
  appLicensingVerdict: "LICENSED"

  // Represents the activity level associated with the user accounts on
  // the device of the user session.
  accountActivity: {
     // This field can be UNEVALUATED, UNUSUAL,
     // UNKNOWN, TYPICAL_BASIC, TYPICAL_STRONG
     activityLevel: "UNUSUAL"
  }
}

accountActivity 可以採用下列的值:

不尋常
裝置上至少有一個使用者帳戶的 Google Play 商店活動不尋常。Google Play 建議檢查使用者是否為真實使用者。
不明
Google Play 針對裝置上的使用者帳戶沒有足夠的商店活動。這個帳戶可能是新帳戶,或是 Google Play 上沒有活動。
正常 (基本)
Google Play 商店活動通常是使用者帳戶或裝置上的帳戶。
正常 (強)
Google Play 商店活動通常為使用者帳戶或裝置上的帳戶,通常會有較難以複製的信號。
UNEVALUATED

由於未符合必要要求,系統不會評估帳戶活動。

這可能由許多因素造成,包括:

  • 裝置可信度不足。
  • Google Play 無法辨識裝置上安裝的應用程式版本。
  • 使用者未登入 Google Play。
  • 使用者沒有存取應用程式所需的授權。

如要檢查裝置上的使用者帳戶是否有異常的帳戶活動,請確認 accountActivity.activityLevel 是否如預期運作,如以下程式碼片段所示:

Kotlin

val requestDetails = JSONObject(payload).getJSONObject("accountDetails")
val accountActivity = requestDetails.getJSONObject("accountActivity")
val activityLevel = accountActivity.getString("activityLevel")

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

Java

JSONObject requestDetails =
    new JSONObject(payload).getJSONObject("accountDetails");
JSONObject accountActivity =
    new JSONObject(requestDetails).getJSONObject("accountActivity");
String activityLevel = accountActivity.getString("activityLevel");

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

步驟 6:測試與帳戶活動的整合

您可以使用可用的 Play Integrity API 測試功能,建立測試以評估 Play Integrity API 中的帳戶活動等級與應用程式的互動方式。如需這項測試功能的操作說明,請參閱 Play 管理中心的說明中心

步驟 7:向 Google Play 提供搶先體驗意見回饋

我們希望搶先體驗計畫的參與者能對帳戶活動提供意見。如要提供意見,請傳送電子郵件至 integrity-api-eap@google.com。我們的開發人員研究團隊也會與您聯絡,安排排列訪談。我們希望瞭解下列資訊:

  • 您帳戶活動的等級與應用程式或遊戲中已知的濫用帳戶之間的關聯有多準確?
  • 帳戶活動的目標對象分佈和其他 Play Integrity API 判定結果是否符合您的期望?
  • 您正試著使用帳戶活動和其他 Play Integrity API 判定結果解決哪些濫用問題?
  • 您打算根據帳戶活動和其他 Play Integrity API 判定結果變更哪些功能?

其他 Play 完整性工具

建議您考慮使用其他完整性防護工具做為反濫用策略:

  • 排除不可信任的裝置,讓使用者無法透過 Google Play 找到並安裝您的應用程式。但使用者仍可透過其他方式 (例如側載) 取得及安裝您的應用程式。
  • 使用自動完整性防護功能來防範未經授權的修改與未對您的程式碼做任何修改的傳播行為。如果您目前無法使用這項功能,請與合作夥伴經理聯絡。
  • 要求套件名稱保護 (搶先體驗計畫),只要是在具備 Google Play 服務的 Android 11 以上版本裝置安裝應用程式,就能防範不明和遭到修改的應用程式版本。