प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

अपने एपीआई पासकोड को सुरक्षित रखने के लिए, App Check का इस्तेमाल करना

Firebase App Check की मदद से, Google Maps Platform पर आपके ऐप्लिकेशन से किए जाने वाले कॉल को सुरक्षित रखा जा सकता है. यह सुविधा, उन सोर्स से आने वाले ट्रैफ़िक को ब्लॉक करती है जो भरोसेमंद ऐप्लिकेशन के अलावा किसी और सोर्स से आता है. इसके लिए, यह पुष्टि करने वाली कंपनी से मिले टोकन की जांच करता है. जैसे, Play Integrity. अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने से, नुकसान पहुंचाने वाले अनुरोधों से सुरक्षा मिलती है. इसलिए, आपसे बिना अनुमति के किए गए एपीआई कॉल के लिए शुल्क नहीं लिया जाता.

क्या App Check मेरे लिए सही है?

ज़्यादातर मामलों में, App Check का इस्तेमाल करने का सुझाव दिया जाता है. हालांकि, इन मामलों में App Check का इस्तेमाल करना ज़रूरी नहीं है या इसका इस्तेमाल नहीं किया जा सकता:

  • Places SDK के ओरिजनल वर्शन का इस्तेमाल किया जा रहा हो. App Check की सुविधा सिर्फ़ Places SDK (नया) के लिए उपलब्ध है.
  • निजी या एक्सपेरिमेंटल ऐप्लिकेशन. अगर आपका ऐप्लिकेशन सार्वजनिक तौर पर ऐक्सेस नहीं किया जा सकता, तो App Check की ज़रूरत नहीं है.
  • अगर आपके ऐप्लिकेशन का इस्तेमाल सिर्फ़ सर्वर-टू-सर्वर किया जाता है, तो App Check की ज़रूरत नहीं होती. हालांकि, अगर GMP से कम्यूनिकेट करने वाले सर्वर का इस्तेमाल सार्वजनिक क्लाइंट (जैसे, मोबाइल ऐप्लिकेशन) करते हैं, तो GMP के बजाय App Check का इस्तेमाल करके उस सर्वर को सुरक्षित करें.
  • App Check के सुझाए गए पुष्टि करने वाले प्रोवाइडर, ऐसे डिवाइसों पर काम नहीं करेंगे जिन्हें पुष्टि करने वाले प्रोवाइडर ने असुरक्षित या गैर-भरोसेमंद माना है. अगर आपको ऐसे डिवाइसों के लिए सहायता चाहिए, तो पुष्टि करने वाली कस्टम सेवा को डिप्लॉय किया जा सकता है. ज़्यादा जानकारी के लिए, निर्देश देखें.

लागू करने के चरणों के बारे में खास जानकारी

ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन में Firebase जोड़ें.
  2. App Check लाइब्रेरी जोड़ें और उसे शुरू करें.
  3. टोकन की सेवा देने वाली कंपनी जोड़ें.
  4. डीबग करने की सुविधा चालू करें.
  5. अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखें और नीति उल्लंघन ठीक करने के तरीके के बारे में फ़ैसला करें.

App Check को इंटिग्रेट करने के बाद, आपको Firebase कंसोल पर बैकएंड ट्रैफ़िक मेट्रिक दिखेंगी. इन मेट्रिक से, अनुरोधों को इस आधार पर बांटा जाता है कि उनके साथ मान्य App Check टोकन है या नहीं. ज़्यादा जानकारी के लिए, Firebase App Check से जुड़े दस्तावेज़ देखें.

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

App Check इंटिग्रेशन को प्लान करते समय ध्यान रखने वाली बातें

इंटिग्रेशन की योजना बनाते समय, इन बातों का ध्यान रखें:

  • हमारा सुझाव है कि आप पुष्टि करने वाली Play Integrity सेवा का इस्तेमाल करें. इसके स्टैंडर्ड एपीआई के इस्तेमाल के लिए, हर दिन कॉल करने की सीमा तय है. कॉल की सीमाओं के बारे में ज़्यादा जानने के लिए, Google Play Integrity के डेवलपर दस्तावेज़ में सेटअप पेज देखें.

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

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

    App Check टोकन के मान्य रहने की अवधि (टाइम टू लाइव या टीटीएल) से यह तय होता है कि पुष्टि कितनी बार की जाएगी. इस अवधि को Firebase कंसोल में कॉन्फ़िगर किया जा सकता है. फिर से पुष्टि तब होती है, जब टीटीएल का करीब आधा समय बीत चुका होता है. ज़्यादा जानकारी के लिए, पुष्टि करने की सेवा देने वाली कंपनी के Firebase दस्तावेज़ देखें.

अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करना

ज़रूरी शर्तें

  • Places SDK के 4.1 या उसके बाद के वर्शन वाला ऐप्लिकेशन.
  • आपके ऐप्लिकेशन का SHA-256 फ़िंगरप्रिंट.
  • आपके ऐप्लिकेशन के पैकेज का नाम.
  • यह ज़रूरी है कि आपके पास Cloud Console में ऐप्लिकेशन का मालिकाना हक हो.
  • आपको Cloud Console से ऐप्लिकेशन का प्रोजेक्ट आईडी चाहिए होगा

पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना

अपने ऐप्लिकेशन में Firebase जोड़ने के लिए, Firebase डेवलपर के दस्तावेज़ में दिए गए निर्देशों का पालन करें.

दूसरा चरण: App Check लाइब्रेरी जोड़ना और App Check को शुरू करना

Play Integrity का इस्तेमाल करने के बारे में जानकारी के लिए, Android पर Play Integrity के साथ App Check का इस्तेमाल शुरू करना लेख पढ़ें. Play Integrity, पुष्टि करने की सुविधा देने वाली डिफ़ॉल्ट सेवा है.

  1. अगर आपने अब तक ऐसा नहीं किया है, तो Places SDK को अपने ऐप्लिकेशन में इंटिग्रेट करें.
  2. इसके बाद, App Check और Places client को शुरू करें.

    // Initialize App Check
    FirebaseApp.initializeApp(/* context= */ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            PlayIntegrityAppCheckProviderFactory.getInstance());
      
    // Initialize Places SDK
    Places.initializeWithNewPlacesApiEnabled(context, API_KEY);
    PlacesClient client = Places.createClient(context);.

तीसरा चरण: टोकन देने वाली कंपनी को जोड़ना

Places API को शुरू करने के बाद, PlacesAppCheckTokenProvider को सेट करने के लिए setPlacesAppCheckTokenProvider() को कॉल करें.

Places.initializeWithNewPlacesApiEnabled(context, API_KEY);
Places.setPlacesAppCheckTokenProvider(new TokenProvider());
PlacesClient client = Places.createClient(context);.

यहां टोकन फ़ेचर इंटरफ़ेस को लागू करने का एक उदाहरण दिया गया है:

  /** Sample client implementation of App Check token fetcher interface. */
  static class TokenProvider implements PlacesAppCheckTokenProvider {
    @Override
    public ListenableFuture<String> fetchAppCheckToken() {
      SettableFuture<String> future = SettableFuture.create();
      FirebaseAppCheck.getInstance()
          .getAppCheckToken(false)
          .addOnSuccessListener(
              appCheckToken -> {
                future.set(appCheckToken.getToken());
              })
          .addOnFailureListener(
              ex -> {
                future.setException(ex);
              });

      return future;
    }
  }

चौथा चरण: डीबग करने की सुविधा चालू करना (ज़रूरी नहीं)

अगर आपको अपने ऐप्लिकेशन को स्थानीय तौर पर डेवलप और टेस्ट करना है या उसे लगातार इंटिग्रेशन (सीआई) एनवायरमेंट में चलाना है, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. यह डीबग बिल्ड, मान्य App Check टोकन पाने के लिए डीबग सीक्रेट का इस्तेमाल करता है. इससे आपको डीबग बिल्ड में, पुष्टि करने की सेवा देने वाली असली कंपनियों का इस्तेमाल करने से बचने में मदद मिलती है.

अपने ऐप्लिकेशन को एम्युलेटर या टेस्ट डिवाइस पर चलाने के लिए:

  • App Check लाइब्रेरी को अपनी build.gradle फ़ाइल में जोड़ें.
  • अपने डीबग बिल्ड में डीबग प्रोवाइडर फ़ैक्ट्री का इस्तेमाल करने के लिए, App Check को कॉन्फ़िगर करें.
  • ऐप्लिकेशन लॉन्च करें. इससे एक लोकल डीबग टोकन बन जाएगा. इस टोकन को Firebase कंसोल में जोड़ें.
  • ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.

अपने ऐप्लिकेशन को सीआई एनवायरमेंट में चलाने के लिए:

  • Firebase कंसोल में एक डीबग टोकन बनाएं और उसे अपने सीआई सिस्टम के सुरक्षित की-स्टोर में जोड़ें.
  • App Check लाइब्रेरी को अपनी build.gradle फ़ाइल में जोड़ें.
  • डिबग टोकन का इस्तेमाल करने के लिए, अपने सीआई बिल्ड का वैरिएंट कॉन्फ़िगर करें.
  • अपनी टेस्ट क्लास में, ऐसे कोड को DebugAppCheckTestHelper से रैप करें जिसके लिए App Check टोकन की ज़रूरत होती है.
  • ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.

पांचवां चरण: अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखना और नीति उल्लंघन ठीक करने के तरीके तय करना

नीति उल्लंघन ठीक करने के लिए कार्रवाई शुरू करने से पहले, पक्का करें कि आपके ऐप्लिकेशन के असली उपयोगकर्ताओं को कोई परेशानी न हो. इसके लिए, App Check की मेट्रिक स्क्रीन पर जाएं. यहां आपको यह जानकारी मिलेगी कि आपके ऐप्लिकेशन के ट्रैफ़िक का कितना प्रतिशत हिस्सा, पुष्टि किया गया है, पुराना है या गलत है. जब आपको लगे कि आपके ट्रैफ़िक का ज़्यादातर हिस्सा मान्य है, तब इस सुविधा को चालू करें.

ज़्यादा जानकारी और निर्देशों के लिए, Firebase App Check का दस्तावेज़ देखें.