प्लैटफ़ॉर्म चुनें: 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 टोकन के बिना आने वाले सभी ट्रैफ़िक को अस्वीकार कर देगा.

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 का इस्तेमाल शुरू करना लेख पढ़ें.

  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 को शुरू करने के बाद, setPlacesAppCheckTokenProvider() को कॉल करके PlacesAppCheckTokenProvider सेट करें.

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 का दस्तावेज़ देखें.