C++ का इस्तेमाल करके डाइनैमिक लिंक बनाएं

Firebase Dynamic Links एपीआई की मदद से, छोटे या बड़े Dynamic Links बनाए जा सकते हैं. लिंक बनाने के लिए, एपीआई में कई वैकल्पिक पैरामीटर स्ट्रक्चर इस्तेमाल किए जा सकते हैं. पहले से जनरेट किए गए बड़े लिंक से भी छोटे लिंक बनाए जा सकते हैं. Firebase Dynamic Links इस तरह का यूआरएल जनरेट करता है:

https://example.page.link/WXYZ

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

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

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

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

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

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

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

Android

  1. Firebase कंसोल में, Dynamic Links सेक्शन खोलें.
  2. अगर आपने अब तक सेवा की शर्तें स्वीकार नहीं की हैं और अपने Dynamic Links के लिए यूआरआई प्रीफ़िक्स सेट नहीं किया है, तो अनुरोध किए जाने पर ऐसा करें.

    अगर आपके पास पहले से कोई Dynamic Links यूआरआई प्रीफ़िक्स है, तो उसे नोट कर लें. प्रोग्राम के ज़रिए Dynamic Links बनाते समय, आपको Dynamic Links यूआरआई प्रीफ़िक्स देना होगा.

  3. सुझाव: अपने डीप लिंक और फ़ॉलबैक लिंक में अनुमति वाले यूआरएल पैटर्न तय करें. ऐसा करने से, बिना अनुमति वाले पक्ष ऐसे Dynamic Links नहीं बना पाएंगे जो आपके डोमेन से, उन साइटों पर रीडायरेक्ट होते हैं जिन पर आपका कंट्रोल नहीं है. अनुमति वाले यूआरएल पैटर्न तय करना लेख पढ़ें .

iOS

  1. Firebase कंसोल में, Dynamic Links सेक्शन खोलें.
  2. अगर आपने अब तक सेवा की शर्तें स्वीकार नहीं की हैं और अपने Dynamic Links के लिए यूआरआई प्रीफ़िक्स सेट नहीं किया है, तो अनुरोध किए जाने पर ऐसा करें.

    अगर आपके पास पहले से कोई Dynamic Links यूआरआई प्रीफ़िक्स है, तो उसे नोट कर लें. प्रोग्राम के ज़रिए Dynamic Links बनाते समय, आपको Dynamic Links डोमेन देना होगा.

  3. Firebase Dynamic Links C++ क्लाइंट लाइब्रेरी, लिंक प्रोसेस करने के लिए iOS पर कस्टम यूआरएल स्कीम का इस्तेमाल करती है. डाइनैमिक लिंक पाने के लिए, आपको अपने ऐप्लिकेशन में कस्टम यूआरएल स्कीम जोड़नी होंगी: Dynamic Links:
    1. अपने प्रोजेक्ट का कॉन्फ़िगरेशन खोलने के लिए, बाईं ओर मौजूद ट्री व्यू में प्रोजेक्ट के नाम पर दो बार क्लिक करें. TARGETS सेक्शन में जाकर, अपना ऐप्लिकेशन चुनें. इसके बाद, जानकारी टैब चुनें और यूआरएल टाइप सेक्शन को बड़ा करें.
    2. + बटन पर क्लिक करें और अपने रिवर्स किए गए क्लाइंट आईडी के लिए, एक यूआरएल स्कीम जोड़ें. यह वैल्यू ढूंढने के लिए, GoogleService-Info.plist कॉन्फ़िगरेशन फ़ाइल खोलें और REVERSED_CLIENT_ID कुंजी ढूंढें. उस कुंजी की वैल्यू कॉपी करें और उसे कॉन्फ़िगरेशन पेज पर मौजूद यूआरएल स्कीम बॉक्स में चिपकाएं. अन्य फ़ील्ड खाली छोड़ें.
    3. + बटन पर क्लिक करें और दूसरी यूआरएल स्कीम जोड़ें. यह आपके ऐप्लिकेशन के बंडल आईडी के जैसी ही होती है. उदाहरण के लिए, अगर आपका बंडल आईडी com.example.ios है, तो यूआरएल स्कीम बॉक्स में वह वैल्यू डालें. अपने ऐप्लिकेशन का बंडल आईडी, प्रोजेक्ट के कॉन्फ़िगरेशन के सामान्य टैब में देखा जा सकता है (पहचान > बंडल आइडेंटिफ़ायर).

Firebase कंसोल का इस्तेमाल करना

अगर आपको सिर्फ़ एक Dynamic Link जनरेट करना है, तो इसके लिए दो विकल्प हैं. पहला, टेस्ट करने के लिए. दूसरा, मार्केटिंग टीम के लिए, ताकि वे आसानी से ऐसा लिंक बना सकें जिसका इस्तेमाल सोशल मीडिया पोस्ट जैसी चीज़ों में किया जा सके. इसके लिए, सबसे आसान तरीका है कि आप Firebase कंसोल पर जाएं और चरण-दर-चरण फ़ॉर्म भरकर, मैन्युअल तरीके से एक लिंक बनाएं.

कस्टम डोमेन

Dynamic Link's की ब्रैंडिंग पर ज़्यादा कंट्रोल पाने के लिए, goo.gl या page.link सबडोमेन के बजाय, अपना डोमेन इस्तेमाल किया जा सकता है. अपने प्रोजेक्ट के लिए कस्टम डोमेन सेट अप करने के लिए, इन निर्देशों का पालन करें.

Firebase Dynamic Links एपीआई का इस्तेमाल करना

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

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 बनाने से पहले, आपको Dynamic Links लाइब्रेरी शुरू करनी होगी:

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

पैरामीटर से बड़ा Dynamic Link बनाना

डाइनैमिक लिंक बनाने के लिए, DynamicLinkComponents ऑब्जेक्ट बनाएं. इसमें, अतिरिक्त कॉन्फ़िगरेशन के लिए कोई भी वैकल्पिक सदस्य सेट करें. इसके बाद, इसे dynamic_links::GetShortLink या dynamic_links::GetLongLink में पास करें.

यहां दिया गया छोटा उदाहरण, https://www.example.com/ के लिए एक बड़ा डाइनैमिक लिंक बनाता है. यह लिंक, आपके Android ऐप्लिकेशन com.example.android.package_name और iOS ऐप्लिकेशन com.example.ios के साथ खुलता है:

firebase::dynamic_links::IOSParameters ios_parameters("com.example.ios");

firebase::dynamic_links::AndroidParameters android_parameters(
    "com.example.android.package_name");

firebase::dynamic_links::DynamicLinkComponents components(
    "https://www.example.com/", "example.page.link");
components.android_parameters = &android_parameters;
components.ios_parameters = &ios_parameters;

firebase::dynamic_links::GeneratedDynamicLink long_link =
    firebase::dynamic_links::GetLongLink(components);

छोटा Dynamic Link बनाना

छोटा डाइनैमिक लिंक बनाने के लिए, पहले से जनरेट किया गया बड़ा लिंक, GetShortLink में पास करें या ऊपर बताए गए तरीके से DynamicLinkComponents बनाएं.

GetShortLink में, वैकल्पिक तौर पर PathLength के साथ एक अतिरिक्त DynamicLinkOptions कॉन्फ़िगरेशन पैरामीटर लिया जा सकता है. इससे, लिंक जनरेट करने के तरीके को कंट्रोल किया जा सकता है. छोटा लिंक जनरेट करने के लिए, Firebase बैकएंड को नेटवर्क अनुरोध भेजना पड़ता है. इसलिए, GetShortLink एसिंक्रोनस होता है और Future<GeneratedLink> दिखाता है.

उदाहरण के लिए:

firebase::dynamic_links::DynamicLinkOptions short_link_options;
short_link_options.path_length = firebase::dynamic_links::kPathLengthShort;

firebase::Future<firebase::dynamic_links::GeneratedDynamicLink> result =
    firebase::dynamic_links::GetShortLink(components, short_link_options);

अगर आपके प्रोग्राम में अपडेट लूप है, जो नियमित तौर पर चलता है (मान लें कि हर सेकंड में 30 या 60 बार), तो हर अपडेट के बाद नतीजे देखे जा सकते हैं:

if (result.status() == firebase::kFutureStatusComplete) {
  if (result.error() == firebase::dynamic_links::kErrorCodeSuccess) {
    firebase::dynamic_links::GeneratedDynamicLink link = *result.result();
    printf("Create short link succeeded: %s\n", link.url.c_str());
  } else {
    printf("Created short link failed with error '%s'\n",
           result.error_message());
  }
}