Play Age Signals API'yi (beta) kullanma

Play Age Signals API'yi (beta) kullanarak hizmet şartlarını kabul etmiş ve tüm Google Play geliştirici politikalarına uymayı kabul etmiş olursunuz. Kullanıcının durumunu ve yaş grubunu istemek için çalışma zamanında uygulamanızdan API'yi çağırırsınız. Google Play Age Signals API, yalnızca Google Play'in yaş kategorisi verileri sağlamasının yasal olarak zorunlu olduğu bölgelerde bulunan kullanıcılara ait verileri döndürür.

Play, geçerli yargı alanı ve bölgeler tarafından tanımlanan yaş aralıklarına göre bir yaş grubu döndürür. API'nin geçerli yargı alanları ve bölgelerde döndürdüğü varsayılan yaşlar 0-12, 13-15, 16-17 ve 18+ şeklindedir ancak özel yaş aralıkları da alınabilir. Google Play, kullanıcının doğum gününden sonraki 2-8 hafta içinde kullanıcının önbelleğe alınmış yaş sinyallerini otomatik olarak günceller.

Play Age Signals API'yi uygulamanıza entegre etme

Play Age Signals API, Android 6.0 (API düzeyi 23) ve sonraki sürümlerin yüklü olduğu telefonlarda, katlanabilir cihazlarda ve tabletlerde desteklenir. Play Age Signals API'yi uygulamanıza entegre etmek için uygulamanızın build.gradle dosyasına aşağıdaki bağımlılığı ekleyin:

implementation 'com.google.android.play:age-signals:0.0.3'

Yaş sinyalleri isteyin

Yaş sinyalleri isteğinde bulunma örneğini aşağıda görebilirsiniz:

Kotlin

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

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

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

Java

// 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.
          }
        });

(İsteğe bağlı) Özel yaş aralıkları alın

API'nin geçerli yargı alanları ve bölgelerde döndürdüğü varsayılan yaş aralıkları 0-12, 13-15, 16-17 ve 18+ şeklindedir.

Alternatif olarak, varsayılan yaş aralıklarını uygulamanızın minimum yaşlarına göre özelleştirmek için Google Play Console'daki Age Signals sayfasında uygulamanızın minimum yaşlarını belirtebilirsiniz. Döndürülen yaş aralıkları, varsayılan API yanıtını geçersiz kılar. Örneğin, minimum yaşları 9, 15 ve 17 olarak girerseniz 14 yaşındaki bir kullanıcı 10-15 yaş grubuna dahil edilir.

Age Signals API tarafından döndürülen varsayılan yaş aralıklarını özelleştirmek için uygulamanızın minimum yaşlarını belirtebilirsiniz:

  1. Play Console'da Yaş sinyalleri sayfasına gidin.
  2. Özel yaş aralıkları sekmesinde uygulamanız için en fazla üç minimum yaş girin. Minimum yaşlar arasında en az 2 yıl fark olmalıdır ve bu ayar yılda yalnızca bir kez değiştirilebilir.
  3. Kaydet'i tıklayın.

Yaş sinyalleri yanıtları

Play Age Signals API (Beta) yanıtı aşağıdaki alanları ve değerleri içerir. Değerler değişebilir. En son değerleri istiyorsanız uygulamanız açıldığında bir API yanıtı isteyin. Bu sinyalleri kullanarak yaşa uygun deneyimler sunmak sizin sorumluluğunuzdadır.

Yanıt alanı Değerler Açıklama
userStatus DOĞRULANDI Google, kullanıcının yaşını resmi kimlik, kredi kartı veya yüzle yaş tahmini gibi ticari olarak makul bir yöntem kullanarak doğruladı. userStatus değeri VERIFIED ise diğer alanları yoksayabilirsiniz.

Kullanıcının yaş grubunu belirlemek için ageLower ve ageUpper öğelerini kullanın.
BEYAN EDİLDİ Kullanıcının yaşı, kendisi, ebeveyni veya yasal vasisi tarafından belirtilmiş olmalıdır.

Kullanıcının yaş grubunu belirlemek için ageLower ve ageUpper öğelerini kullanın.
DENETLENEN Kullanıcının, yaşını belirleyen bir ebeveyn tarafından yönetilen gözetimli Google Hesabı olmalıdır.

Kullanıcının yaş grubunu belirlemek için ageLower ve ageUpper öğelerini kullanın.

Onaylanan son önemli değişikliği belirlemek için mostRecentApprovalDate simgesini kullanın.
SUPERVISED_APPROVAL_PENDING Kullanıcının gözetimli bir Google Hesabı var ve gözetimci ebeveyni, bekleyen önemli değişikliklerden birini veya daha fazlasını henüz onaylamadı.

Kullanıcının yaş grubunu belirlemek için ageLower ve ageUpper öğelerini kullanın.

Onaylanan son önemli değişikliği belirlemek için mostRecentApprovalDate simgesini kullanın.
SUPERVISED_APPROVAL_DENIED Kullanıcının gözetimli bir Google Hesabı var ve gözetimci ebeveyni, bir veya daha fazla önemli değişikliği onaylamadı.

Kullanıcının yaş grubunu belirlemek için ageLower ve ageUpper öğelerini kullanın.

Onaylanan son önemli değişikliği belirlemek için mostRecentApprovalDate simgesini kullanın.
BİLİNMİYOR Kullanıcının yaşı bilinmiyor ve kullanıcı, geçerli bir yargı alanında veya bölgede bulunuyor.

Yalnızca ABD eyaletlerinde geçerlidir: Google Play'den yaş sinyali almak için kullanıcıdan Play Store'u ziyaret ederek durumunu düzeltmesini isteyin.
null Kullanıcı, uygun yargı alanlarında ve bölgelerde bulunmuyor.

Veya kullanıcı, yaşını uygulamalarla paylaşmıyordur.
ageLower 0-18 Gözetimli kullanıcının yaş grubunun (kapsayıcı) alt sınırı.

Kullanıcının yaş aralığını belirlemek için ageLower ve ageUpper simgelerini kullanın.
null
userStatus bilinmiyor veya null.
ageUpper 2-18 Gözetimli kullanıcının yaş grubunun (dahil) üst sınırı.

Kullanıcının yaş aralığını belirlemek için ageLower ve ageUpper simgelerini kullanın.
null Ya userStatus gözetimli olmalı ve kullanıcının ebeveyninin onayladığı yaş 18'den büyük olmalıdır.

Veya userStatus bilinmiyor ya da null.
mostRecentApprovalDate Tarih damgası Onaylanan en son önemli değişikliğin effective from tarihi. Bir uygulama yüklendiğinde, yüklemeden önceki en son önemli değişikliğin tarihi kullanılır.
null Ya userStatus denetleniyor ve önemli bir değişiklik gönderilmedi.

Veya userStatus doğrulandı, bilinmiyor veya null.
installID Play tarafından oluşturulan alfanümerik kimlik. Google Play tarafından denetimli kullanıcı yüklemelerine atanan ve uygulama onayının iptal edildiğini size bildirmek için kullanılan kimlik. İptal edilen uygulama onayları ile ilgili dokümanları inceleyin.
null userStatus doğrulandı, bilinmiyor veya null.

Brezilya'daki kullanıcılar için örnek yanıtlar

Brezilya'da userStatus yalnızca DECLARED, UNKNOWN veya null olabilir.

Yaşını beyan eden ve uygulamalarla paylaşan bir kullanıcı için aşağıdakileri alırsınız:

  • userStatus, AgeSignalsVerificationStatus.DECLARED olurdu.
  • ageLower bir sayı olmalıdır (örneğin, 13).
  • ageUpper, bir sayı veya null (örneğin, 15) olmalıdır.
  • Diğer yanıt alanları null olur.

Yaşı bilinmeyen bir kullanıcı için aşağıdakileri alırsınız:

  • userStatus, AgeSignalsVerificationStatus.UNKNOWN olurdu.
  • Diğer yanıt alanları null olur.

Yaşı uygulamalarla paylaşılmayan bir kullanıcı için aşağıdakileri alırsınız:

  • userStatus, null olurdu.
  • Diğer yanıt alanları null olur.

Kullanıcının yaşı paylaşılabilir olduğunda kullanıcı durumu DECLARED olarak değişebilir.

ABD eyaletlerindeki kullanıcılar için örnek yanıtlar

ABD'deki geçerli eyaletlerde userStatus, VERIFIED, SUPERVISED, SUPERVISED_APPROVAL_PENDING, SUPERVISED_APPROVAL_DENIED, UNKNOWN veya null olabilir.

Doğrulanmış bir kullanıcı için aşağıdakileri alırsınız:

  • userStatus, AgeSignalsVerificationStatus.VERIFIED olurdu.
  • ageLower bir sayı (örneğin, 18) olur.
  • ageUpper, bir sayı veya null (örneğin, null) olmalıdır.
  • Diğer yanıt alanları null olur.

Gözetimli kullanıcılar için aşağıdakileri alırsınız:

  • userStatus, AgeSignalsVerificationStatus.SUPERVISED olurdu.
  • ageLower bir sayı olmalıdır (örneğin, 13).
  • ageUpper, bir sayı veya null (örneğin, 15) olmalıdır.
  • mostRecentApprovalDate, bir Java tarih nesnesi (örneğin, 2026-01-01) veya null (önemli bir değişiklik onaylanmamışsa) olur.
  • installID, Play tarafından oluşturulan alfanümerik bir kimlik olur (ör. 550e8400-e29b-41d4-a716-446655441111).

Onay bekleyen önemli bir değişiklik olan gözetimli kullanıcı için aşağıdakileri alırsınız:

  • userStatus, AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING olur.
  • ageLower bir sayı olmalıdır (örneğin, 13).
  • ageUpper, bir sayı veya null (örneğin, 15) olmalıdır.
  • mostRecentApprovalDate, bir Java tarih nesnesi (örneğin, 2026-01-01) veya null (önemli bir değişiklik onaylanmamışsa) olur.
  • installID, Play tarafından oluşturulan alfanümerik bir kimlik olur (ör. 550e8400-e29b-41d4-a716-446655441111).

API hata kodlarını işleme

Uygulamanız Play Age Signals API isteğinde bulunur ve çağrı başarısız olursa uygulamanız bir hata kodu alır. Bu hatalar, Play Store uygulamasının güncel olmaması gibi çeşitli nedenlerden kaynaklanabilir.

Yeniden deneme stratejisi

Kullanıcının oturumda olduğu durumlarda, hatanın kullanıcı deneyimini mümkün olduğunca az etkilemesi için çıkış koşulu olarak maksimum deneme sayısına sahip bir yeniden deneme stratejisi uygulamanızı öneririz.

Hata kodunun sayısal değeri Hata Kodu Açıklama Yeniden denenebilir
-1 API_NOT_AVAILABLE Play Age Signals API kullanılamıyor. Cihazda yüklü Play Store uygulaması sürümü eski olabilir.

Olası çözüm
  • Kullanıcıdan Play Store'u güncellemesini isteyin.
Evet
-2 PLAY_STORE_NOT_FOUND Cihazda Play Store uygulaması bulunmuyor. Kullanıcıdan Play Store'u yüklemesini veya etkinleştirmesini isteyin. Evet
-3 NETWORK_ERROR Kullanılabilir ağ bulunamadı. Kullanıcıdan bağlantıyı kontrol etmesini isteyin. Evet
-4 PLAY_SERVICES_NOT_FOUND Play Hizmetleri kullanılamıyor veya sürümü çok eski. Kullanıcıdan Play Hizmetleri'ni yüklemesini, güncellemesini veya etkinleştirmesini isteyin. Evet
-5 CANNOT_BIND_TO_SERVICE Play Store'daki hizmete bağlama işlemi başarısız oldu. Bunun nedeni, cihazda eski bir Play Store sürümünün yüklü olması veya cihaz belleğinin aşırı yüklenmiş olması olabilir. Kullanıcıdan Play Store uygulamasını güncellemesini isteyin. Eksponansiyel geri yüklemeyle yeniden deneyin. Evet
-6 PLAY_STORE_VERSION_OUTDATED Play Store uygulamasının güncellenmesi gerekiyor. Kullanıcıdan Play Store uygulamasını güncellemesini isteyin. Evet
-7 PLAY_SERVICES_VERSION_OUTDATED Play Hizmetleri'nin güncellenmesi gerekiyor. Kullanıcıdan Play Hizmetleri'ni güncellemesini isteyin. Evet
-8 CLIENT_TRANSIENT_ERROR İstemci cihazda geçici bir hata oluştu. Çıkış koşulu olarak maksimum deneme sayısını içeren bir yeniden deneme stratejisi uygulayın. Sorun devam ederse kullanıcıdan daha sonra tekrar denemesini isteyin. Evet
-9 APP_NOT_OWNED Uygulama, Google Play tarafından yüklenmemiştir. Kullanıcıdan uygulamanızı Google Play'den edinmesini isteyin. Hayır
-10 SDK_VERSION_OUTDATED Play Age Signals SDK sürümü artık desteklenmiyor. Kullanıcıdan, uygulamanızı Play Age Signals SDK'sının yeni bir sürümünü kullanan daha yeni bir sürüme güncellemesini isteyin. Hayır
-100 INTERNAL_ERROR Bilinmeyen dahili hata. Çıkış koşulu olarak maksimum deneme sayısını içeren bir yeniden deneme stratejisi uygulayın. Sorun devam ederse kullanıcıdan daha sonra tekrar denemesini isteyin. Doğrulama sürekli olarak başarısız olursa Google Play Geliştirici Destek Ekibi ile iletişime geçin, konuya Play Age Signals API'yi ekleyin ve mümkün olduğunca çok teknik ayrıntı (ör. hata raporu) ekleyin. Hayır