C++ के साथ डायनामिक लिंक बनाएं

आप फायरबेस डायनेमिक लिंक एपीआई के साथ छोटे या लंबे डायनेमिक लिंक बना सकते हैं। एपीआई लिंक बनाने के लिए कई वैकल्पिक पैरामीटर संरचनाएं लेता है। पहले से जेनरेट किए गए लंबे लिंक से भी छोटे लिंक बनाए जा सकते हैं। फायरबेस डायनेमिक लिंक निम्नलिखित जैसा एक यूआरएल उत्पन्न करता है:

https://example.page.link/WXYZ

C++ SDK एंड्रॉइड और iOS दोनों के लिए काम करता है, प्रत्येक प्लेटफ़ॉर्म के लिए कुछ अतिरिक्त सेटअप की आवश्यकता होती है

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

इससे पहले कि आप फायरबेस डायनेमिक लिंक का उपयोग कर सकें, आपको यह करना होगा:

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

    यदि आपका C++ प्रोजेक्ट पहले से ही Firebase का उपयोग करता है, तो यह पहले से ही Firebase के लिए पंजीकृत और कॉन्फ़िगर किया गया है।

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

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

एंड्रॉयड

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

    यदि आपके पास पहले से ही डायनामिक लिंक यूआरआई उपसर्ग है, तो इस पर ध्यान दें। जब आप प्रोग्रामेटिक रूप से डायनामिक लिंक बनाते हैं तो आपको एक डायनामिक लिंक यूआरआई उपसर्ग प्रदान करना होगा।

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

आईओएस

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

    यदि आपके पास पहले से ही डायनामिक लिंक यूआरआई उपसर्ग है, तो इस पर ध्यान दें। जब आप प्रोग्रामेटिक रूप से डायनामिक लिंक बनाते हैं तो आपको एक डायनामिक लिंक डोमेन प्रदान करना होगा।

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

फायरबेस कंसोल का उपयोग करें

यदि आप परीक्षण उद्देश्यों के लिए, या अपनी मार्केटिंग टीम के लिए आसानी से एक लिंक बनाने के लिए एक एकल डायनामिक लिंक बनाना चाहते हैं, जिसका उपयोग सोशल मीडिया पोस्ट जैसी किसी चीज़ में किया जा सकता है, तो सबसे आसान तरीका फायरबेस कंसोल पर जाना और एक लिंक बनाना होगा। मैन्युअल रूप से चरण-दर-चरण फ़ॉर्म का पालन करें।

कस्टम डोमेन

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

फायरबेस डायनेमिक लिंक एपीआई का उपयोग करना

ऐप बनाएं और प्रारंभ करें

इससे पहले कि आप डायनामिक लिंक बना सकें, आपको एक firebase::App ऑब्जेक्ट बनाना और आरंभ करना होगा।

firebase::App के लिए हेडर फ़ाइल शामिल करें:

#include "firebase/app.h"

अगला भाग आपके प्लेटफ़ॉर्म के आधार पर भिन्न होता है:

एंड्रॉयड

firebase::App बनाएं, जेएनआई वातावरण और जावा गतिविधि के jobject संदर्भ को तर्क के रूप में पास करें:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

आईओएस

firebase::App :

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

डायनामिक लिंक लाइब्रेरी प्रारंभ करें

डायनामिक लिंक बनाने से पहले, आपको पहले डायनामिक लिंक लाइब्रेरी को आरंभ करना होगा:

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

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

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

निम्नलिखित न्यूनतम उदाहरण https://www.example.com/ पर एक लंबा डायनामिक लिंक बनाता है जो आपके एंड्रॉइड ऐप 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 कॉन्फिग पैरामीटर लेता है; यह आपको यह नियंत्रित करने की अनुमति देता है कि लिंक कैसे उत्पन्न किया जाना चाहिए। एक छोटा लिंक जेनरेट करने के लिए फायरबेस बैकएंड के लिए नेटवर्क अनुरोध की आवश्यकता होती है, इसलिए 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());
  }
}