تلقي الروابط الديناميكية مع C++

لتلقّي "روابط Firebase الديناميكية" التي أنشأتها، عليك تضمين حزمة تطوير البرامج (SDK) الخاصة بالروابط الديناميكية في تطبيقك وإنشاء كائن firebase::dynamic_links::Listener ينفّذ الدالة الافتراضية OnDynamicLinkReceived.

تعمل حزمة C++ SDK لكل من Android وiOS، مع بعض الإعداد الإضافي المطلوب لكل نظام أساسي.

قبل البدء

قبل أن تتمكّن من استخدام روابط Firebase الديناميكية، عليك إجراء ما يلي:

  • سجّل مشروع C++ الخاص بك واضبطه لاستخدام Firebase.

    إذا كان مشروعك على C++ يستخدم Firebase بالفعل، فإنه قد تم تسجيله وإعداده لـ Firebase.

  • أضِف حزمة تطوير البرامج (SDK) لـ Firebase C++ إلى مشروع C++.

تجدر الإشارة إلى أنّ إضافة Firebase إلى مشروع C++ تتضمّن مهامًا في وحدة تحكُّم Firebase وفي مشروع C++ المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعداد Firebase من وحدة التحكّم، ثم نقلها إلى مشروع C++ ).

إضافة مخططات عناوين URL مخصّصة (لنظام التشغيل iOS فقط)

تستخدم مكتبة برامج "روابط Firebase الديناميكية C++ " مخططات عناوين URL المخصصة على نظام التشغيل iOS لمعالجة الروابط. يجب إضافة مخططات عناوين URL مخصصة إلى تطبيقك لإتاحة تلقي الروابط الديناميكية.

  1. لفتح تكوين مشروعك، انقر نقرًا مزدوجًا فوق اسم المشروع في العرض التدرّجي الأيسر.

  2. اختَر تطبيقك من القسم الاستهدافات، ثم اختَر علامة التبويب المعلومات، ثم وسِّع القسم أنواع عناوين URL.

  3. انقر على الزر +، ثم أضِف مخطط عنوان URL لمعرِّف العميل المعكوس. للعثور على هذه القيمة:

    1. افتح ملف إعداد GoogleService-Info.plist، ثم ابحث عن المفتاح REVERSED_CLIENT_ID.

    2. انسخ قيمة هذا المفتاح، ثم الصقها في مربّع مخططات عناوين URL في صفحة الضبط.

    3. اترك الحقول الأخرى فارغة.

  4. انقر على الزر +، ثم أضِف مخطط عنوان URL ثانيًا. وهذا الاسم هو نفسه معرّف حزمة تطبيقك.

    على سبيل المثال، إذا كان رقم تعريف الحزمة هو com.example.ios، فاكتب هذه القيمة في مربّع مخططات عناوين URL.

    يمكنك العثور على رقم تعريف حِزمة تطبيقك في علامة التبويب الإعدادات العامة ضمن إعدادات المشروع (الهوية > معرِّف الحزمة).

تلقي رابط ديناميكي

إنشاء التطبيق وإعداده

قبل أن تتمكّن من التحقّق من الروابط الديناميكية التي تم استلامها، عليك إنشاء عنصر firebase::App وإعداده.

تضمين ملف العنوان لـ firebase::App:

#include "firebase/app.h"

يختلف الجزء التالي حسب نظامك الأساسي:

Android

أنشئ firebase::App، مع تمرير بيئة JNI ومرجع jobject إلى نشاط Java كوسيطات:

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::Listener واستخدامها.

أدرِج ملف العنوان لتلقّي الروابط الديناميكية:

#include "firebase/dynamic_links.h"

إعداد مكتبة الروابط الديناميكية:

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

أنشئ عنصرًا لتنفيذ السمة firebase::dynamic_links::Listener، وقدِّمه إلى مكتبة الروابط الديناميكية باستخدام SetListener()، أو استخدِمه كوسيطة ثانية من أجل الإعداد.

لتلقّي الروابط الديناميكية، يجب أن تنفِّذ فئة المستمعين الدالة الافتراضية 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());
  }
};