使用 Play 年齡信號 API (Beta 版)

使用 Play 年齡信號 API (測試版) 即表示您同意服務條款,並同意遵守所有 Google Play 開發人員政策。如要要求取得使用者的狀態和年齡層,請在執行階段從應用程式呼叫 API。Play Age Signals API 只會傳回使用者位於特定區域的資料,因為 Play 必須依法提供這些區域的年齡類別資料。

Play 會根據適用管轄區和區域定義的年齡層,傳回年齡範圍。在適用管轄區和地區,API 預設會傳回 0-12 歲、13-15 歲、16-17 歲和 18 歲以上年齡層,但這些年齡層可能會根據地區規定而異。

將 Play 年齡信號 API 整合到應用程式中

如要將 Play 年齡信號 API 整合到應用程式中,請在應用程式的 build.gradle 檔案中新增下列依附元件:

implementation 'com.google.android.play:age-signals:0.0.1-beta01'

要求年齡信號

以下是發出年齡信號要求的範例:

// Create an instance of a manager
AgeSignalsManager ageSignalsManager =
    AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext());

// Request an age signals check
ageSignalsManager
    .checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(
        ageSignalsResult -> {
          // Store the install ID for later...
          String installId = ageSignalsResult.installId();

          if (ageSignalsResult
              .userStatus()
              .equals(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED)) {
            // Disallow access ...
          } else {
            // Do something else if the user is SUPERVISED, VERIFIED, etc.
          }
        });

Google Play 會在裝置上儲存每位使用者的年齡信號。當使用受監護 Google 帳戶的使用者進入新的年齡範圍時,Google Play 會在使用者生日後的 2 到 8 週內,自動更新該使用者的快取年齡信號。

(選用) 接收自訂年齡層

在適用管轄區和區域,API 傳回的預設年齡範圍為 0-12 歲、13-15 歲、16-17 歲和 18 歲以上。這些範圍日後可能會根據當地規定變更。

如要根據應用程式的最低年齡自訂年齡範圍,您也可以在 Google Play 管理中心的「年齡信號」頁面,提供應用程式的最低年齡。Age Signals API 會傳回自訂年齡層。舉例來說,如果您提供 9 歲、15 歲和 17 歲的最低年齡,14 歲的使用者就會落在 10 到 15 歲的年齡範圍內。最低年齡必須至少相差 2 歲,且每年只能變更一次。

如要自訂 Age Signals API 傳回的年齡層,您可以提供應用程式的最低年齡:

  1. 前往 Play 管理中心的「年齡信號」頁面。
  2. 在「應用程式的最低適用年齡」分頁中,輸入應用程式的最低適用年齡,最多可輸入三個。
  3. 按一下 [儲存]

年齡信號回應

Play 年齡信號 API (Beta 版) 回應包含下列欄位和值。這些值可能會有所變動。如要取得最新值,請在應用程式開啟時要求 API 回應。您有責任使用這些信號提供適齡體驗。

回應欄位 說明
userStatus 已驗證 使用者已年滿 18 歲。Google 會使用商業上合理的驗證方法 (例如政府核發的身分證件、信用卡或臉部年齡估算) 驗證使用者年齡。
受監護 使用者擁有受監護的 Google 帳戶,且年齡由家長設定。 使用 ageLowerageUpper 判斷使用者的年齡範圍。
SUPERVISED_APPROVAL_PENDING 使用者擁有受監督的 Google 帳戶,且監護家長尚未核准一或多項待處理的重大變更。 使用 ageLowerageUpper 判斷使用者的年齡範圍。 使用 mostRecentApprovalDate 判斷上次核准的重大變更。
SUPERVISED_APPROVAL_DENIED 使用者擁有受監護的 Google 帳戶,且監護家長拒絕核准一或多項重大變更。 使用 ageLowerageUpper 判斷使用者的年齡範圍。 使用 mostRecentApprovalDate 判斷上次核准的重大變更。
不明 使用者尚未在適用管轄區和地區完成驗證或接受監督。這些使用者可能年滿 18 歲,也可能未滿 18 歲。如要從 Google Play 取得年齡信號,請要求使用者前往 Play 商店解決狀態問題。
空白 (空白值) 其他使用者則會傳回這個值。
ageLower 0 至 18 受監督使用者年齡範圍的下限 (含)。 使用 ageLowerageUpper 判斷使用者的年齡範圍。
空白 (空白值)
userStatus不明或空白。
ageUpper 2 至 18 歲 受監督使用者年齡範圍的上限 (含)。 使用 ageLowerageUpper 判斷使用者的年齡範圍。
空白 (空白值) userStatus受到監護,且使用者家長聲明年滿 18 歲。 userStatus 為已驗證、不明或空白。
mostRecentApprovalDate 日期戳記 effective from最近一次獲准的重大變更日期。安裝應用程式時,系統會使用安裝前最近一次重大變更的日期。
空白 (空白值) userStatus 受到監督,且未提交重大變更。 userStatus 為已驗證、不明或空白。
installID Play 產生的英數字元 ID。 Google Play 指派給受監護使用者安裝的 ID,用於通知您應用程式核准遭撤銷。 請參閱撤銷應用程式核准的說明文件。
空白 (空白值) userStatus 為已驗證、不明或空白。

處理 API 錯誤代碼

如果應用程式發出 Play Age Signals API (Beta 版) 要求,但呼叫失敗,應用程式會收到錯誤代碼。造成這類錯誤的原因有很多,例如 Play 商店應用程式版本過舊。

重試策略

在使用者處於工作階段中時,建議您實作重試策略,並以最大重試次數做為結束條件,盡可能避免干擾使用者體驗。

錯誤代碼的數值 錯誤代碼 說明 可重試
-1 API_NOT_AVAILABLE Play 年齡信號 API 無法使用。裝置上安裝的 Play 商店應用程式版本可能過舊。

解決方法
  • 請使用者更新 Play 商店。
-2 PLAY_STORE_NOT_FOUND 裝置上找不到 Play 商店應用程式。 請使用者安裝或啟用 Play 商店。
-3 NETWORK_ERROR 找不到可用的網路。 請使用者檢查連線狀態。
-4 PLAY_SERVICES_NOT_FOUND Play 服務的版本過舊或無法使用。請使用者安裝、更新或啟用 Play 服務。
-5 CANNOT_BIND_TO_SERVICE 無法與 Play 商店中的服務繫結,原因可能是裝置上安裝的 Play 商店版本過舊,或是裝置記憶體超載。請使用者更新 Play 商店應用程式。 以指數輪詢方式重試。
-6 PLAY_STORE_VERSION_OUTDATED Play 商店應用程式需要更新。 請使用者更新 Play 商店應用程式。
-7 PLAY_SERVICES_VERSION_OUTDATED Play 服務需要更新。請使用者更新 Play 服務。
-8 CLIENT_TRANSIENT_ERROR 用戶端裝置發生暫時性錯誤。 實作重試策略,並以最大重試次數做為結束條件。如果問題仍未解決,請使用者稍後再試。
-9 APP_NOT_OWNED 應用程式不是透過 Google Play 安裝。 請使用者從 Google Play 取得您的應用程式。
-100 INTERNAL_ERROR 未知的內部錯誤。 實作重試策略,並以最大重試次數做為結束條件。如果問題仍未解決,請要求使用者稍後再試。如果持續失敗,請聯絡 Google Play 開發人員支援團隊,並在主旨中加入 Play 年齡信號 API,盡可能提供詳細的技術資訊 (例如錯誤報告)。