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

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

https://example.page.link/WXYZ

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

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

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 नहीं बना पाएंगी. ये 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 कंसोल पर जाएं और चरण-दर-चरण दिए गए फ़ॉर्म को भरकर, मैन्युअल तरीके से एक लिंक बनाएं.

कस्टम डोमेन

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

Firebase Dynamic Links API का इस्तेमाल करना

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

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 बनाने से पहले, आपको सबसे पहले 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 config पैरामीटर इस्तेमाल किया जा सकता है; इससे आपको यह कंट्रोल करने की सुविधा मिलती है कि लिंक कैसे जनरेट होना चाहिए. छोटा लिंक जनरेट करने के लिए, 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());
  }
}