קבלת קישורים דינמיים באמצעות C++

כדי לקבל את Firebase Dynamic Links שיצרתם, אתם צריכים לכלול את ה-SDK של Dynamic Links באפליקציה וליצור אובייקט firebase::dynamic_links::Listener שמטמיע את הפונקציה הווירטואלית OnDynamicLinkReceived.

ערכת ה-SDK ל-C++‎ פועלת גם ב-Android וגם ב-iOS, וצריך לבצע הגדרות נוספות לכל פלטפורמה.

לפני שמתחילים

לפני שתוכלו להשתמש ב-Firebase Dynamic Links, תצטרכו:

  • רושמים את פרויקט ה-C++‎ ומגדירים אותו לשימוש ב-Firebase.

    אם פרויקט ה-C++‎ שלכם כבר משתמש ב-Firebase, הוא כבר רשום ומוגדר ל-Firebase.

  • מוסיפים את Firebase C++ SDK לפרויקט ב-C++‎.

שימו לב: הוספת Firebase לפרויקט ב-C++‎ כוללת משימות גם במסוף Firebase וגם בפרויקט הפתוח ב-C++‎ (לדוגמה, אתם מורידים קובצי תצורה של Firebase מהמסוף ואז מעבירים אותם לפרויקט ב-C++‎).

הוספת סכימות של כתובות URL בהתאמה אישית (ל-iOS בלבד)

ספריית הלקוח של Firebase Dynamic Links ל-C++‎ משתמשת בסכימות של כתובות URL בהתאמה אישית ב-iOS כדי לעבד קישורים. כדי לתמוך בקבלת Dynamic Links, צריך להוסיף לאפליקציה סכמות של כתובות URL בהתאמה אישית.

  1. כדי לפתוח את הגדרות הפרויקט, לוחצים לחיצה כפולה על שם הפרויקט בתצוגת העץ שמימין.

  2. בקטע TARGETS, בוחרים את האפליקציה, לוחצים על הכרטיסייה Info ומרחיבים את הקטע URL Types.

  3. לוחצים על הלחצן + ומוסיפים סכמת URL למזהה הלקוח ההפוך. כדי למצוא את הערך הזה:

    1. פותחים את קובץ התצורה GoogleService-Info.plist ומחפשים את המפתח REVERSED_CLIENT_ID.

    2. מעתיקים את הערך של המפתח הזה ומדביקים אותו בתיבה URL Schemes בדף ההגדרות.

    3. משאירים את שאר השדות ריקים.

  4. לוחצים על הלחצן + ומוסיפים סכמת URL שנייה. הוא זהה למזהה החבילה של האפליקציה.

    לדוגמה, אם מזהה החבילה הוא com.example.ios, מקלידים את הערך הזה בתיבה סכמת URL.

    מזהה החבילה של האפליקציה מופיע בכרטיסייה General בהגדרות הפרויקט (Identity > Bundle Identifier).

מתקבלת 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. אם תבטלו את השיטה, תוכלו לקבל קישור עומק, אם קיבלתם אחד.