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

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

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

قبل البدء

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

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

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

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

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

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

تستخدم مكتبة برامج Firebase Dynamic Links C++ مخططات عناوين URL المخصصة على iOS من أجل معالجة المعلومات. يجب إضافة مخططات عناوين 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

إنشاء 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"));

تنفيذ "المستمع" للتحقق من 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(), أو تمريره كوسيطة ثانية إلى الإعداد.

لتلقّي "Dynamic Links"، يجب أن تنفِّذ فئة المستمعين 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());
  }
};