सेटअप

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

Play Integrity API चालू करना

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

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

  1. एपीआई और सेवाएं पर जाएं.
  2. एपीआई और सेवाएं चालू करें को चुनें.
  3. Play Integrity API खोजें.
  4. चालू करें पर क्लिक करें.

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

Google Play से लिंक करना (सुझाया गया)

इन निर्देशों का इस्तेमाल करके, अपने ऐप्लिकेशन या एसडीके को Google Play से लिंक करें.

Google Play पर उपलब्ध ऐप्लिकेशन और गेम के लिए

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

  1. Google Play Console खोलें और अपना ऐप्लिकेशन चुनें.
  2. जांच करें और रिलीज़ करें > ऐप्लिकेशन इंटेग्रिटी पर जाएं.
  3. Play Integrity API में जाकर, Cloud प्रोजेक्ट लिंक करें पर क्लिक करें.
  4. वह Google Cloud प्रोजेक्ट चुनें जिसका इस्तेमाल आपको Play Integrity API के साथ करना है. अगर प्रोजेक्ट के लिए Play Integrity API पहले से चालू नहीं है, तो लिंक करने पर यह अपने-आप चालू हो जाएगा.

Play SDK Console पर एसडीके टूल की सेवा देने वाली कंपनियों के लिए

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

  1. Google Play SDK Console खोलें और अपना एसडीके चुनें.
  2. एसडीके टूल इंटेग्रिटी पर जाएं
  3. Play Integrity API में जाकर, Cloud प्रोजेक्ट लिंक करें पर क्लिक करें.
  4. वह Google Cloud प्रोजेक्ट चुनें जिसका इस्तेमाल आपको Play Integrity API के साथ करना है. अगर Play Integrity API, प्रोजेक्ट के लिए पहले से चालू नहीं है, तो लिंक करने पर यह अपने-आप चालू हो जाएगा.

Play Integrity API के इस्तेमाल की सीमाओं के बारे में जानकारी

आपके ऐप्लिकेशन या एसडीके के लिए, हर दिन ज़्यादा से ज़्यादा 10,000 अनुरोध किए जा सकते हैं. यह सीमा, उससे जुड़े Cloud Project Number के हिसाब से तय होती है. अगर आपको लगता है कि आपको ज़्यादा कोटा की ज़रूरत पड़ सकती है, तो कोटा बढ़ाने का अनुरोध किया जा सकता है.

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

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

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

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

Google Play पर उपलब्ध ऐप्लिकेशन और गेम के लिए

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

सीमा बढ़ाने का अनुरोध करने के लिए:

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

Play SDK Console पर एसडीके टूल की सेवा देने वाली कंपनियों के लिए

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

सीमा बढ़ाने का अनुरोध करने के लिए:

  1. Google Play SDK Console में अपना Google Cloud प्रोजेक्ट लिंक करें.
  2. Google Play SDK Console का सहायता फ़ॉर्म भरें.

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

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

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

Kotlin या Java

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

implementation 'com.google.android.play:integrity:1.6.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 मेन्यू का विकल्प Window > Package Manager चुनकर, Package Manager मेन्यू खोलें.

  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 फ़ाइल खोलें और PublicDependencyModuleNames में PlayIntegrity मॉड्यूल जोड़ें:

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

मूल भाषा वाला

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

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

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

डिफ़ॉल्ट रूप से इंटिग्रिटी के नतीजे

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

जानकारी का फ़ील्ड वैल्यू ब्यौरा
डिवाइस इंटिग्रिटी MEETS_DEVICE_INTEGRITY यह ऐप्लिकेशन, असल और सर्टिफ़ाइड 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 पर अपना गेम पब्लिश करने पर, आपको डिवाइस की इंटेग्रिटी की जांच के नतीजे में एक अतिरिक्त लेबल मिलेगा, जो यह बताएगा कि गेम 'पीसी के लिए Google Play Games' पर चल रहा है:

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

पूरी सुरक्षा की जांच के वैकल्पिक नतीजे

अगर आपने Play Console या Play SDK Console में अपना Cloud प्रोजेक्ट लिंक किया है, तो ज़्यादा जानकारी पाने के लिए ऑप्ट-इन किया जा सकता है.

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

डिवाइस की जानकारी

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

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

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

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

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

जानकारी का फ़ील्ड लेबल ब्यौरा
डिवाइस इंटेग्रिटी MEETS_BASIC_INTEGRITY यह ऐप्लिकेशन एक ऐसे डिवाइस पर चल रहा है जिस पर सिस्टम को बुनियादी स्तर की पूरी सुरक्षा मिलती है. डिवाइस के बूटलोडर को लॉक या अनलॉक किया जा सकता है. साथ ही, बूट की स्थिति की पुष्टि की जा सकती है या नहीं की जा सकती. ऐसा हो सकता है कि डिवाइस को सर्टिफ़िकेट न मिला हो. ऐसे में, Google सुरक्षा, निजता या ऐप्लिकेशन के साथ काम करने से जुड़ी कोई भी गारंटी नहीं दे सकता. Android 13 और इसके बाद के वर्शन पर, MEETS_BASIC_INTEGRITY का नतीजा पाने के लिए, यह ज़रूरी है कि पुष्टि करने वाला रूट ऑफ़ ट्रस्ट, Google ने दिया हो.
MEETS_STRONG_INTEGRITY यह ऐप्लिकेशन, हाल ही में सुरक्षा से जुड़े अपडेट वाले किसी असली और सर्टिफ़ाइड 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 ये बिट वैल्यू लिखने की तारीखें हैं. ये यूटीसी में साल और महीने के हिसाब से सटीक होती हैं. रिकॉल बिट की राइट डेट, हर बार बिट को 'सही है' पर सेट करने पर अपडेट की जाती है. साथ ही, बिट को 'गलत है' पर सेट करने पर इसे हटा दिया जाता है.

सिस्टम की जानकारी

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

Play Protect के नतीजे से आपको यह पता चलता है कि डिवाइस पर Google 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 रिस्पॉन्स एन्क्रिप्ट करने की सुविधा को मैनेज करता है. इसका मतलब है कि आपका बैकएंड, फ़ैसलों को डिक्रिप्ट करने के लिए Google के सर्वर को कॉल करता है. इसके अलावा, अपने सुरक्षित सर्वर के स्थानीय डिवाइस की सुरक्षा और स्थिति की जानकारी में डिक्रिप्ट करने के लिए, कुंजियों को खुद मैनेज किया जा सकता है.

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

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

अपनी एन्क्रिप्शन कुंजियों को मैनेज करना

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

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

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

  1. Play Console खोलें और अपना ऐप्लिकेशन चुनें .
  2. जांच करें और रिलीज़ करें > ऐप्लिकेशन इंटेग्रिटी पर जाएं.
  3. Play Integrity API के बगल में मौजूद, सेटिंग पर क्लिक करें.
  4. क्लासिक अनुरोध में जाकर, जवाब एन्क्रिप्ट करने के तरीके के बगल में मौजूद, बदलाव करें पर क्लिक करें.

कुंजियों को खुद से मैनेज करने की सुविधा पर स्विच करने के लिए:

  1. जवाब को एन्क्रिप्ट करने वाली अपनी कुंजियां मैनेज और डाउनलोड करें को चुनें. इसके बाद, अपनी सार्वजनिक कुंजी अपलोड करें.
  2. एन्क्रिप्ट की गई कुंजियों को अपने-आप डाउनलोड करने के लिए, सेव करें पर क्लिक करें.
  3. अपने सुरक्षित बैकएंड सर्वर को अपडेट करें, ताकि इन कुंजियों का इस्तेमाल करके लोकल तौर पर डिक्रिप्ट किया जा सके.

Google मैनेज की जाने वाली कुंजियों पर स्विच करने के लिए:

  1. Google को मेरे जवाब एन्क्रिप्ट करने का तरीका मैनेज करने दें (सुझाया गया) को चुनें.
  2. बदलाव सेव करें पर क्लिक करें.