Bằng việc sử dụng API Tín hiệu về độ tuổi của Play (bản thử nghiệm), bạn đồng ý với điều khoản dịch vụ và đồng ý tuân thủ tất cả chính sách dành cho nhà phát triển của Google Play. Để yêu cầu trạng thái và độ tuổi của người dùng, bạn gọi API từ ứng dụng của mình trong thời gian chạy. Play Age Signals API chỉ trả về dữ liệu cho người dùng ở những khu vực mà Play bắt buộc phải cung cấp dữ liệu danh mục độ tuổi theo luật.
Play trả về một độ tuổi dựa trên các nhóm tuổi do khu vực tài phán và khu vực hiện hành xác định. Độ tuổi mặc định mà API trả về ở các khu vực tài phán và khu vực áp dụng là 0-12, 13-15, 16-17 và 18+, nhưng những độ tuổi này có thể thay đổi dựa trên các yêu cầu theo khu vực.
Tích hợp Play Age Signals API vào ứng dụng
Để tích hợp Play Age Signals API vào ứng dụng, hãy thêm phần phụ thuộc sau vào tệp build.gradle
của ứng dụng:
implementation 'com.google.android.play:age-signals:0.0.1-beta01'
Yêu cầu tín hiệu về độ tuổi
Sau đây là ví dụ về cách đưa ra yêu cầu về tín hiệu độ tuổi:
// 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 lưu trữ tín hiệu về độ tuổi trên thiết bị cho từng người dùng. Khi người dùng có Tài khoản Google được giám sát chuyển sang một độ tuổi mới, Google Play sẽ tự động cập nhật các tín hiệu độ tuổi được lưu vào bộ nhớ đệm cho người dùng đó trong vòng từ 2 đến 8 tuần kể từ ngày sinh nhật của người dùng.
(Không bắt buộc) Nhận độ tuổi tuỳ chỉnh
Các độ tuổi mặc định mà API trả về ở những khu vực tài phán và khu vực áp dụng là 0-12, 13-15, 16-17 và 18+. Các độ tuổi này có thể thay đổi trong tương lai dựa trên các yêu cầu của địa phương.
Ngoài ra, để tuỳ chỉnh các độ tuổi theo độ tuổi tối thiểu của ứng dụng, bạn có thể cung cấp các độ tuổi tối thiểu này cho ứng dụng của mình trên trang Age signals (Tín hiệu về độ tuổi) trong Google Play Console. Age Signals API trả về các độ tuổi tuỳ chỉnh. Ví dụ: nếu bạn cung cấp độ tuổi tối thiểu là 9, 15 và 17, thì người dùng 14 tuổi sẽ nằm trong độ tuổi từ 10 đến 15. Các độ tuổi tối thiểu phải cách nhau ít nhất 2 năm và bạn có thể thay đổi độ tuổi tối thiểu mỗi năm một lần.
Để tuỳ chỉnh các độ tuổi mà Age Signals API trả về, bạn có thể cung cấp độ tuổi tối thiểu cho ứng dụng của mình:
- Chuyển đến trang Tín hiệu về độ tuổi trong Play Console.
- Trên thẻ Độ tuổi tối thiểu của ứng dụng, hãy nhập tối đa 3 độ tuổi tối thiểu cho ứng dụng của bạn.
- Nhấp vào Lưu.
Câu trả lời dựa trên dấu hiệu về độ tuổi
Phản hồi của API Tín hiệu về độ tuổi của Play (bản thử nghiệm) bao gồm các trường và giá trị sau. Các giá trị này có thể thay đổi. Nếu bạn muốn có các giá trị gần đây nhất, hãy yêu cầu phản hồi API khi ứng dụng của bạn mở. Bạn có trách nhiệm cung cấp trải nghiệm phù hợp với lứa tuổi bằng cách sử dụng những tín hiệu này.
Trường phản hồi | Giá trị | Mô tả |
---|---|---|
userStatus |
ĐÃ XÁC MINH | Người dùng trên 18 tuổi. Google đã xác minh tuổi của người dùng bằng một phương thức hợp lý về mặt thương mại, chẳng hạn như giấy tờ tuỳ thân do chính phủ cấp, thẻ tín dụng hoặc công nghệ ước tính tuổi dựa trên khuôn mặt. |
CHỊU SỰ GIÁM SÁT | Người dùng có Tài khoản Google được giám sát do cha mẹ quản lý và cha mẹ đặt độ tuổi cho người dùng.
Sử dụng ageLower và ageUpper để xác định độ tuổi của người dùng. |
|
SUPERVISED_APPROVAL_PENDING | Người dùng có một Tài khoản Google được giám sát và cha mẹ giám sát của họ chưa phê duyệt một hoặc nhiều thay đổi quan trọng đang chờ xử lý.
Sử dụng ageLower và ageUpper để xác định độ tuổi của người dùng.
Dùng mostRecentApprovalDate để xác định thay đổi đáng kể gần đây nhất đã được phê duyệt. |
|
SUPERVISED_APPROVAL_DENIED | Người dùng có Tài khoản Google được giám sát và cha mẹ giám sát của họ đã từ chối phê duyệt một hoặc nhiều thay đổi quan trọng.
Sử dụng ageLower và ageUpper để xác định độ tuổi của người dùng.
Dùng mostRecentApprovalDate để xác định thay đổi đáng kể gần đây nhất đã được phê duyệt. |
|
UNKNOWN (KHÔNG XÁC ĐỊNH) | Người dùng chưa được xác minh hoặc giám sát ở các khu vực tài phán và khu vực áp dụng. Những người dùng này có thể trên hoặc dưới 18 tuổi. Để nhận được tín hiệu về độ tuổi từ Google Play, hãy yêu cầu người dùng truy cập vào Cửa hàng Play để giải quyết trạng thái của họ. | |
Trống (giá trị trống) | Tất cả người dùng khác đều trả về giá trị này. | |
ageLower |
0 đến 18 | Giới hạn dưới (bao gồm cả giá trị này) trong độ tuổi của người dùng được giám sát.
Sử dụng ageLower và ageUpper để xác định độ tuổi của người dùng. |
Trống (giá trị trống) |
userStatus là tệp không xác định hoặc trống. |
|
ageUpper |
2 đến 18 | Giới hạn trên (bao gồm cả giá trị này) của độ tuổi của người dùng được giám sát.
Sử dụng ageLower và ageUpper để xác định độ tuổi của người dùng. |
Trống (giá trị trống) | Một trong hai trường hợp sau: userStatus được giám sát và cha mẹ của người dùng đã xác nhận rằng người dùng trên 18 tuổi.
Hoặc userStatus đã được xác minh, không xác định hoặc trống. |
|
mostRecentApprovalDate |
Dấu ngày | Ngày effective from của thay đổi quan trọng gần đây nhất đã được phê duyệt. Khi một ứng dụng được cài đặt, ngày có thay đổi đáng kể gần đây nhất trước khi cài đặt sẽ được sử dụng. |
Trống (giá trị trống) | Một là userStatus được giám sát và không có thay đổi đáng kể nào được gửi.
Hoặc userStatus được xác minh, không xác định hoặc trống. |
|
installID |
Mã nhận dạng gồm chữ và số do Play tạo. | Mã nhận dạng do Google Play chỉ định cho lượt cài đặt của người dùng được giám sát, dùng cho mục đích thông báo cho bạn về việc thu hồi phê duyệt ứng dụng. Xem tài liệu về quyết định phê duyệt ứng dụng đã bị thu hồi. |
Trống (giá trị trống) | userStatus đã được xác minh, không xác định hoặc trống. |
Xử lý mã lỗi API
Nếu ứng dụng của bạn đưa ra yêu cầu API Tính hiệu về độ tuổi của Play (beta) và lệnh gọi không thành công, thì ứng dụng sẽ nhận được một mã lỗi. Những lỗi này có thể xảy ra vì nhiều lý do, chẳng hạn như ứng dụng Cửa hàng Play đã lỗi thời.
Chiến lược thử lại
Trong trường hợp người dùng đang hoạt động, bạn nên triển khai một chiến lược thử lại với điều kiện thoát là số lần thử tối đa để hạn chế tối đa việc lỗi làm gián đoạn trải nghiệm người dùng.
Giá trị số của mã lỗi | Mã lỗi | Mô tả | Có thể thử lại |
---|---|---|---|
-1 | API_NOT_AVAILABLE | Play Age Signals API không hoạt động. Phiên bản ứng dụng Cửa hàng Play được cài đặt trên thiết bị có thể đã cũ. Giải pháp có thể áp dụng
|
Có |
-2 | PLAY_STORE_NOT_FOUND | Không tìm thấy ứng dụng Cửa hàng Play trên thiết bị. Yêu cầu người dùng cài đặt hoặc bật Cửa hàng Play. | Có |
-3 | NETWORK_ERROR | Không tìm thấy bất cứ mạng nào. Hãy yêu cầu người dùng kiểm tra kết nối. | Có |
-4 | PLAY_SERVICES_NOT_FOUND | Không có Dịch vụ Play hoặc phiên bản quá cũ. Yêu cầu người dùng cài đặt, cập nhật hoặc bật Dịch vụ Google Play. | Có |
-5 | CANNOT_BIND_TO_SERVICE | Không liên kết được với dịch vụ trong Cửa hàng Play. Điều này có thể là do phiên bản Cửa hàng Play được cài đặt trên thiết bị đã cũ hoặc bộ nhớ thiết bị đã quá tải. Yêu cầu người dùng cập nhật ứng dụng Cửa hàng Play. Thử lại với thời gian đợi luỹ thừa. | Có |
-6 | PLAY_STORE_VERSION_OUTDATED | Người dùng cần cập nhật ứng dụng Cửa hàng Play. Yêu cầu người dùng cập nhật ứng dụng Cửa hàng Play. | Có |
-7 | PLAY_SERVICES_VERSION_OUTDATED | Cần cập nhật Dịch vụ Google Play. Yêu cầu người dùng cập nhật Dịch vụ Play. | Có |
-8 | CLIENT_TRANSIENT_ERROR | Đã xảy ra lỗi tạm thời trong thiết bị ứng dụng. Triển khai chiến lược thử lại với số lần thử tối đa làm điều kiện thoát. Nếu vấn đề vẫn chưa được giải quyết, hãy yêu cầu người dùng thử lại sau. | Có |
-9 | APP_NOT_OWNED | Ứng dụng này không được cài đặt qua Google Play. Yêu cầu người dùng tải ứng dụng của bạn xuống từ Google Play. | Không |
-100 | INTERNAL_ERROR | Lỗi nội bộ không xác định. Triển khai chiến lược thử lại với số lần thử tối đa làm điều kiện thoát. Nếu vấn đề vẫn chưa được giải quyết, hãy yêu cầu người dùng thử lại sau. Nếu yêu cầu liên tục không thành công, hãy liên hệ với nhóm hỗ trợ nhà phát triển của Google Play, thêm Play Age Signals API vào tiêu đề và cung cấp càng nhiều thông tin kỹ thuật càng tốt (chẳng hạn như báo cáo lỗi). | Không |