Catch up on highlights from Firebase at Google I/O 2023. Learn more

احصل على روابط ديناميكية باستخدام C ++

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

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

قبل ان تبدأ

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

  • قم بتسجيل مشروع C ++ الخاص بك وقم بتكوينه لاستخدام Firebase.

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

  • أضف Firebase C ++ SDK إلى مشروع C ++ الخاص بك.

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

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

تستخدم مكتبة عميل Firebase Dynamic Links 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"

يختلف الجزء التالي اعتمادًا على النظام الأساسي الخاص بك:

ذكري المظهر

قم بإنشاء 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() ، أو قم بتمريره باعتباره الوسيطة الثانية إلى Initialize .

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