प्लैटफ़ॉर्म चुनें: 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 की ज़रूरत नहीं है. हालांकि, अगर जीएमपी से कम्यूनिकेट करने वाले सर्वर का इस्तेमाल सार्वजनिक क्लाइंट (जैसे, मोबाइल ऐप्लिकेशन) करते हैं, तो जीएमपी के बजाय उस सर्वर को सुरक्षित रखने के लिए, 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 है. इसके Standard API के इस्तेमाल के लिए, हर दिन कॉल करने की सीमा तय है. कॉल करने की सीमाओं के बारे में ज़्यादा जानने के लिए, 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 क्लाइंट को शुरू करें.

    // 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 के मान्य टोकन पाने के लिए, डीबग सीक्रेट का इस्तेमाल करता है. इससे, डीबग बिल्ड में पुष्टि करने वाले असली सोर्स का इस्तेमाल करने से बचा जा सकता है.

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

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

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

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

पांचवां चरण: अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखना और लागू करने के बारे में फ़ैसला लेना

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

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