Apple प्लैटफ़ॉर्म पर डीबग की सेवा देने वाली कंपनी के साथ 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 चुनें. इसके बाद, आर्ग्युमेंट टैब चुनें.
    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 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 बैकएंड सेवा का इस्तेमाल करने से पहले, ऐप्लिकेशन की डीबग सेवा देने वाली फ़ैक्ट्री बनाएं और उसे सेट करें:

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