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

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

C++ SDK עובד הן עבור אנדרואיד והן עבור iOS, עם הגדרה נוספת הנדרשת עבור כל פלטפורמה.

לפני שאתה מתחיל

לפני שתוכל להשתמש בקישורים דינמיים של Firebase , עליך:

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

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

  • הוסף את Firebase C++ SDK לפרויקט C++ שלך.

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

הוסף סכימות כתובות אתרים מותאמות אישית (עבור iOS בלבד)

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

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

  2. בחר את האפליקציה שלך מהקטע 'יעדים' ולאחר מכן בחר בכרטיסייה 'מידע ' ולאחר מכן הרחב את הקטע 'סוגי כתובות אתרים' .

  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 Activity כארגומנטים:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

צור את firebase::App :

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

יישם את Listener כדי לבדוק קישורים דינמיים

כדי לבדוק קישור דינמי שהתקבל, יישם והשתמש במחלקת firebase::dynamic_links::Listener .

כלול את קובץ הכותרת לקבלת קישורים דינמיים:

#include "firebase/dynamic_links.h"

אתחל את ספריית הקישורים הדינמיים:

::firebase::dynamic_links::Initialize(app, null);

צור אובייקט שמיישם firebase::dynamic_links::Listener , וספק אותו לספריית הקישורים הדינמיים עם SetListener() , או העביר אותו כארגומנט השני ל- Initialize .

כדי לקבל קישורים דינמיים, כיתת ה-Listener שלך חייבת ליישם את הפונקציה הוירטואלית 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());
  }
};