सेटअप

इस पेज पर, 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 को किए गए आपके अनुरोध, आपके एसडीके के एपीआई इस्तेमाल में अपने-आप गिने जाते हैं, न कि ऐप्लिकेशन के एपीआई इस्तेमाल में.

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

Google Play SDK Console में, Play Integrity API के जवाब मिलने की सुविधा चालू करने पर, आपको कॉन्फ़िगरेशन के अतिरिक्त विकल्प मिलते हैं. एसडीके इंटिग्रिटी पर जाएं और सेटिंग पर क्लिक करें. प्रोजेक्ट कॉन्फ़िगरेशन में जाकर, क्लाउड प्रोजेक्ट लिंक करें को चुनें. वह 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 क्लासिक अनुरोधों और स्टैंडर्ड टोकन की तैयारी के बीच शेयर किया जाता है
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 और इससे पहले का वर्शन Integrity API के साथ काम नहीं करता.

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

OpenUPM-CLI

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

openupm add com.google.play.integrity

OpenUPM

  1. Unity मेन्यू विकल्प Edit > Project Settings > Package Manager को चुनकर, पैकेज मैनेजर की सेटिंग खोलें.

  2. Package Manager विंडो में, 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 मेन्यू विकल्प Window > Package Manager को चुनकर, पैकेज मैनेजर मेन्यू खोलें.

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

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

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 Plugin डाउनलोड करें.

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

  3. अपना Unreal Engine प्रोजेक्ट खोलें और Edit → Plugins पर क्लिक करें.

  4. Google Play खोजें और चालू है चेकबॉक्स पर सही का निशान लगाएं.

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

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

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

मूल भाषा वाला

नेटिव सेटअप गाइड में दिए गए निर्देशों का पालन करें. ज़्यादा जानकारी के लिए, Play Integrity के नेटिव एपीआई के रेफ़रंस दस्तावेज़ देखें.

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

एपीआई के जवाब में, डिफ़ॉल्ट तौर पर दिए गए नतीजे शामिल होते हैं. ये नतीजे, हर अनुरोध के साथ मिलते हैं. ��गर आपने 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 पर अपना गेम डिस्ट्रिब्यूट करने पर, डिवाइस की इंटिग्रिटी के बारे में फ़ैसले में एक और लेबल पाने की सुविधा के लिए, आपको अपने-आप ऑप्ट इन कर लिया जाएगा:

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

ऐसे जवाब जिन्हें देना ज़रूरी नहीं है

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

एपीआई के जवाबों में बदलाव करने के लिए, Play Console पर जाएं और रिलीज़ करें > ऐप्लिकेशन के लिए पूरी सुरक्षा देने की सुविधा पर जाएं. जवाब में जाकर, अपने बदलाव करें और उन्हें सेव करें.

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

ऐप्लिकेशन और एसडीके, डिवाइस इंटिग्रिटी के फ़ैसले में डिवाइस के अतिरिक्त लेबल पाने के लिए ऑप्ट-इन कर सकते हैं. ज़्यादा लेबल पाने के लिए ऑप्ट-इन करने के बाद, पूरी सुरक्षा देने की सुविधा की जांच के नतीजे में एक ही डिवाइस के लिए कई लेबल शामिल होंगे. ऐसा तब हो��ा, जब लेबल से जुड़ी शर्तों को पूरा किया गया हो. अपने बैकएंड सर्वर को इस तरह तैयार किया जा सकता है कि वह जांच के नतीजों के हिसाब से, अलग-अलग कार्रवाई कर सके. उदाहरण के लिए, वह डिवाइस ज़्यादा भरोसेमंद हो सकता है जिसके लिए रिस्पॉन्स के तौर पर तीन लेबल (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY, और MEETS_BASIC_INTEGRITY) मिले हों, जबकि ऊपर बताए गए डिवाइस के मुकाबले वह डिवाइस कम भरोसेमंद हो सकता है जिसके लिए रिस्पॉन्स के तौर पर सिर्फ़ एक लेबल (MEETS_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 ओएस पार्टीशन पैच और वेंडर पार्टीशन पैच शामिल हैं.
  • Android 12 और इससे पहले के वर्शन में, MEETS_STRONG_INTEGRITY नतीजे के लिए, बूट इंटिग्रिटी के हार्डवेयर-बैक्ड सबूत की ज़रूरत होती है. साथ ही, इसके लिए यह ज़रूरी नहीं है किडिवाइस में हाल ही का सुरक्षा अपडेट मौजूद हो. इसलिए, MEETS_STRONG_INTEGRITY का इस्तेमाल करते समय, यह सुझाव दिया जाता है कि deviceAttributes फ़ील्ड में Android SDK टूल के वर्शन को भी ध्यान में रखा जाए.
डिवाइस की विशेषताएं sdkVersion: 19, 20, ..., 36 डिवाइस पर चल रहे Android OS का SDK वर्शन. लौटाई गई संख्या, 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 की सुविधा चालू है या नहीं. साथ ही, इससे यह भी पता चलता है कि 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. बदलाव सेव करें पर क्लिक करें.