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

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

https://example.page.link/WXYZ

C++ SDK Android এবং iOS উভয়ের জন্যই কাজ করে, প্রতিটি প্ল্যাটফর্মের জন্য কিছু অতিরিক্ত সেটআপ প্রয়োজন

তুমি শুরু করার আগে

আপনি Firebase ডায়নামিক লিঙ্কগুলি ব্যবহার করার আগে, আপনাকে এটি করতে হবে:

  • আপনার C++ প্রজেক্ট নিবন্ধন করুন এবং Firebase ব্যবহার করতে কনফিগার করুন।

    যদি আপনার C++ প্রোজেক্ট ইতিমধ্যেই Firebase ব্যবহার করে, তাহলে এটি ইতিমধ্যেই Firebase-এর জন্য নিবন্ধিত এবং কনফিগার করা আছে।

  • আপনার C++ প্রকল্পে Firebase C++ SDK যোগ করুন।

মনে রাখবেন যে আপনার C++ প্রজেক্টে Firebase যোগ করার জন্য Firebase কনসোল এবং আপনার খোলা C++ প্রজেক্টের উভয় কাজ জড়িত থাকে (উদাহরণস্বরূপ, আপনি কনসোল থেকে Firebase কনফিগার ফাইলগুলি ডাউনলোড করেন, তারপর সেগুলিকে আপনার C++ প্রকল্পে নিয়ে যান)।

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

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

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

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

iOS

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

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

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

ফায়ারবেস কনসোল ব্যবহার করুন

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

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

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

ফায়ারবেস ডায়নামিক লিঙ্ক এপিআই ব্যবহার করা

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

আপনি ডায়নামিক লিঙ্ক তৈরি করার আগে, আপনাকে একটি 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"));

ডায়নামিক লিঙ্ক লাইব্রেরি শুরু করুন

একটি ডায়নামিক লিঙ্ক তৈরি করার আগে, আপনাকে প্রথমে ডায়নামিক লিঙ্ক লাইব্রেরি শুরু করতে হবে:

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