C++ দিয়ে ডায়নামিক লিঙ্ক তৈরি করুন

আপনি Firebase Dynamic Links API দিয়ে ছোট বা দীর্ঘ Dynamic Links তৈরি করতে পারেন। API লিঙ্কগুলি তৈরি করতে বেশ কয়েকটি ঐচ্ছিক প্যারামিটার কাঠামো নেয়। সংক্ষিপ্ত লিঙ্কগুলি পূর্বে তৈরি করা দীর্ঘ লিঙ্ক থেকেও তৈরি করা যেতে পারে। Firebase Dynamic Links নিম্নলিখিতগুলির মতো একটি URL তৈরি করে:

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++ প্রকল্পে নিয়ে যান)।

অ্যান্ড্রয়েড

  1. Firebase কনসোলে, Dynamic Links বিভাগ খুলুন।
  2. আপনি যদি ইতিমধ্যে পরিষেবার শর্তাদি স্বীকার না করে থাকেন এবং আপনার Dynamic Links জন্য একটি URI উপসর্গ সেট করেন, অনুরোধ করা হলে তা করুন৷

    আপনার যদি ইতিমধ্যেই একটি Dynamic Links ইউআরআই উপসর্গ থাকে তবে এটি নোট করুন। আপনি যখন প্রোগ্রাম্যাটিকভাবে Dynamic Links তৈরি করেন তখন আপনাকে একটি Dynamic Links URI উপসর্গ প্রদান করতে হবে।

  3. প্রস্তাবিত : আপনার গভীর লিঙ্ক এবং ফলব্যাক লিঙ্কগুলিতে অনুমোদিত URL প্যাটার্নগুলি নির্দিষ্ট করুন৷ এটি করার মাধ্যমে, আপনি অননুমোদিত পক্ষগুলিকে Dynamic Links তৈরি করতে বাধা দেন যা আপনার ডোমেন থেকে আপনার নিয়ন্ত্রণ নয় এমন সাইটগুলিতে পুনঃনির্দেশ করে৷ হোয়াইটলিস্ট URL প্যাটার্ন দেখুন।

iOS

  1. Firebase কনসোলে, Dynamic Links বিভাগ খুলুন।
  2. আপনি যদি ইতিমধ্যে পরিষেবার শর্তাদি স্বীকার না করে থাকেন এবং আপনার Dynamic Links জন্য একটি URI উপসর্গ সেট করেন, অনুরোধ করা হলে তা করুন৷

    আপনার যদি ইতিমধ্যেই একটি Dynamic Links ইউআরআই উপসর্গ থাকে তবে এটি নোট করুন। আপনি যখন প্রোগ্রাম্যাটিকভাবে Dynamic Links তৈরি করেন তখন আপনাকে একটি Dynamic Links ডোমেন প্রদান করতে হবে।

  3. Firebase Dynamic Links C++ ক্লায়েন্ট লাইব্রেরি লিঙ্কগুলি প্রক্রিয়া করতে iOS-এ কাস্টম URL স্কিম ব্যবহার করে। Dynamic Links গ্রহণ করতে সহায়তা করার জন্য আপনাকে অবশ্যই আপনার অ্যাপে কাস্টম URL স্কিম যোগ করতে হবে:
    1. আপনার প্রজেক্ট কনফিগারেশন খুলতে, বাম ট্রি ভিউতে প্রজেক্টের নামে ডাবল-ক্লিক করুন। লক্ষ্য বিভাগ থেকে আপনার অ্যাপটি নির্বাচন করুন, তারপর তথ্য ট্যাবটি নির্বাচন করুন এবং URL প্রকার বিভাগটি প্রসারিত করুন৷
    2. + বোতামে ক্লিক করুন এবং আপনার বিপরীত ক্লায়েন্ট আইডির জন্য একটি URL স্কিম যোগ করুন। এই মানটি খুঁজে পেতে, GoogleService-Info.plist কনফিগারেশন ফাইলটি খুলুন এবং REVERSED_CLIENT_ID কীটি সন্ধান করুন৷ সেই কীটির মান কপি করুন এবং কনফিগারেশন পৃষ্ঠার URL স্কিম বক্সে পেস্ট করুন। অন্যান্য ক্ষেত্রগুলি ফাঁকা রাখুন।
    3. + বোতামে ক্লিক করুন এবং একটি দ্বিতীয় URL স্কিম যোগ করুন। এটি আপনার অ্যাপের বান্ডেল আইডির মতোই। উদাহরণস্বরূপ, যদি আপনার বান্ডেল আইডি com.example.ios হয়, তাহলে URL স্কিম বক্সে সেই মানটি টাইপ করুন। আপনি প্রজেক্ট কনফিগারেশনের সাধারণ ট্যাবে আপনার অ্যাপের বান্ডিল আইডি খুঁজে পেতে পারেন ( Identity > Bundle Identifier )।

Firebase কনসোল ব্যবহার করুন

আপনি যদি একটি একক Dynamic Link তৈরি করতে চান, হয় পরীক্ষার উদ্দেশ্যে বা আপনার মার্কেটিং টিমের জন্য সহজে একটি লিঙ্ক তৈরি করতে যা একটি সোশ্যাল মিডিয়া পোস্টের মতো কিছুতে ব্যবহার করা যেতে পারে, তাহলে সবচেয়ে সহজ উপায় হল Firebase কনসোলে গিয়ে একটি তৈরি করা। ম্যানুয়ালি ধাপে ধাপে ফর্ম অনুসরণ করুন।

কাস্টম ডোমেইন

আপনি একটি goo.gl বা page.link সাবডোমেনের পরিবর্তে আপনার নিজস্ব ডোমেন ব্যবহার করে আপনার Dynamic Link ব্র্যান্ডিংয়ের উপর আরও বেশি নিয়ন্ত্রণ রাখতে পারেন৷ আপনার প্রকল্পের জন্য একটি কাস্টম ডোমেন সেট আপ করতে এই নির্দেশাবলী অনুসরণ করুন৷

Firebase Dynamic Links এপিআই ব্যবহার করা

অ্যাপ তৈরি করুন এবং শুরু করুন

আপনি Dynamic Links তৈরি করার আগে, আপনাকে একটি firebase::App অবজেক্ট তৈরি এবং শুরু করতে হবে।

firebase::App জন্য হেডার ফাইলটি অন্তর্ভুক্ত করুন:

#include "firebase/app.h"

পরবর্তী অংশ আপনার প্ল্যাটফর্মের উপর নির্ভর করে পরিবর্তিত হয়:

অ্যান্ড্রয়েড

firebase::App তৈরি করুন, JNI এনভায়রনমেন্ট পাস করা এবং আর্গুমেন্ট হিসাবে জাভা অ্যাক্টিভিটির একটি 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());
  }
}