सेटअप

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

Play Integrity API से जानकारी पाने की सुविधा चालू करना

Play Integrity API को कॉल करने वाले हर ऐप्लिकेशन या एसडीके टूल को Google Cloud प्रोजेक्ट का इस्तेमाल करना होगा, ताकि एपीआई के इस्तेमाल पर नज़र रखी जा सके. Google Play पर मौजूद ऐप्लिकेशन, Google Play Console में किसी Cloud प्रोजेक्ट को लिंक कर सकते हैं. इससे, Play Integrity API से जानकारी पाने की सुविधा चालू की जा सकती है. अगर आपको कोई नया Cloud प्रोजेक्ट बनाना है या आपका ऐप्लिकेशन सिर्फ़ Google Play के बाहर उपलब्ध है, तो Google Cloud Console में जाकर, Play Integrity API से जानकारी पाने की सुविधा चालू की जा सकती है.

Google Play Console में सेट अप करना (सुझाया गया)

Google Play Console में, Play Integrity API से जानकारी पाने की सुविधा चालू करने पर, आपको कॉन्फ़िगरेशन के अतिरिक्त विकल्पों, टेस्टिंग की सुविधाओं, और एपीआई रिपोर्टिंग का ऐक्सेस मिलेगा. यह विकल्प सिर्फ़ Google Play पर मौजूद ऐप्लिकेशन के लिए उपलब्ध है. रिलीज़ करें > ऐप्लिकेशन इंटेग्रिटी पर जाएं. Play Integrity API में जाकर, Cloud प्रोजेक्ट लिंक करें को चुनें. वह Cloud प्रोजेक्ट चुनें जिसे अपने ऐप्लिकेशन से लिंक करना है. इससे, Play Integrity API से जानकारी पाने की सुविधा चालू हो जाएगी. अब अपने ऐप्लिकेशन में Play Integrity API को इंटिग्रेट किया जा सकता है.

Google Cloud Console में सेट अप करना

Google Cloud Console में, नया Cloud प्रोजेक्ट बनाएं या कोई ऐसा मौजूदा Cloud प्रोजेक्ट चुनें जिसका इस्तेमाल आपको Play Integrity API के साथ करना है. एपीआई और सेवाएं पर जाएं. एपीआई और सेवाएं चालू करें को चुनें. Play Integrity API खोजें. इसके बाद, इसे चालू करें. अब अपने ऐप्लिकेशन में Play Integrity API को इंटिग्रेट किया जा सकता है.

एसडीके टूल की उपलब्ध कराने वाली कंपनियों के लिए, सेट अप करने के निर्देश

एसडीके टूल उपलब्ध कराने वाली कंपनियों को Play Integrity API को कॉल करने के लिए, अपने Google Cloud प्रोजेक्ट का इस्तेमाल करना होगा. इससे एपीआई के इस्तेमाल की जानकारी को एसडीके टूल का इस्तेमाल करने वाले अलग-अलग ऐप्लिकेशन की जगह सीधे एसडीके टूल में जोड़ा जाएगा. इसका मतलब है कि आपके एसडीके टूल का इस्तेमाल करने वाले ऐप्लिकेशन को, Play Integrity API को अलग से सेट अप करने की ज़रूरत नहीं है. Play Integrity API को किए गए अनुरोध, ऐप्लिकेशन के बजाय आपके SDK टूल के एपीआई इस्तेमाल में अपने-आप गिने जाते हैं.

एसडीके टूल डेवलपर के पास, Play Integrity API को सेट अप करने के दो विकल्प होते हैं: Google Play SDK Console या Google Cloud Console.

Google Play SDK Console में, Play Integrity API से जानकारी मिलने की सुविधा चालू करने पर, आपको कॉन्फ़िगरेशन के अन्य विकल्पों का ऐक्सेस मिलता है. एसडीके टूल इंटेग्रिटी पर जाएं और सेटिंग पर क्लिक करें. प्रोजेक्ट कॉन्फ़िगरेशन में जाकर, Cloud प्रोजेक्ट लिंक करें को चुनें. वह Cloud प्रोजेक्ट चुनें जिसे आपको अपने एसडीके टूल से लिंक करना है. इससे, Play Integrity API से जानकारी पाने की सुविधा चालू हो जाएगी. अब अपने एसडीके टूल में Play Integrity API को इंटिग्रेट किया जा सकता है. ध्यान दें कि Google Play SDK Console का ऐक्सेस पाने के लिए, ज़रूरी शर्तें पूरी करनी होंगी.

Google Cloud Console का इस्तेमाल करना

Google Cloud Console से, Play Integrity API से जानकारी पाने की सुविधा चालू की जा सकती है. Google Cloud Console में, नया Cloud प्रोजेक्ट बनाएं या कोई ऐसा मौजूदा Cloud प्रोजेक्ट चुनें जिसे आपको Play Integrity API के साथ इस्तेमाल करना है. एपीआई और सेवाएं पर जाएं. एपीआई और सेवाएं चालू करें को चुनें. Play Integrity API खोजें. इसके बाद, इसे चालू करें. अब आपके पास अपने एसडीके टूल में Play Integrity API को इंटिग्रेट करने का विकल्प है.

अपने एसडीके टूल के लिए, Play Integrity API से हर दिन मिलने वाली जानकारी की संख्या बढ़ाना

एसडीके टूल उपलब्ध कराने वाली जिन कंपनियों को हर दिन मिलने वाली जानकारी की संख्या बढ़ानी है उन्हें कोटा का अनुरोध करने वाला फ़ॉर्म भरना होगा. खुले तौर पर टिप्पणी करने वाले सेक्शन में, बताएं कि आपको एसडीके टूल का अनुरोध करना है. साथ ही, अपने Maven कोऑर्डिनेट (groupId:artifactId) या एसडीके टूल का यूआरएल शामिल करें.

Play Integrity API के इस्तेमाल की सीमाएं

आपके ऐप्लिकेशन को हर दिन 10,000 अनुरोध की अनुमति है. अगर आपके ऐप्लिकेशन को हर दिन 10,000 से ज़्यादा उपयोगकर्ताओं को मैनेज करना है, तो हर दिन किए जाने वाले अनुरोधों की संख्या बढ़ाई जा सकती है. इसके लिए, यहां दिए गए निर्देशों का पालन करें.

कार्रवाई हर ऐप्लिकेशन का हर दिन का कोटा नोट
टोकन के अनुरोध 10,000 क्लासिक अनुरोधों और स्टैंडर्ड टोकन की तैयारी में लगने वाले अनुरोधों को मिलाकर गिना जाता है
Google के सर्वर पर टोकन को डिक्रिप्ट (सुरक्षित) करना 10,000 क्लासिक और स्टैंडर्ड अनुरोधों को मिलाकर गिना जाता है

हर दिन किए जाने वाले अनुरोधों की संख्या बढ़ाना

हर दिन किए जाने वाले अनुरोधों की संख्या बढ़ाने के लिए, यह ज़रूरी है कि आपका ऐप्लिकेशन किसी अन्य डिस्ट्रिब्यूशन चैनल के साथ-साथ, Google Play पर भी उपलब्ध हो. हर दिन की ज़्यादा से ज़्यादा अनुरोध करने की सीमा बढ़ने के बावजूद, आपको हर उपयोगकर्ता के लिए क्लासिक अनुरोध की संख्या को सीमित रखना होगा. ऐसा कभी-कभी होने वाली और अहम कार्रवाइयों के लिए किया जाना चाहिए, ताकि उपयोगकर्ता के डेटा और बैटरी को बचाया जा सके.

हर दिन किए जाने वाले अनुरोधों की संख्या बढ़ाने के लिए, ये काम करें:

  1. Play Console में, उस Google Cloud प्रोजेक्ट को लिंक करें जिसका इस्तेमाल Play Integrity API के लिए किया जा रहा है.
  2. पक्का करें कि एपीआई लॉजिक को सही तरीके से लागू किया गया हो. इसमें बार-बार की जाने वाली कोशिशों के लिए सुझाई गई रणनीति भी शामिल है.
  3. इस फ़ॉर्म का इस्तेमाल करके कोटा बढ़ाने का अनुरोध करें.

Play Integrity API के कोटे को बढ़ाने में एक हफ़्ता लग सकता है. इसलिए, हमारा सुझाव है कि आप Google Play Console या Google Cloud Console में, Play Integrity API के इस्तेमाल पर नज़र रखें. यहां, कोटे से जुड़ी सूचनाएंभी सेट अप की जा सकती हैं, ताकि आपकी सेवा में कोई रुकावट न आए.

जब कोटा बढ़ाया जाता है, तो वह इंटेग्रिटी टोकन जनरेट करने वाले क्लाइंट कॉल और उस टोकन को डिक्रिप्ट और वेरिफ़ाई करने वाले सर्वर कॉल, दोनों पर अपने-आप लागू हो जाता है.

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

अपने ऐप्लिकेशन या एसडीके टूल में Play Integrity API को इंटिग्रेट करने के लिए, अपने डेवलपमेंट एनवायरमेंट के हिसाब से कोई एक काम करें:

Kotlin या Java

Play Integrity API के लिए सबसे नई Android लाइब्रेरी, Google की मेवन रिपॉज़िटरीपर उपलब्ध है. अपने ऐप्लिकेशन की build.gradle फ़ाइल में, यह डिपेंडेंसी जोड़ें:

implementation 'com.google.android.play:integrity:1.4.0'

Unity

यहां दिए गए सेक्शन में, Unity प्रोजेक्ट के लिए Google Play Integrity API को इंटिग्रेट और सेट अप करने का तरीका बताया गया है. इसमें, Unity के काम करने वाले वर्शन, इंस्टॉल करने के तरीके, और एनवायरमेंट सेटअप करने के बारे में बताया गया है.

Unity के इस्तेमाल किए जा सकने वाले वर्शन

  • 2019.x, 2020.x, और उसके बाद के सभी वर्शन काम करते हैं.
  • Unity 2018.x का इस्तेमाल करने वाले लोग, 2018.4 या इसके बाद का वर्शन इंस्टॉल करें.
  • Unity 2017.x और इससे पहले के वर्शन, काम नहीं करते.

डेवलपमेंट एनवायरमेंट सेट अप करना

OpenUPM-CLI

अगर आपने OpenUPM CLI इंस्टॉल किया है, तो इस कमांड का इस्तेमाल करके OpenUPM रजिस्ट्री इंस्टॉल की जा सकती है:

openupm add com.google.play.integrity

OpenUPM

  1. Unity मेन्यू विकल्प बदलाव करें > प्रोजेक्ट सेटिंग > पैकेज मैनेजर चुनकर, पैकेज मैनेजर की सेटिंग खोलें.

  2. पैकेज मैनेजर विंडो में, OpenUPM को ऐसी रजिस्ट्री के तौर पर जोड़ें जो उसके स्कोप में हो:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.integrity
    
  3. Unity के मेन्यू विकल्प विंडो > पैकेज मैनेजर को चुनकर, पैकेज मैनेजर मेन्यू खोलें.

  4. मैनेजर स्कोप ड्रॉप-डाउन को सेट करके, मेरी रजिस्ट्री चुनें.

  5. पैकेज की सूची से, Unity के लिए Google Play Integrity प्लगिन पैकेज चुनें और इंस्टॉल करें दबाएं.

GitHub से इंपोर्ट करना

  1. GitHub से .unitypackage का सबसे नया वर्शन डाउनलोड करें.

  2. .unitypackage फ़ाइल को इंपोर्ट करने के लिए, Unity मेन्यू का विकल्प चुनें ऐसेट > पैकेज इंपोर्ट करें > कस्टम पैकेज और सभी आइटम इंपोर्ट करें.

Unreal Engine

इन सेक्शन में, Unreal Engine प्रोजेक्ट के लिए Google Play Integrity API को इंटिग्रेट और सेट अप करने का तरीका बताया गया है.

Unreal Engine के इस्तेमाल किए जा सकने वाले वर्शन

यह प्लगिन, Unreal Engine 5.0 और इसके बाद के सभी वर्शन के साथ काम करता है.

डेवलपमेंट एनवायरमेंट सेट अप करना

  1. GitHub डेटाबेस से Play Unreal Engine प्लगिन डाउनलोड करें.

  2. Unreal Engine प्रोजेक्ट में, Plugins फ़ोल्डर के अंदर मौजूद GooglePlay फ़ोल्डर को कॉपी करें.

  3. अपना Unreal Engine प्रोजेक्ट खोलें और बदलाव करें → प्लगिन पर क्लिक करें.

  4. Google Play खोजें और चालू है चेकबॉक्स को चुनें.

  5. गेम प्रोजेक्ट को रीस्टार्ट करें और बिल्ड को ट्रिगर करें.

  6. अपने प्रोजेक्ट की Build.cs फ़ाइल खोलें और PlayIntegrity मॉड्यूल को PublicDependencyModuleNames में जोड़ें:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayIntegrity");
    
        // ...
      }
    }
    

नेटिव

Play Core नेटिव एसडीके टूल 1.13.0 या इसके बाद का वर्शन इंस्टॉल करें. निर्देशों के लिए, Play Core नेटिव की डेवलपमेंट एनवायरमेंट सेटअप करने की गाइड देखें.

एपीआई से मिली जानकारी कॉन्फ़िगर करना (ज़रूरी नहीं)

एपीआई से मिली जानकारी में डिफ़ॉल्ट तौर पर दिए नतीजे शामिल होते हैं. ये नतीजे, हर अनुरोध के साथ मिलते हैं. अगर आपने Play Console में Play Integrity API इंटिग्रेशन सेट अप किया है, तो आपके पास एपीआई से मिली जानकारी को पसंद के मुताबिक बनाने का विकल्प होता है.

डिफ़ॉल्ट जानकारी

Play Integrity API से मिली जानकारी में, डिफ़ॉल्ट रूप से पूरी सुरक्षा की जांच के ये नतीजे दिखते हैं:

जानकारी का फ़ील्ड वैल्यू ब्यौरा
डिवाइस इंटेग्रिटी MEETS_DEVICE_INTEGRITY यह ऐप्लिकेशन, Play Protect से सर्टिफ़ाइड Android डिवाइस पर चल रहा है. Android 13 और उसके बाद के वर्शन में, हार्डवेयर से यह पुष्टि की जाती है कि डिवाइस का बूटलोडर लॉक है और लोड किया गया Android OS, डिवाइस बनाने वाली कंपनी की सर्टिफ़ाइड इमेज है.
खाली (वैल्यू खाली है) ऐप्लिकेशन किसी ऐसे डिवाइस पर चल रहा है जिस पर हमला होने (जैसे कि एपीआई हुकिंग) या सिस्टम से छेड़छाड़ (जैसे कि रूट किया गया) के संकेत मिले हैं. ऐसा भी हो सकता है कि ऐप्लिकेशन किसी फ़िज़िकल डिवाइस पर न चल रहा हो. उदाहरण के लिए, किसी ऐसे एम्युलेटर पर चल रहा हो जिसमें पूरी सुरक्षा देने वाला Google Play Integrity मौजूद नहीं है.
Play खाते की जानकारी LICENSED उपयोगकर्ता के पास ऐप्लिकेशन का अधिकार है. इसका मतलब, उपयोगकर्ता ने अपने डिवाइस पर Google Play से आपका ऐप्लिकेशन इंस्टॉल किया है या अपडेट किया है.
UNLICENSED उपयोगकर्ता के पास ऐप्लिकेशन का अधिकार नहीं है. ऐसा तब होता है, जब कोई व्यक्ति ऐप्लिकेशन को अलग से लोड करता है या उसे Google Play से डाउनलोड नहीं करता.
UNEVALUATED लाइसेंस से जुड़ी जानकारी की जांच नहीं की गई, क्योंकि एक ज़रूरी शर्त पूरी नहीं हुई. ऐसा कई वजहों से हो सकता है. जैसे:
  • डिवाइस भरोसेमंद नहीं है.
  • उपयोगकर्ता ने Google Play में साइन इन नहीं किया है.
  • Google Play को ऐप्लिकेशन के इंस्टॉल किए गए वर्शन की जानकारी नहीं है.
ऐप्लिकेशन इंटेग्रिटी PLAY_RECOGNIZED ऐप्लिकेशन और सर्टिफ़िकेट, Google Play पर उपलब्ध वर्शन से मेल खाते हैं.
UNRECOGNIZED_VERSION सर्टिफ़िकेट या पैकेज का नाम Google Play के रिकॉर्ड से मेल नहीं खाता है.
UNEVALUATED ऐप्लिकेशन इंटेग्रिटी की जांच नहीं की गई. कोई ज़रूरी शर्त पूरी नहीं हुई, जैसे डिवाइस का भरोसेमंद न होना.

शर्तें पूरी होने पर मिलने वाली जानकारी

पीसी के लिए Google Play Games पर अपना गेम पब्लिश करने पर, आपको डिवाइस की इंटेग्रिटी की जांच के नतीजे में एक अतिरिक्त लेबल मिलेगा, जो यह बताएगा कि गेम 'पीसी के लिए Google Play Games' पर चल रहा है:

जानकारी का फ़ील्ड लेबल ब्यौरा
डिवाइस इंटेग्रिटी MEETS_VIRTUAL_INTEGRITY यह ऐप्लिकेशन, एक ऐसे Android एम्युलेटर पर चल रहा है जो Google Play services के साथ काम करता है. एम्युलेटर की जांच से यह पता चला है कि इस पर सिस्टम को पूरी सुरक्षा मिलती है. साथ ही, यह Android के साथ काम करने की ज़रूरी शर्तों के मुताबिक है.

ऐसी जानकारी जिसे देना ज़रूरी नहीं है

अगर आपने Play Console या Play SDK Console में, Play Integrity API इंटिग्रेशन सेट अप किया है, तो 'एपीआई से मिले जवाब' में जानकारी पाने के लिए ऑप्ट-इन किया जा सकता है.

एपीआई से मिली जानकारी में बदलाव करने के लिए, Play Console पर जाएं और रिलीज़ करें > ऐप्लिकेशन इंटेग्रिटी पर जाएं. जानकारी में जाकर, बदलाव करें और उन्हें सेव करें.

डिवाइस की जानकारी और डिवाइस रीकॉल करने की वैकल्पिक सुविधा

ऐप्लिकेशन और एसडीके टूल, डिवाइस इंटेग्रिटी के नतीजे में डिवाइस के लिए अन्य लेबल पाने के लिए ऑप्ट-इन कर सकते हैं. ज़्यादा लेबल पाने के लिए ऑप्ट-इन करने के बाद, अगर डिवाइस हर लेबल की शर्त पूरी करता है, तो इंटेग्रिटी की जानकारी में एक ही डिवाइस के लिए कई लेबल दिखेंगे. अपने बैकएंड सर्वर को इस तरह तैयार किया (सिखाया) जा सकता है कि वह अलग-अलग तरह के जवाब के हिसाब से अपनी कार्रवाई बदल सके. उदाहरण के लिए, वह डिवाइस ज़्यादा भरोसेमंद हो सकता है जिसके लिए रिस्पॉन्स के तौर पर तीन लेबल मिले हों, जबकि ऊपर बताए गए डिवाइस के मुकाबले वह डिवाइस कम भरोसेमंद हो सकता है जिसके लिए रिस्पॉन्स के तौर पर सिर्फ़ एक लेबल मिला हो.MEETS_STRONG_INTEGRITYMEETS_DEVICE_INTEGRITYMEETS_BASIC_INTEGRITYMEETS_BASIC_INTEGRITY

डिवाइस एट्रिब्यूट के लिए ऑप्ट इन किया जा सकता है. इससे आपको डिवाइस पर चल रहे Android OS का Android SDK वर्शन पता चलता है. आने वाले समय में, इसे डिवाइस के अन्य एट्रिब्यूट के साथ जोड़ा जा सकता है.

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

ऐप्लिकेशन, डिवाइस रीकॉल की सुविधा के लिए भी ऑप्ट-इन कर सकते हैं. डिवाइस रीकॉल की सुविधा की मदद से, किसी डिवाइस के लिए कुछ कस्टम डेटा सेव किया जा सकता है. इस डेटा को उसी डिवाइस पर ऐप्लिकेशन को फिर से इंस्टॉल करने पर, आसानी से वापस लाया जा सकता है.

डिवाइस की वैकल्पिक जानकारी और डिवाइस रीकॉल की सुविधा के लिए ऑप्ट इन करने के बाद, आपके एपीआई से मिली जानकारी की जांच के नतीजे में डिवाइस इंटेग्रिटी से जुड़े नए फ़ील्ड और जानकारी शामिल होंगे:

जानकारी का फ़ील्ड लेबल ब्यौरा
डिवाइस इंटेग्रिटी MEETS_BASIC_INTEGRITY यह ऐप्लिकेशन एक ऐसे डिवाइस पर चल रहा है जिस पर सिस्टम को बुनियादी स्तर की पूरी सुरक्षा मिलती है. डिवाइस के बूटलोडर को लॉक या अनलॉक किया जा सकता है. साथ ही, बूट की स्थिति की पुष्टि की जा सकती है या नहीं की जा सकती. हो सकता है कि डिवाइस को Play Protect से सर्टिफ़िकेट न मिला हो. ऐसे में, Google सुरक्षा, निजता या ऐप्लिकेशन के साथ काम करने से जुड़ी कोई भी गारंटी नहीं दे सकता. Android 13 और इसके बाद के वर्शन पर, MEETS_BASIC_INTEGRITY का नतीजा पाने के लिए, यह ज़रूरी है कि पुष्टि करने वाला रूट ऑफ़ ट्रस्ट, Google ने दिया हो.
MEETS_STRONG_INTEGRITY यह ऐप्लिकेशन, Play Protect से सर्टिफ़ाइड किसी ऐसे Android डिवाइस पर चल रहा हो जिस पर हाल ही में सुरक्षा से जुड़ा अपडेट किया गया हो.
  • Android 13 और उसके बाद के वर्शन पर, MEETS_STRONG_INTEGRITY का नतीजा पाने के लिए MEETS_DEVICE_INTEGRITY और डिवाइस के सभी सेगमेंट के लिए, पिछले एक साल में किए गए सुरक्षा अपडेट ज़रूरी हैं. इनमें Android OS के सेगमेंट के लिए पैच और वेंडर के सेगमेंट के लिए पैच शामिल हैं.
  • Android 12 और उससे पहले के वर्शन पर, MEETS_STRONG_INTEGRITY नतीजा पाने के लिए, सिर्फ़ हार्डवेयर के ज़रिए बूट इंटेग्रिटी की पुष्टि की ज़रूरत होती है. साथ ही, डिवाइस पर हाल ही का सुरक्षा अपडेट होना ज़रूरी नहीं है. इसलिए, MEETS_STRONG_INTEGRITY का इस्तेमाल करते समय, यह सुझाव दिया जाता है कि deviceAttributes फ़ील्ड में Android SDK टूल के वर्शन को भी ध्यान में रखा जाए.
डिवाइस की विशेषताएं sdkVersion: 19, 20, ..., 36 डिवाइस पर चल रहे Android OS का एसडीके टूल वर्शन. लौटाई गई संख्या, Build.VERSION_CODES पर मैप होती है.
खाली (वैल्यू खाली है) एसडीके टूल के वर्शन की जांच नहीं की गई, क्योंकि एक ज़रूरी शर्त पूरी नहीं हुई. इस मामले में, sdkVersion फ़ील्ड को सेट नहीं किया गया है. इसलिए, deviceAttributes फ़ील्ड खाली है. ऐसा इन वजहों से हो सकता है:
  • डिवाइस भरोसेमंद नहीं है.
  • डिवाइस में तकनीकी समस्याएं थीं.
हर ऐप्लिकेशन के लिए, इस डिवाइस पर पिछले एक घंटे में किए गए स्टैंडर्ड एपीआई इंटेग्रिटी टोकन के अनुरोध हर ऐप्लिकेशन के लिए, इस डिवाइस पर पिछले एक घंटे में किए गए क्लासिक एपीआई इंटेग्रिटी टोकन के अनुरोध
डिवाइस पर हाल ही में की गई गतिविधि LEVEL_1 (सबसे कम) 10 या इससे कम 5 या इससे कम
LEVEL_2 11 से 25 के बीच 6 से 10 के बीच
LEVEL_3 26 से 50 के बीच 11 से 15 के बीच
LEVEL_4 (सबसे ज़्यादा) 50 से ज़्यादा 15 से ज़्यादा
UNEVALUATED डिवाइस पर हाल ही में की गई गतिविधि की जांच नहीं की गई. ऐसा इन वजहों से हो सकता है:
  • डिवाइस भरोसेमंद नहीं है.
  • डिवाइस पर इंस्टॉल किए गए आपके ऐप्लिकेशन के वर्शन की जानकारी Google Play को नहीं है.
  • डिवाइस में तकनीकी समस्याएं थीं.
डिवाइस रीकॉल values: bitFirst, bitSecond, bitThird ये वही बिट वैल्यू हैं जिन्हें आपने किसी खास डिवाइस के लिए पहले सेट की थीं. हर बिट का मतलब आपने तय किया हुआ है. तीनों बिट वैल्यू डिफ़ॉल्ट रूप से गलत होती हैं.
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird ये यूटीसी में बिट वैल्यू लिखने की तारीखें हैं. ये साल और महीने के हिसाब से सटीक होती हैं. रीकॉल बिट को 'सही' पर सेट करने पर, बिट को लिखने की तारीख अपडेट हो जाती है. साथ ही, बिट को 'गलत' पर सेट करने पर, बिट को हटा दिया जाता है.

डिवाइस की सुरक्षा और स्थिति की जानकारी (ज़रूरी नहीं है)

ऐप्लिकेशन, डिवाइस की सुरक्षा और स्थिति के बारे में ज़्यादा नतीजे पाने के लिए ऑप्ट-इन कर सकते हैं. ऐप्लिकेशन को ऐक्सेस करने से जुड़े जोखिम की सुविधा से आपको यह पता चलता है कि क्या आपके डिवाइस में ऐसे कोई दूसरे ऐप्लिकेशन चल रहे हैं जो स्क्रीन कैप्चर कर सकते हैं, आपके ऐप्लिकेशन के ऊपर ओवरले दिखा सकते हैं या डिवाइस को कंट्रोल कर सकते हैं. Play Protect के नतीजे से आपको यह पता चलता है कि डिवाइस पर Play Protect की सुविधा चालू है या नहीं. साथ ही, यह भी पता चलता है कि उसे डिवाइस पर पहले से मौजूद मैलवेयर मिला है या नहीं.

इन नतीजों को पाने के लिए ऑप्ट इन करने के बाद, आपके एपीआई से मिली जानकारी में नतीजे के साथ डिवाइस की सुरक्षा और स्थिति की जानकारी वाला फ़ील्ड शामिल होगा:

जानकारी का फ़ील्ड वैल्यू ब्यौरा
ऐप्लिकेशन को ऐक्सेस करने से जुड़े जोखिम का नतीजा KNOWN_INSTALLED ऐप्लिकेशन, Google Play से इंस्टॉल किए जाते हैं या डिवाइस बनाने वाली कंपनी, सिस्टम के पार्टिशन पर उन्हें पहले से लोड करती है.
KNOWN_CAPTURING Google Play से इंस्टॉल किए गए या डिवाइस पर पहले से लोड किए गए ऐसे ऐप्लिकेशन चल रहे हों जिनका इस्तेमाल, अनुरोध करने वाले ऐप्लिकेशन के इनपुट और आउटपुट को पढ़ने या कैप्चर करने के लिए किया जा सकता हो. जैसे, स्क्रीन रिकॉर्डिंग ऐप्लिकेशन.
KNOWN_CONTROLLING Google Play से इंस्टॉल किए गए या डिवाइस पर पहले से लोड किए गए ऐसे ऐप्लिकेशन चल रहे हों जिनका इस्तेमाल, डिवाइस और अनुरोध करने वाले ऐप्लिकेशन के इनपुट और आउटपुट को कंट्रोल करने के लिए किया जा सकता हो. जैसे, रिमोट कंट्रोल करने वाले ऐप्लिकेशन.
KNOWN_OVERLAYS Google Play से इंस्टॉल किए गए या डिवाइस पर पहले से लोड किए गए ऐसे ऐप्लिकेशन चल रहे हैं जो अनुरोध करने वाले ऐप्लिकेशन पर ओवरले दिखा रहे हैं.
UNKNOWN_INSTALLED ऐसे अन्य ऐप्लिकेशन इंस्टॉल किए गए हैं जिन्हें Google Play ने इंस्टॉल नहीं किया है या डिवाइस बनाने वाली कंपनी ने सिस्टम पार्टीशन में पहले से लोड नहीं किया है.
UNKNOWN_CAPTURING डिवाइस पर ऐसे अन्य ऐप्लिकेशन चल रहे हैं जिन्हें Play ने इंस्टॉल नहीं किया है या डिवाइस पर पहले से लोड नहीं किया गया है. इन ऐप्लिकेशन का इस्तेमाल, अनुरोध करने वाले ऐप्लिकेशन के इनपुट और आउटपुट को पढ़ने या कैप्चर करने के लिए किया जा सकता है. जैसे, स्क्रीन रिकॉर्डिंग ऐप्लिकेशन.
UNKNOWN_CONTROLLING डिवाइस पर ऐसे अन्य ऐप्लिकेशन चल रहे हैं जिन्हें Play ने इंस्टॉल नहीं किया है या डिवाइस पर पहले से लोड नहीं किया गया है. इन ऐप्लिकेशन का इस्तेमाल, डिवाइस और अनुरोध करने वाले ऐप्लिकेशन के इनपुट और आउटपुट को कंट्रोल करने के लिए किया जा सकता है. जैसे, रिमोट कंट्रोल करने वाले ऐप्लिकेशन.
UNKNOWN_OVERLAYS डिवाइस पर ऐसे अन्य ऐप्लिकेशन चल रहे हैं (Play से इंस्टॉल नहीं किए गए या डिवाइस पर पहले से लोड नहीं किए गए) जो अनुरोध करने वाले ऐप्लिकेशन पर ओवरले दिखा रहे हैं.
खाली (वैल्यू खाली है) अगर कोई ज़रूरी शर्त पूरी नहीं की गई है, तो ऐप्लिकेशन को ऐक्सेस करने से जुड़े जोखिम की जांच नहीं की जाती. इस मामले में, appAccessRiskVerdict फ़ील्ड खाली है. ऐसा कई वजहों से हो सकता है. इनमें ये वजहें शामिल हैं:
  • डिवाइस भरोसेमंद नहीं है.
  • डिवाइस का साइज़, डाइमेंशन या कॉन्फ़िगरेशन, किसी फ़ोन, टैबलेट या फ़ोल्ड होने वाले डिवाइस जैसा नहीं है.
  • डिवाइस पर Android 6 (एपीआई लेवल 23) या इसके बाद का वर्शन नहीं चल रहा है.
  • Google Play को ऐप्लिकेशन के इंस्टॉल किए गए वर्शन की जानकारी नहीं है.
  • डिवाइस पर Google Play Store का पुराना वर्शन है.
  • सिर्फ़ गेम के लिए: उपयोगकर्ता के खाते में, गेम के लिए Play का लाइसेंस नहीं है.
  • verdictOptOut पैरामीटर के साथ स्टैंडर्ड अनुरोध का इस्तेमाल किया गया था.
  • स्टैंडर्ड अनुरोध के लिए, Play Integrity API लाइब्रेरी के ऐसे वर्शन का इस्तेमाल किया गया था जो अब तक स्टैंडर्ड अनुरोधों के लिए, ऐप्लिकेशन को ऐक्सेस करने से जुड़े जोखिम की सूचना देने की सुविधा के साथ काम नहीं करता.
Play Protect का नतीजा NO_ISSUES Play Protect चालू है और उसे डिवाइस पर ऐप्लिकेशन से जुड़ी कोई समस्या नहीं मिली है.
NO_DATA Play Protect चालू है, लेकिन अब तक कोई स्कैन नहीं किया गया है. ऐसा हो सकता है कि डिवाइस या Play Store ऐप्लिकेशन को हाल ही में रीसेट किया गया हो.
POSSIBLE_RISK Play Protect बंद है.
MEDIUM_RISK Play Protect चालू है और उसे डिवाइस पर नुकसान पहुंचाने वाले ऐप्लिकेशन मिले हैं.
HIGH_RISK Play Protect चालू है और उसे डिवाइस पर खतरनाक ऐप्लिकेशन मिले हैं.
UNEVALUATED Play Protect के नतीजों की जांच नहीं की गई. एक ज़रूरी शर्त पूरी नहीं हुई, जैसे कि डिवाइस भरोसेमंद नहीं है.

क्लासिक अनुरोध की सेटिंग कॉन्फ़िगर करना (ज़रूरी नहीं)

अगर आपको सिर्फ़ स्टैंडर्ड एपीआई अनुरोध करने हैं, तो इस सेक्शन को छोड़ दें.

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

Google को जानकारी एन्क्रिप्ट करने की प्रोसेस मैनेज करने दें (डिफ़ॉल्ट और सुझाया गया)

हमारा सुझाव है कि अपने ऐप्लिकेशन की सुरक्षा के लिए, Google को जानकारी को एन्क्रिप्ट करने की कुंजियां जनरेट और मैनेज करने की अनुमति दें. आपका बैकएंड सर्वर, जानकारी को डिक्रिप्ट करने के लिए, Google Play के सर्वर को कॉल करेगा.

जवाब को एन्क्रिप्ट करने वाली अपनी कुंजियां मैनेज और डाउनलोड करना

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

ध्यान रखें कि अपने क्लाइंट ऐप्लिकेशन में, मिले टोकन को डिक्रिप्ट (सुरक्षित से सामान्य में बदलना) न करें या उसकी पुष्टि न करें. साथ ही, क्लाइंट ऐप्लिकेशन में डिक्रिप्ट की जाने वाली किसी भी कुंजी को कभी भी न दिखाएं.

Play Console में, रिस्पॉन्स एन्क्रिप्ट (सुरक्षित) करने के तरीके को मैनेज करने की रणनीति बदलने से पहले, पक्का करें कि आपका सर्वर सही तरीके से कॉन्फ़िगर किया गया हो. इससे, Google Play के सर्वर पर इंटेग्रिटी टोकन को डिक्रिप्ट (सुरक्षित) करने और उनकी पुष्टि करने में कोई रुकावट नहीं आएगी.

जांच के नतीजों को एन्क्रिप्ट करने के लिए, Google की ओर से मैनेज की जाने वाली और डेवलपर की ओर से मैनेज की जाने वाली कुंजियों के बीच स्विच करना

अगर फ़िलहाल Google आपके जवाब को एन्क्रिप्ट करने का तरीका मैनेज करता है और आपको खुद ही इसे मैनेज करना है और जवाब को एन्क्रिप्ट करने की कुंजियां डाउनलोड करनी हैं, तो यह तरीका अपनाएं:

  1. Play Console में लॉग इन करें.
  2. Play Integrity API का इस्तेमाल करने वाला कोई ऐप्लिकेशन चुनें.
  3. बाएं मेन्यू के रिलीज़ करें सेक्शन में, ऐप इंटेग्रिटी पर जाएं.
  4. Play Integrity API के बगल में मौजूद, सेटिंग पर क्लिक करें.
  5. पेज के क्लासिक अनुरोध सेक्शन में, जानकारी को एन्क्रिप्ट करने के तरीके के बगल में, बदलाव करें पर क्लिक करें.
  6. इसके बाद खुलने वाली विंडो में, जवाब को एन्क्रिप्ट करने वाली अपनी कुंजियां मैनेज और डाउनलोड करें पर क्लिक करें.
  7. सार्वजनिक पासकोड अपलोड करने के लिए, निर्देशों का पालन करें.
  8. जब विंडो में दिखे कि अपलोड हो गया है, तो सेव करें पर क्लिक करें. इसके बाद, एन्क्रिप्ट की गई आपकी कुंजियां अपने-आप डाउनलोड हो जाएंगी.
  9. अपने सर्वर के लॉजिक में बदलाव करें, ताकि आप इंटेग्रिटी टोकन को लोकल तौर पर डिक्रिप्ट कर सकें और उसकी पुष्टि कर सकें. इसके लिए, अपने सुरक्षित सर्वर डिवाइस की सुरक्षा और स्थिति की जानकारी में, जवाब को एन्क्रिप्ट करने की कुंजियों का इस्तेमाल करें.
  10. (ज़रूरी नहीं) जवाब को एन्क्रिप्ट करने की कुंजियों को खुद मैनेज करने पर भी, आपका ऐप्लिकेशन जवाब को डिक्रिप्ट करने और उसकी पुष्टि करने के लिए, Google Play के सर्वर का इस्तेमाल कर सकता है.

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

  1. अपने सर्वर लॉजिक को बदलें, ताकि आप सिर्फ़ Google के सर्वर पर डिक्रिप्ट और पुष्टि कर सकें.
  2. Play Console में लॉग इन करें.
  3. Play Integrity API का इस्तेमाल करने वाला कोई ऐप्लिकेशन चुनें.
  4. बाएं मेन्यू के रिलीज़ करें सेक्शन में, ऐप इंटेग्रिटी पर जाएं.
  5. Play Integrity API के बगल में मौजूद, सेटिंग पर क्लिक करें.
  6. पेज के क्लासिक अनुरोध सेक्शन में, जानकारी को एन्क्रिप्ट करने के तरीके के बगल में, बदलाव करें पर क्लिक करें.
  7. इसके बाद, स्क्रीन पर दिखने वाली विंडो में, जांच के नतीजों को एन्क्रिप्ट करने वाली अपनी कुंजियां, Google को मैनेज करने दें (इसका सुझाव दिया जाता है) पर क्लिक करें.
  8. बदलाव सेव करें पर क्लिक करें.