Apple प्लैटफ़ॉर्म पर, डीबग की सेवा देने वाली कंपनी के साथ ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल करना

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

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

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

  1. अपने डीबग बिल्ड में, Firebase की किसी भी बैकएंड सेवा का इस्तेमाल करने से पहले, App Check debug provider factory बनाएं और उसे सेट करें:

    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. Product > Scheme > Edit scheme खोलें.
    2. बाईं ओर मौजूद मेन्यू से, Run को चुनें. इसके बाद, Arguments टैब को चुनें.
    3. Arguments Passed on Launch सेक्शन में, -FIRDebugEnabled जोड़ें.
  3. ऐप्लिकेशन लॉन्च करें. जब एसडीके, बैकएंड को अनुरोध भेजने की कोशिश करेगा, तब लोकल डीबग टोकन लॉग किया जाएगा. उदाहरण के लिए:

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

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

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

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

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

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

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

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

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

  2. अभी बनाया गया डीबग टोकन, अपने सीआई सिस्टम के सुरक्षित की-स्टोर में जोड़ें. उदाहरण के लिए, GitHub Actions के एन्क्रिप्ट (सुरक्षित) किए गए सीक्रेट या 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 की किसी भी बैकएंड सेवा का इस्तेमाल करने से पहले, App Check debug provider factory बनाएं और उसे सेट करें:

    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 की बैकएंड सेवाएं, भेजे गए टोकन को मान्य मानेंगी.