Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

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

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

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

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

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

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

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

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

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

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

  2. בחר ביישום מהמדור הממקד, ולאחר מכן בחר את כרטיסיית המידע, אז להרחיב את מקטע סוגי URL.

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

    1. פתח את GoogleService-Info.plist קובץ תצורה, ולאחר מכן חפש את REVERSED_CLIENT_ID המפתח.

    2. העתק את הערך של המפתח, ולאחר מכן להדביק אותו לתוך URL הקמעונות בדף התצורה.

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

  4. לחץ על הלחצן +, ולאחר מכן להוסיף ערכת URL שנייה. זהה זהה לזהות החבילה של האפליקציה שלך.

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

    אתה יכול למצוא זיהוי החבילה של האפליקציה שלך בכרטיסייה הכללית של תצורת הפרויקט (Identity> מזהה חבילה).

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

צור ואתחל אפליקציה

לפני שתוכל לבדוק קבלנו דינמי קישורים, עליך ליצור לאתחל firebase::App אובייקט.

כלול את קובץ הכותרת firebase::App :

#include "firebase/app.h"

החלק הבא משתנה בהתאם לפלטפורמה שלך:

דְמוּי אָדָם

צור את firebase::App , עובר בסביבה JNI וכן jobject התייחסות פעילות ג'אווה כמו טיעונים:

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() , או להעביר את זה כמו הטיעון השני כדי אתחול .

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