Apple प्लैटफ़ॉर्म पर डीबग की सेवा देने वाली कंपनी के साथ App Check का इस्तेमाल करना

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

डेवलपमेंट में डीबग प्रोवाइडर का इस्तेमाल करें

अपने ऐप्लिकेशन को इंटरैक्टिव तरीके से चलाते समय डीबग प्रोवाइडर का इस्तेमाल करने के लिए (उदाहरण के लिए, डेवलपमेंट के दौरान), यह तरीका अपनाएं:

  1. अपने डीबग बिल्ड में, किसी भी Firebase बैकएंड सेवा का इस्तेमाल करने से पहले, ऐप्लिकेशन चेक डीबग प्रोवाइडर फ़ैक्ट्री बनाएं और सेट करें:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. अपने Xcode प्रोजेक्ट (v11.0 या इससे नए वर्शन) में डीबग लॉग करने की सुविधा चालू करें:

    1. प्रॉडक्ट > स्कीम > स्कीम में बदलाव करें खोलें.
    2. बाईं ओर दिए गए मेन्यू से, Run चुनें. इसके बाद, Rguments टैब चुनें.
    3. लॉन्च होने पर पास किए गए आर्ग्युमेंट सेक्शन में, -FIRDebugEnabled जोड़ें.
  3. ऐप्लिकेशन लॉन्च करें. जब SDK टूल बैकएंड को अनुरोध भेजने की कोशिश करेगा, तब लोकल डीबग टोकन लॉग किया जाएगा. उदाहरण के लिए:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase कंसोल के ऐप्लिकेशन की जांच सेक्शन में, अपने ऐप्लिकेशन के ओवरफ़्लो मेन्यू से डीबग टोकन मैनेज करें चुनें. इसके बाद, पिछले चरण में लॉग किए गए डीबग टोकन को रजिस्टर करें.

    डीबग टोकन मैनेज करें मेन्यू आइटम का स्क्रीनशॉट

टोकन को रजिस्टर करने के बाद, Firebase की बैकएंड सेवाएं इसे मान्य के तौर पर स्वीकार करेंगी.

यह टोकन, किसी मान्य डिवाइस के बिना आपके Firebase के संसाधनों को ऐक्सेस करने की अनुमति देता है. इसलिए, यह ज़रूरी है कि आप इसे निजी रखें. किसी पब्लिक रिपॉज़िटरी (डेटा स्टोर करने की जगह) में इसका इस्तेमाल न करें. अगर रजिस्टर किए गए किसी टोकन के साथ कभी छेड़छाड़ की जाती है, तो उसे Firebase कंसोल में जाकर तुरंत रद्द करें.

सीआई एनवायरमेंट में डीबग प्रोवाइडर का इस्तेमाल करना

कंटिन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट में डीबग की सेवा देने वाली कंपनी का इस्तेमाल करने के लिए, ये काम करें:

  1. Firebase कंसोल के ऐप्लिकेशन की जांच सेक्शन में, अपने ऐप्लिकेशन के ओवरफ़्लो मेन्यू से डीबग टोकन मैनेज करें चुनें. इसके बाद, एक नया डीबग टोकन बनाएं. आपको अगले चरण में टोकन की ज़रूरत होगी.

    यह टोकन आपके Firebase के संसाधनों को बिना किसी मान्य डिवाइस के ऐक्सेस करने की अनुमति देता है. इसलिए, यह ज़रूरी है कि आप इसे निजी रखें. किसी पब्लिक रिपॉज़िटरी (डेटा स्टोर करने की जगह) में इसका इस्तेमाल न करें. अगर रजिस्टर किए गए किसी टोकन के साथ कभी छेड़छाड़ की जाती है, तो उसे Firebase कंसोल में जाकर तुरंत रद्द करें.

    डीबग टोकन मैनेज करें मेन्यू आइटम का स्क्रीनशॉट

  2. अभी आपने सीआई सिस्टम के सुरक्षित की स्टोर में जो डीबग टोकन बनाया है उसे जोड़ें (उदाहरण के लिए, GitHub ऐक्शन के एन्क्रिप्ट किए गए सीक्रेट या Travis CI के एन्क्रिप्ट किए गए वैरिएबल).

  3. अगर ज़रूरी हो, तो अपना डीबग टोकन सीआई एनवायरमेंट में एनवायरमेंट वैरिएबल के तौर पर उपलब्ध कराने के लिए, अपना सीआई सिस्टम कॉन्फ़िगर करें. वैरिएबल को APP_CHECK_DEBUG_TOKEN_FROM_CI जैसा नाम दें.

  4. Xcode में, अपनी टेस्टिंग स्कीम में FIRAAppCheckDebugToken नाम वाला एनवायरमेंट वैरिएबल जोड़ें. साथ ही, इसकी वैल्यू के तौर पर $(APP_CHECK_DEBUG_TOKEN) जैसा कुछ जोड़ें.

  5. डीबग टोकन को एनवायरमेंट वैरिएबल के तौर पर पास करने के लिए, अपनी सीआई टेस्ट स्क्रिप्ट कॉन्फ़िगर करें. उदाहरण के लिए:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. अपने डीबग बिल्ड में, किसी भी Firebase बैकएंड सेवा का इस्तेमाल करने से पहले, ऐप्लिकेशन चेक डीबग प्रोवाइडर फ़ैक्ट्री बनाएं और सेट करें:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

अगर आपका ऐप्लिकेशन सीआई एनवायरमेंट में चलता है, तो Firebase की बैकएंड सेवाएं, भेजे गए टोकन को मान्य के तौर पर स्वीकार करेंगी.