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

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

https://example.page.link/WXYZ

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

वेब कंटेनर इंस्टॉल करने से पहले

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

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

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

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

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

Android

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

    अगर आपके पास पहले से डाइनैमिक लिंक यूआरआई प्रीफ़िक्स है, तो उसे ध्यान में रखें. प्रोग्राम के हिसाब से डाइनैमिक लिंक बनाते समय, आपको डाइनैमिक लिंक यूआरआई प्रीफ़िक्स देना होगा.

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

iOS

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

    अगर आपके पास पहले से डाइनैमिक लिंक यूआरआई प्रीफ़िक्स है, तो उसे ध्यान में रखें. प्रोग्राम के हिसाब से डाइनैमिक लिंक बनाते समय, आपको डाइनैमिक लिंक का डोमेन देना होगा.

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

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

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

कस्टम डोमेन

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

Firebase डाइनैमिक लिंक एपीआई का इस्तेमाल करना

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

डाइनैमिक लिंक बनाने से पहले, आपको 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"));

डाइनैमिक लिंक लाइब्रेरी शुरू करना

डाइनैमिक लिंक बनाने से पहले, आपको डाइनैमिक लिंक लाइब्रेरी को शुरू करना होगा:

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

पैरामीटर से लंबा डाइनैमिक लिंक बनाना

डाइनैमिक लिंक बनाने के लिए, 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);

छोटा डाइनैमिक लिंक बनाना

छोटा डाइनैमिक लिंक बनाने के लिए, 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());
  }
}