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. टारगेट सेक्शन से अपना ऐप्लिकेशन चुनें. इसके बाद, जानकारी टैब चुनें. इसके बाद, यूआरएल टाइप सेक्शन को बड़ा करें.

  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 गतिविधि का 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 की जांच करने के लिए, Listener लागू करना

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 को लागू करता हो. साथ ही, इसे SetListener() के साथ Dynamic Links लाइब्रेरी में दें या इसे शुरू करें के दूसरे आर्ग्युमेंट के तौर पर पास करें.

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());
  }
};