使用 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 傳回的年齡層,您可以提供應用程式的最低年齡:
年齡信號回應
Play 年齡信號 API (Beta 版) 回應包含下列欄位和值。這些值可能會有所變動。如要取得最新值,請在應用程式開啟時要求 API 回應。您有責任使用這些信號提供適齡體驗。
回應欄位 | 值 | 說明 |
---|---|---|
userStatus |
已驗證 | 使用者已年滿 18 歲。Google 會使用商業上合理的驗證方法 (例如政府核發的身分證件、信用卡或臉部年齡估算) 驗證使用者年齡。 |
受監護 | 使用者擁有受監護的 Google 帳戶,且年齡由家長設定。
使用 ageLower 和 ageUpper 判斷使用者的年齡範圍。 |
|
SUPERVISED_APPROVAL_PENDING | 使用者擁有受監督的 Google 帳戶,且監護家長尚未核准一或多項待處理的重大變更。
使用 ageLower 和 ageUpper 判斷使用者的年齡範圍。
使用 mostRecentApprovalDate 判斷上次核准的重大變更。 |
|
SUPERVISED_APPROVAL_DENIED | 使用者擁有受監護的 Google 帳戶,且監護家長拒絕核准一或多項重大變更。
使用 ageLower 和 ageUpper 判斷使用者的年齡範圍。
使用 mostRecentApprovalDate 判斷上次核准的重大變更。 |
|
不明 | 使用者尚未在適用管轄區和地區完成驗證或接受監督。這些使用者可能年滿 18 歲,也可能未滿 18 歲。如要從 Google Play 取得年齡信號,請要求使用者前往 Play 商店解決狀態問題。 | |
空白 (空白值) | 其他使用者則會傳回這個值。 | |
ageLower |
0 至 18 | 受監督使用者年齡範圍的下限 (含)。
使用 ageLower 和 ageUpper 判斷使用者的年齡範圍。 |
空白 (空白值) |
userStatus 不明或空白。 |
|
ageUpper |
2 至 18 歲 | 受監督使用者年齡範圍的上限 (含)。
使用 ageLower 和 ageUpper 判斷使用者的年齡範圍。 |
空白 (空白值) | 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 商店應用程式版本可能過舊。 解決方法
|
是 |
-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,盡可能提供詳細的技術資訊 (例如錯誤報告)。 | 否 |