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 স্কিম ব্যবহার করে। Dynamic Links পাওয়ার জন্য আপনার অ্যাপে কাস্টম URL স্কিম যোগ করতে হবে।

  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

firebase::App তৈরি করুন, JNI এনভায়রনমেন্ট এবং আর্গুমেন্ট হিসেবে Java অ্যাক্টিভিটির 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 পাওয়া গেছে কিনা তা চেক করতে, firebase::dynamic_links::Listener ক্লাস প্রয়োগ ও ব্যবহার করুন।

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

#include "firebase/dynamic_links.h"

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

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

firebase::dynamic_links::Listener ইমপ্লিমেন্ট করে এমন একটি অবজেক্ট তৈরি করুন এবং SetListener()-এর মাধ্যমে Dynamic Links লাইব্রেরিতে এটি প্রদান করুন অথবা 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());
  }
};