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