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

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

https://example.page.link/WXYZ

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

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

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

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

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