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

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

تعمل حزمة تطوير البرامج (SDK) لـ C++ مع كل من 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());
  }
};