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

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

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

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

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

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

    [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. अपने CI सिस्टम के सुरक्षित पासकोड स्टोर में, अभी बनाया गया डीबग टोकन जोड़ें. उदाहरण के लिए, 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 डीबग प्रोवाइडर फ़ैक्ट्री बनाएं और सेट करें:

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