C++-এর মাধ্যমে Dynamic Links পাওয়া

Firebase Dynamic Links যে আপনি তৈরি করেছেন, সেটি পেতে হলে, আপনাকে অ্যাপে Dynamic Links SDK যোগ করতে হবে এবং firebase::dynamic_links::Listener এমন অবজেক্ট তৈরি করতে হবে যা OnDynamicLinkReceived ভার্চুয়াল ফাংশন প্রয়োগ করে।

C++ SDK, Android ও iOS, দু'টি প্ল্যাটফর্মেই কাজ করে, তবে প্রতিটি প্ল্যাটফর্মের জন্য কিছু অতিরিক্ত সেট-আপ প্রয়োজন হয়।

শুরু করার আগে

আপনি Firebase Dynamic Links ব্যবহার করার আগে, আপনাকে এগুলি করতে হবে:

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

    আপনার C++ প্রোজেক্টে আগে থেকেই Firebase ব্যবহার করা হলে, এটি আগেই Firebase-এর জন্য রেজিস্টার ও কনফিগার করা হয়ে গেছে।

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

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

কাস্টম URL স্কিম যোগ করুন (শুধুমাত্র iOS-এর জন্য)

Firebase Dynamic Links C++ ক্লায়েন্ট লাইব্রেরি iOS-এ লিঙ্ক প্রসেস করার জন্য কাস্টম URL স্কিম ব্যবহার করে। আপনাকে অবশ্যই নিজের অ্যাপে কাস্টম URL স্কিম যোগ করতে হবে যাতে সেটি Dynamic Links গ্রহণ করতে পারে।

  1. আপনার প্রোজেক্ট কনফিগারেশন খুলতে, বাঁদিকের ট্রি ভিউতে প্রোজেক্টের নামে ডবল ক্লিক করুন।

  2. টার্গেট বিভাগ থেকে আপনার অ্যাপ বেছে নিন, তারপরে তথ্য ট্যাব বেছে নিন, তারপরে URL-এর ধরন বিভাগটি বড় করুন।

  3. + বোতামে ক্লিক করুন, তারপর আপনার রিভার্সড ক্লায়েন্ট আইডির জন্য একটি URL স্কিম যোগ করুন। এই ভ্যালু খুঁজতে:

    1. GoogleService-Info.plist কনফিগারেশন ফাইল খুলুন, তারপর REVERSED_CLIENT_ID কী খুঁজুন।

    2. সেই কী-এর ভ্যালু কপি করে কনফিগারেশন পৃষ্ঠায় URL স্কিম বক্সে পেস্ট করুন।

    3. অন্যান্য ফিল্ড খালি রাখুন।

  4. + বোতামে ক্লিক করুন, তারপর দ্বিতীয় URL স্কিম যোগ করুন। এটি আপনার অ্যাপের বান্ডেল আইডির মতোই।

    যেমন, আপনার বান্ডেল আইডি com.example.ios হলে, সেই ভ্যালুটি URL স্কিম বক্সে টাইপ করুন।

    প্রোজেক্টের সাধারণ ট্যাবে কনফিগারেশন (পরিচয় > বান্ডেল শনাক্তকারী) থেকে আপনার অ্যাপের বান্ডেল আইডি খুঁজে পাবেন।

Dynamic Link পাওয়া

অ্যাপ তৈরি ও ইনিশিয়ালাইজ করা

আপনি প্রাপ্ত 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 পাওয়া গেছে কিনা তা চেক করতে, এই firebase::dynamic_links::Listener ক্লাস প্রয়োগ ও ব্যবহার করুন।

Dynamic Links পাওয়ার জন্য হেডার ফাইল যোগ করুন:

#include "firebase/dynamic_links.h"

Dynamic Links লাইব্রেরি ইনিশিয়ালাইজ করুন:

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

এমন একটি অবজেক্ট তৈরি করুন যা firebase::dynamic_links::Listener, ইমপ্লিমেন্ট করে এবং Dynamic Links লাইব্রেরিতে SetListener(), সাপ্লাই করুন অথবা Initialize-এ দ্বিতীয় আর্গুমেন্ট হিসেবে পাস করুন।

Dynamic Links পেতে, আপনার Listener ক্লাসে OnDynamicLinkReceived ভার্চুয়াল ফাংশন প্রয়োগ করতে হবে। মেথড ওভাররাইড করার মাধ্যমে, আপনি একটি ডিপ লিঙ্ক পেতে পারেন, যদি একটি পাওয়া যায়।

class Listener : public firebase::dynamic_links::Listener {
 public:
  // Called on the client when a dynamic link arrives.
  void OnDynamicLinkReceived(
      const firebase::dynamic_links::DynamicLink* dynamic_link) override {
    printf("Received link: %s", dynamic_link->url.c_str());
  }
};