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

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

تعمل حزمة تطوير البرامج (SDK) لـ C++ مع كلّ من 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()، أو أعِد عرضه كوسيطة ثانية في 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());
  }
};