Play Age Signals API (बीटा वर्शन) का इस्तेमाल करना

Play Age Signals API (बीटा वर्शन) का इस्तेमाल करने का मतलब है कि आप सेवा की शर्तों से सहमत हैं. साथ ही, आप Google Play Developer Program की नीतियों का पालन करने के लिए भी सहमत हैं. उपयोगकर्ता की स्थिति और उम्र सीमा का अनुरोध करने के लिए, रनटाइम के दौरान अपने ऐप्लिकेशन से एपीआई को कॉल करना होता है. Play Age Signals API सिर्फ़ उन देशों/इलाकों में रहने वाले उपयोगकर्ताओं का डेटा दिखाता है जहां Google Play को कानूनी तौर पर, उम्र की कैटगरी से जुड़ा डेटा देना ज़रूरी है.

Google Play, लागू होने वाले अधिकार क्षेत्र और देशों/इलाकों के हिसाब से तय की गई उम्र के ग्रुप के आधार पर, उम्र सीमा दिखाता है. एपीआई, लागू होने वाले देशों/इलाकों और अधिकार क्षेत्रों में उम्र की कुछ डिफ़ॉल्ट सीमाएं दिखाता है. ये सीमाएं हैं: 0 से 12 साल, 13 से 15 साल, 16 से 17 साल, और 18 साल से ज़्यादा. हालांकि, उम्र की सीमाएं पसंद के मुताबिक भी तय की जा सकती हैं. Google Play, किसी व्यक्ति के जन्मदिन के दो से आठ हफ़्तों के अंदर, उस व्यक्ति के लिए कैश मेमोरी में सेव किए गए उम्र के सिग्नल को अपने-आप अपडेट कर देता है.

अपने ऐप्लिकेशन में Play Age Signals API को इंटिग्रेट करना

Play Age Signals API, Android 6.0 (एपीआई लेवल 23) और इसके बाद के वर्शन पर काम करने वाले फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइस, और टैबलेट पर काम करता है. अपने ऐप्लिकेशन में Play Age Signals API को इंटिग्रेट करने के लिए, अपने ऐप्लिकेशन की build.gradle फ़ाइल में यह डिपेंडेंसी जोड़ें:

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

उम्र से जुड़े सिग्नल का अनुरोध करना

उम्र से जुड़े सिग्नल के लिए अनुरोध करने का उदाहरण यहां दिया गया है:

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

(ज़रूरी नहीं) पसंद के मुताबिक उम्र की सीमाओं का डेटा

Play Age Signals API, लागू होने वाले देशों/इलाकों और अधिकार क्षेत्रों में डिफ़ॉल्ट तौर पर उम्र की कुछ सीमाएं दिखाता है. ये सीमाएं हैं: 0 से 12 साल, 13 से 15 साल, 16 से 17 साल, और 18 साल से ज़्यादा.

इसके अलावा, डिफ़ॉल्ट तौर पर दिखाई जाने वाली उम्र की सीमाओं को ऐप्लिकेशन के लिए तय की गई कम से कम उम्र के हिसाब से पसंद के मुताबिक बनाया जा सकता है. इसके लिए, Google Play Console में उम्र से जुड़े सिग्नल पेज पर जाकर, ऐप्लिकेशन इस्तेमाल करने वालों की कम से कम उम्र तय करें. उम्र की सीमाएं, एपीआई के डिफ़ॉल्ट जवाब को बदल देंगी. उदाहरण के लिए, अगर आपने 9, 15, और 17 साल की कैटगरी चुनी है, तो ऐप्लिकेशन इस्तेमाल करने वाला ऐसा उपयोगकर्ता जिसकी उम्र 14 साल है, वह 10 से 15 साल की उम्र सीमा में आएगा.

Age Signals API से मिलने वाले जवाब में शामिल उम्र की डिफ़ॉल्ट सीमाओं को पसंद के मुताबिक बनाने के लिए, आपका ऐप्लिकेशन इस्तेमाल करने के लिए कम से कम उम्र तय करें. ऐसा करने के लिए, यह तरीका अपनाएं:

  1. Play Console में उम्र के हिसाब से सिग्नल पेज पर जाएं.
  2. पसंद के मुताबिक तय की गई उम्र सीमाएं टैब पर जाकर, अपने ऐप्लिकेशन के लिए कम से कम तीन उम्र डालें. कम से कम उम्र की कैटगरी के बीच दो साल या इससे ज़्यादा का अंतर होना ज़रूरी है. इसे साल में एक बार बदला जा सकता है.
  3. सेव करें पर क्लिक करें.

उम्र से जुड़े सिग्नल से मिलने वाली जानकारी

Play Age Signals API (बीटा वर्शन) से मिली जानकारी में, ये फ़ील्ड और वैल्यू शामिल होती हैं. इन वैल्यू में बदलाव हो सकता है. अगर आपको सबसे नई वैल्यू चाहिए, तो ऐप्लिकेशन खुलने पर एपीआई से जानकारी पाने का अनुरोध करें. इन सिग्नल का इस्तेमाल करके, उम्र के हिसाब से सही अनुभव उपलब्ध कराना आपकी ज़िम्मेदारी है.

जानकारी का फ़ील्ड वैल्यू ब्यौरा
userStatus पुष्टि हो चुकी है Google ने उपयोगकर्ता की उम्र की पुष्टि करने के लिए, कारोबार के नज़रिये से सही तरीका इस्तेमाल किया हो. जैसे, सरकारी आईडी, क्रेडिट कार्ड या चेहरे से उम्र का अनुमान लगाना. अगर userStatus की वैल्यू VERIFIED है, तो अन्य फ़ील्ड को अनदेखा किया जा सकता है.

उपयोगकर्ता की उम्र सीमा का पता लगाने के लिए, ageLower और ageUpper का इस्तेमाल करें.
DECLARED उपयोगकर्ता की उम्र का एलान, उपयोगकर्ता, उसके माता-पिता या कानूनी अभिभावक ने किया हो.

उपयोगकर्ता की उम्र सीमा का पता लगाने के लिए, ageLower और ageUpper का इस्तेमाल करें.
निगरानी में है उपयोगकर्ता के पास निगरानी में रखा गया Google खाता हो जिसे उसके माता-पिता मैनेज करते हों और उन्होंने उपयोगकर्ता की उम्र सेट की हो.

उपयोगकर्ता की उम्र सीमा का पता लगाने के लिए, ageLower और ageUpper का इस्तेमाल करें.

मंज़ूरी मिलने पर किए गए आखिरी अहम बदलाव का पता लगाने के लिए, mostRecentApprovalDate का इस्तेमाल करें.
SUPERVISED_APPROVAL_PENDING उपयोगकर्ता के पास निगरानी में रखा गया Google खाता हो. साथ ही, निगरानी करने वाले माता-पिता/अभिभावक ने अब तक एक या उससे ज़्यादा अहम बदलावों को मंज़ूरी नहीं दी हो.

उपयोगकर्ता की उम्र सीमा का पता लगाने के लिए, ageLower और ageUpper का इस्तेमाल करें.

मंज़ूरी मिलने पर किए गए आखिरी अहम बदलाव का पता लगाने के लिए, mostRecentApprovalDate का इस्तेमाल करें.
SUPERVISED_APPROVAL_DENIED उपयोगकर्ता के पास निगरानी में रखा गया Google खाता हो. साथ ही, निगरानी करने वाले माता-पिता/अभिभावक ने एक या उससे ज़्यादा अहम बदलावों को मंज़ूरी देने से मना कर दिया हो.

उपयोगकर्ता की उम्र सीमा का पता लगाने के लिए, ageLower और ageUpper का इस्तेमाल करें.

मंज़ूरी मिलने पर किए गए आखिरी अहम बदलाव का पता लगाने के लिए, mostRecentApprovalDate का इस्तेमाल करें.
कोई जानकारी नहीं है उपयोगकर्ता की उम्र की जानकारी नहीं है और वह लागू होने वाले अधिकार क्षेत्र या इलाके में है.

सिर्फ़ अमेरिका के राज्यों में लागू: Google Play से उम्र का सिग्नल पाने के लिए, उपयोगकर्ता से Play Store पर जाकर उनकी स्थिति ठीक करने के लिए कहें.
null या तो उपयोगकर्ता, लागू होने वाले अधिकार क्षेत्रों और इलाकों में नहीं है.

या उपयोगकर्ता ने ऐप्लिकेशन के साथ अपनी उम्र शेयर नहीं की है.
ageLower 0 से 18 निगरानी में रखे गए उपयोगकर्ता की उम्र सीमा की सबसे कम उम्र (शामिल है).

उपयोगकर्ता की उम्र सीमा का पता लगाने के लिए, ageLower और ageUpper का इस्तेमाल करें.
null
userStatus के बारे में जानकारी नहीं है या null.
ageUpper 2 से 18 निगरानी में रखे गए उपयोगकर्ता की उम्र सीमा की सबसे ज़्यादा उम्र (शामिल है).

उपयोगकर्ता की उम्र सीमा का पता लगाने के लिए, ageLower और ageUpper का इस्तेमाल करें.
null या तो userStatus की निगरानी की जा रही हो और उपयोगकर्ता के माता-पिता ने पुष्टि की हो कि उसकी उम्र 18 साल से ज़्यादा हो.

या userStatus की जानकारी नहीं है या null है.
mostRecentApprovalDate डेटस्टैंप मंज़ूरी मिलने पर किए गए आखिरी अहम बदलाव के effective from की तारीख. किसी ऐप्लिकेशन को इंस्टॉल करने पर, इंस्टॉल करने से पहले हुए सबसे हाल के बड़े बदलाव की तारीख का इस्तेमाल किया जाता है.
null या तो userStatus की निगरानी की जा रही हो और कोई अहम बदलाव सबमिट न किया गया हो.

या userStatus की पुष्टि हो गई है, यह अज्ञात है या null है.
installID Google Play से जनरेट किया गया अल्फ़ान्यूमेरिक आईडी. यह आईडी, Google Play की ओर से निगरानी में रखे गए उपयोगकर्ता के इंस्टॉल किए गए ऐप्लिकेशन को असाइन किया जाता है. इसका इस्तेमाल, ऐप्लिकेशन के लिए दी गई अनुमति रद्द होने की सूचना देने के लिए किया जाता है. इस विषय से जुड़े लेख पढ़ें: ऐप्लिकेशन के लिए दी गई अनुमतियां जो वापस ले ली गईं.
null userStatus की पुष्टि हो गई है, यह अज्ञात है या null है.

ब्राज़ील में रहने वाले उपयोगकर्ताओं के लिए जवाबों के उदाहरण

ब्राज़ील में, userStatus की वैल्यू सिर्फ़ DECLARED, UNKNOWN या null हो सकती है.

जिस उपयोगकर्ता ने अपनी उम्र बताई है और उसे ऐप्लिकेशन के साथ शेयर किया है उसके लिए, आपको यह जानकारी मिलेगी:

  • userStatus AgeSignalsVerificationStatus.DECLARED होगी.
  • ageLower कोई संख्या होगी. जैसे, 13.
  • ageUpper कोई संख्या या null होगा. जैसे, 15.
  • जवाब के अन्य फ़ील्ड null होंगे.

ऐसे उपयोगकर्ता के लिए जिसकी उम्र की जानकारी नहीं है, आपको यह जानकारी मिलेगी:

  • userStatus AgeSignalsVerificationStatus.UNKNOWN होगी.
  • जवाब के अन्य फ़ील्ड null होंगे.

जिस उपयोगकर्ता की उम्र, ऐप्लिकेशन के साथ शेयर नहीं की जाती है उसके लिए आपको यह जानकारी मिलेगी:

  • userStatus null होगी.
  • जवाब के अन्य फ़ील्ड null होंगे.

जब उपयोगकर्ता की उम्र शेयर करने के लिए उपलब्ध होगी, तब उपयोगकर्ता की स्थिति DECLARED में बदल सकती है.

अमेरिका के राज्यों में रहने वाले उपयोगकर्ताओं के लिए जवाब के उदाहरण

अमेरिका के जिन राज्यों में यह सुविधा उपलब्ध है वहां userStatus की वैल्यू VERIFIED, SUPERVISED, SUPERVISED_APPROVAL_PENDING, SUPERVISED_APPROVAL_DENIED, UNKNOWN या null हो सकती है.

पुष्टि किए गए उपयोगकर्ता के लिए आपको यह जानकारी मिलेगी:

  • userStatus AgeSignalsVerificationStatus.VERIFIED होगी.
  • ageLower कोई संख्या होगी. उदाहरण के लिए, 18.
  • ageUpper कोई संख्या या null होगा. उदाहरण के लिए, null.
  • जवाब के अन्य फ़ील्ड null होंगे.

निगरानी में रखे गए उपयोगकर्ता के लिए, आपको यह जानकारी मिलेगी:

  • userStatus AgeSignalsVerificationStatus.SUPERVISED होगी.
  • ageLower कोई संख्या होगी. जैसे, 13.
  • ageUpper कोई संख्या या null होगा. जैसे, 15.
  • mostRecentApprovalDate एक Java डेट ऑब्जेक्ट होगा (उदाहरण के लिए, 2026-01-01) या null (अगर ज़रूरी बदलाव को मंज़ूरी नहीं मिली है).
  • installID, Play से जनरेट किया गया अल्फ़ान्यूमेरिक आईडी होगा. उदाहरण के लिए, 550e8400-e29b-41d4-a716-446655441111.

निगरानी में रखे गए किसी ऐसे उपयोगकर्ता के लिए जिसके खाते में अहम बदलाव करने की अनुमति मिलना बाकी है, आपको ये सूचनाएं मिलेंगी:

  • userStatus AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING होगा.
  • ageLower कोई संख्या होगी. जैसे, 13.
  • ageUpper कोई संख्या या null होगा. जैसे, 15.
  • mostRecentApprovalDate एक Java डेट ऑब्जेक्ट होगा (उदाहरण के लिए, 2026-01-01) या null (अगर ज़रूरी बदलाव को मंज़ूरी नहीं मिली है).
  • installID, Play से जनरेट किया गया अल्फ़ान्यूमेरिक आईडी होगा. उदाहरण के लिए, 550e8400-e29b-41d4-a716-446655441111.

एपीआई के गड़बड़ी कोड मैनेज करना

अगर आपका ऐप्लिकेशन, Play Age Signals API के लिए अनुरोध करता है और कॉल पूरा नहीं होता है, तो आपके ऐप्लिकेशन को गड़बड़ी का कोड मिलता है. ये गड़बड़ियां कई वजहों से हो सकती हैं. जैसे, Play Store ऐप्लिकेशन का पुराना वर्शन इस्तेमाल किया जाना.

फिर से कोशिश करने की रणनीति

अगर उपयोगकर्ता सेशन में है, तो हमारा सुझाव है कि फिर से कोशिश करने की रणनीति लागू करें. इसमें, कोशिशों की ज़्यादा से ज़्यादा संख्या को एग्ज़िट की शर्त के तौर पर सेट करें, ताकि गड़बड़ी से उपयोगकर्ता अनुभव पर कम से कम असर पड़े.

गड़बड़ी के कोड की वैल्यू, संख्या में गड़बड़ी का कोड ब्यौरा फिर से कोशिश की जा सकती है
-1 API_NOT_AVAILABLE Play Age Signals API उपलब्ध नहीं है. ऐसा हो सकता है कि डिवाइस पर Play Store ऐप्लिकेशन का पुराना वर्शन इंस्टॉल हो.

समस्या हल करने का तरीका
  • उपयोगकर्ता से Play Store को अपडेट करने के लिए कहें.
हां
-2 PLAY_STORE_NOT_FOUND डिवाइस पर Play Store ऐप्लिकेशन नहीं मिला. उपयोगकर्ता से Play Store इंस्टॉल करने या उसे चालू करने के लिए कहें. हां
-3 NETWORK_ERROR कोई भी नेटवर्क उपलब्ध नहीं है. उपयोगकर्ता से कनेक्शन की जांच करने के लिए कहें. हां
-4 PLAY_SERVICES_NOT_FOUND Play Services उपलब्ध नहीं है या इसका वर्शन बहुत पुराना है. उपयोगकर्ता से Play services को इंस्टॉल, अपडेट या चालू करने के लिए कहें. हां
-5 CANNOT_BIND_TO_SERVICE Play Store में सेवा से बाइंड नहीं किया जा सका. ऐसा डिवाइस पर Play Store का पुराना वर्शन इंस्टॉल होने या डिवाइस की मेमोरी ज़्यादा भरी होने की वजह से हो सकता है. उपयोगकर्ता से Play Store ऐप्लिकेशन को अपडेट करने के लिए कहें. एक्स्पोनेंशियल बैकऑफ़ के साथ फिर से कोशिश करें. हां
-6 PLAY_STORE_VERSION_OUTDATED Play Store ऐप्लिकेशन को अपडेट करना ज़रूरी है. उपयोगकर्ता से Play Store ऐप्लिकेशन को अपडेट करने के लिए कहें. हां
-7 PLAY_SERVICES_VERSION_OUTDATED Play Services को अपडेट करना ज़रूरी है. उपयोगकर्ता से Play Services को अपडेट करने के लिए कहें. हां
-8 CLIENT_TRANSIENT_ERROR क्लाइंट डिवाइस में कुछ समय के लिए कोई गड़बड़ी हुई. फिर से कोशिश करने की रणनीति लागू करें. इसमें कोशिश करने की ज़्यादा से ज़्यादा संख्या को एग्ज़िट की शर्त के तौर पर इस्तेमाल करें. अगर समस्या अब भी बनी रहती है, तो उपयोगकर्ता से कुछ समय बाद फिर से कोशिश करने के लिए कहें. हां
-9 APP_NOT_OWNED ऐप्लिकेशन को Google Play से इंस्टॉल नहीं किया गया था. उपयोगकर्ता को Google Play से आपका ऐप्लिकेशन डाउनलोड करने के लिए कहें. नहीं
-10 SDK_VERSION_OUTDATED Play Age Signals SDK का यह वर्शन अब काम नहीं करता. उपयोगकर्ता से अपने ऐप्लिकेशन को ऐसे नए वर्शन में अपडेट करने के लिए कहें जिसमें Play Age Signals SDK का नया वर्शन इस्तेमाल किया गया हो. नहीं
-100 INTERNAL_ERROR सिस्टम में कोई अज्ञात गड़बड़ी हुई. फिर से कोशिश करने की रणनीति लागू करें. इसमें कोशिश करने की ज़्यादा से ज़्यादा संख्या को एग्ज़िट की शर्त के तौर पर इस्तेमाल करें. अगर समस्या अब भी बनी रहती है, तो उपयोगकर्ता से कुछ समय बाद फिर से कोशिश करने के लिए कहें. अगर इसमें लगातार गड़बड़ी आती है, तो Google Play डेवलपर सहायता टीम से संपर्क करें. विषय में Play Age Signals API शामिल करें. साथ ही, ज़्यादा से ज़्यादा तकनीकी जानकारी शामिल करें. जैसे, गड़बड़ी की रिपोर्ट. नहीं