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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2. उस कुंजी की वैल्यू को कॉपी करें. इसके बाद, कॉन्फ़िगरेशन पेज पर मौजूद यूआरएल स्कीम बॉक्स में चिपकाएं.

    3. अन्य फ़ील्ड को खाली छोड़ दें.

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

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

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

Dynamic Link पाना

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

Dynamic Links की जांच करने से पहले, आपको firebase::App ऑब्जेक्ट बनाना और उसे शुरू करना होगा.

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

#include "firebase/app.h"

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

Android

firebase::App बनाएं. इसके लिए, JNI एनवायरमेंट और Java Activity के jobject रेफ़रंस को आर्ग्युमेंट के तौर पर पास करें:

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

iOS

firebase::App बनाएं:

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

Dynamic Links की जांच करने के लिए, लिसनर को लागू करना

Dynamic Link की जांच करने के लिए, firebase::dynamic_links::Listener क्लास को लागू करें और उसका इस्तेमाल करें.

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

#include "firebase/dynamic_links.h"

Dynamic Links लाइब्रेरी को शुरू करें:

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

firebase::dynamic_links::Listener को लागू करने वाला ऑब्जेक्ट बनाएं. इसके बाद, इसे Dynamic Links लाइब्रेरी को SetListener() के साथ दें या इसे Initialize को दूसरे आर्ग्युमेंट के तौर पर पास करें.

Dynamic Links पाने के लिए, आपकी Listener क्लास को 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());
  }
};