لتلقي روابط 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 مخصصة لتطبيقك لدعم تلقي الروابط الديناميكية.
لفتح تكوين المشروع الخاص بك ، انقر نقرًا مزدوجًا فوق اسم المشروع في عرض الشجرة الأيسر.
حدد التطبيق الخاص بك من قسم الأهداف ، ثم حدد علامة التبويب المعلومات ، ثم قم بتوسيع قسم أنواع عناوين URL .
انقر فوق الزر + ، ثم أضف مخطط URL لمعرف العميل المعكوس. للعثور على هذه القيمة:
افتح ملف تكوين
، ثم ابحث عن مفتاحGoogleService-Info.plist REVERSED_CLIENT_ID
.انسخ قيمة هذا المفتاح ، ثم الصقها في مربع أنظمة URL في صفحة التكوين.
اترك الحقول الأخرى فارغة.
انقر فوق الزر + ، ثم أضف مخطط عنوان 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()); } };