C++ के साथ डाइनैमिक लिंक पाएं

अपने बनाए गए Firebase के डाइनैमिक लिंक पाने के लिए, आपको अपने ऐप्लिकेशन में डाइनैमिक लिंक SDK टूल शामिल करना होगा और firebase::dynamic_links::Listener वह ऑब्जेक्ट जो OnDynamicLinkReceived वर्चुअल फ़ंक्शन का इस्तेमाल करने के लिए किया जा सकता है.

C++ SDK टूल, Android और iOS, दोनों पर काम करता है. इसके लिए, आपको कुछ अतिरिक्त सेटअप करने की भी ज़रूरत होती है हर प्लैटफ़ॉर्म के लिए.

शुरू करने से पहले

इस्तेमाल करने से पहले Firebase डाइनैमिक लिंक, आपको ये काम करने होंगे:

  • अपना C++ प्रोजेक्ट रजिस्टर करें और उसे Firebase का इस्तेमाल करने के लिए कॉन्फ़िगर करें.

    अगर आपके C++ प्रोजेक्ट में पहले से ही Firebase का इस्तेमाल हो रहा है, तो इसका मतलब है कि वह पहले से रजिस्टर है और Firebase के लिए कॉन्फ़िगर किया गया.

  • अपने C++ प्रोजेक्ट में Firebase C++ SDK टूल जोड़ें.

ध्यान दें कि Firebase को C++ प्रोजेक्ट में जोड़ने पर, Firebase कंसोल और अपने खुले हुए C++ प्रोजेक्ट में (उदाहरण के लिए, कंसोल से Firebase कॉन्फ़िगरेशन फ़ाइलें चुनकर, उन्हें अपने C++ प्रोजेक्ट में ले जाएं.

कस्टम यूआरएल स्कीम जोड़ना (सिर्फ़ iOS के लिए)

Firebase डाइनैमिक लिंक की C++ क्लाइंट लाइब्रेरी, iOS पर कस्टम यूआरएल स्कीम का इस्तेमाल इन कामों के लिए करती है लिंक प्रोसेस करते हैं. मैसेज पाने में मदद करने के लिए, आपको अपने ऐप्लिकेशन में कस्टम यूआरएल स्कीम जोड़नी होंगी डाइनैमिक लिंक.

  1. अपने प्रोजेक्ट का कॉन्फ़िगरेशन खोलने के लिए, बाईं ओर प्रोजेक्ट के नाम पर दो बार क्लिक करें ट्री व्यू.

  2. टारगेट सेक्शन में जाकर अपना ऐप्लिकेशन चुनें. इसके बाद, जानकारी टैब चुनें, इसके बाद, यूआरएल के टाइप सेक्शन को बड़ा करें.

  3. + बटन पर क्लिक करें. इसके बाद, अपने उलटे क्लाइंट आईडी के लिए यूआरएल स्कीम जोड़ें. यहां की यात्रा पर हूं यह मान खोजें:

    1. GoogleService-Info.plist कॉन्फ़िगरेशन फ़ाइल खोलें, फिर REVERSED_CLIENT_ID कुंजी.

    2. उस कुंजी का मान कॉपी करें, फिर उसे यूआरएल स्कीम बॉक्स में चिपकाएं पर क्लिक करें.

    3. दूसरे फ़ील्ड खाली छोड़ दें.

  4. + बटन पर क्लिक करें. इसके बाद, दूसरी यूआरएल स्कीम जोड़ें. यह वैसी ही है बंडल आईडी सबमिट करें.

    उदाहरण के लिए, अगर आपका बंडल आईडी com.example.ios है, तो वह वैल्यू यूआरएल स्कीम बॉक्स.

    आपको प्रोजेक्ट के सामान्य टैब में अपने ऐप्लिकेशन का बंडल आईडी मिल सकता है कॉन्फ़िगरेशन (Identity > बंडल आइडेंटिफ़ायर).

डाइनैमिक लिंक मिल रहा है

ऐप्लिकेशन बनाएं और उसे शुरू करें

डाइनैमिक लिंक मिले हैं या नहीं, यह देखने से पहले आपको ये लिंक बनाने और शुरू करने की ज़रूरत है firebase::App ऑब्जेक्ट.

firebase::App के लिए हेडर फ़ाइल शामिल करें:

#include "firebase/app.h"

अगला हिस्सा आपके प्लैटफ़ॉर्म के हिसाब से अलग-अलग होता है:

Android

जेएनआई एनवायरमेंट और jobject पास करते हुए firebase::App बनाएं को आर्ग्युमेंट के तौर पर Java गतिविधि का रेफ़रंस दें:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

firebase::App बनाएं:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

डाइनैमिक लिंक की जांच के लिए, लिसनर को लागू करें

जो डाइनैमिक लिंक मिला है उसकी जांच करने के लिए, firebase::dynamic_links::Listener क्लास.

डाइनैमिक लिंक पाने के लिए, हेडर फ़ाइल शामिल करें:

#include "firebase/dynamic_links.h"

डाइनैमिक लिंक लाइब्रेरी को शुरू करना:

::firebase::dynamic_links::Initialize(app, null);

लागू करने वाला कोई ऑब्जेक्ट बनाएं firebase::dynamic_links::Listener और उसे डाइनैमिक लिंक लाइब्रेरी में SetListener() या इसे दूसरे तर्क के तौर पर शुरू करें.

डाइनैमिक लिंक पाने के लिए, आपकी लिसनर क्लास को OnDynamicLinkReceived वर्चुअल फ़ंक्शन का इस्तेमाल करने के लिए किया जा सकता है. तरीके को ओवरराइड करने पर, आपको एक डीप लिंक मिल सकता है, अगर एक मिला.

class Listener : public firebase::dynamic_links::Listener {
 public:
  // Called on the client when a dynamic link arrives.
  void OnDynamicLinkReceived(
      const firebase::dynamic_links::DynamicLink* dynamic_link) override {
    printf("Received link: %s", dynamic_link->url.c_str());
  }
};