כדי לקבל את Firebase Dynamic Links שיצרתם, עליכם לכלול את Dynamic Links SDK באפליקציה וליצור אובייקט 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.
כדי לפתוח את הגדרות הפרויקט, לוחצים לחיצה כפולה על שם הפרויקט בתצוגת העץ הימנית.
בוחרים את האפליקציה בקטע TARGETS, ואז בוחרים בכרטיסייה Info ומרחיבים את הקטע URL Types.
לוחצים על הלחצן + ומוסיפים סכימה של כתובת URL למזהה הלקוח ההפוך. כדי למצוא את הערך הזה:
פותחים את קובץ התצורה
ומחפשים את המפתחGoogleService-Info.plist REVERSED_CLIENT_ID
.מעתיקים את הערך של המפתח ומדביקים אותו בתיבה URL Schemes בדף התצורה.
משאירים את שאר השדות ריקים.
לוחצים על הלחצן + ומוסיפים סכימה שנייה של כתובת URL. הוא זהה למזהה החבילה של האפליקציה שלכם.
לדוגמה, אם מזהה החבילה הוא
com.example.ios
, מקלידים את הערך הזה בתיבה URL Schemes.מזהה החבילה של האפליקציה מופיע בכרטיסייה 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"));
הטמעת Listener כדי לבדוק אם יש 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, מחלקת המאזינים צריכה להטמיע את הפונקציה הווירטואלית 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()); } };