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

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

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

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

Firebase डाइनैमिक लिंक का इस्तेमाल करने से पहले, 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 ऐक्टिविटी के 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 को लागू करने वाला ऑब्जेक्ट बनाएं. इसके बाद, SetListener() की मदद से उसे Dynamic Links लाइब्रेरी में जोड़ें. इसके अलावा, उसे Initialize करने के लिए, दूसरे आर्ग्युमेंट के तौर पर पास करें.

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