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

אתה יכול ליצור קישורים דינמיים קצרים או ארוכים באמצעות ממשק ה-API של Firebase Dynamic Links. ה-API לוקח כמה מבני פרמטרים אופציונליים כדי לבנות קישורים. ניתן ליצור קישורים קצרים גם מקישור ארוך שנוצר בעבר. Firebase Dynamic Links מייצר כתובת URL כמו הבאה:

https://example.page.link/WXYZ

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

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

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

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

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

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

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

דְמוּי אָדָם

  1. במסוף Firebase, פתח את הקטע קישורים דינמיים .
  2. אם עדיין לא הסכמת לתנאי השירות והגדרת קידומת URI עבור הקישורים הדינמיים שלך, עשה זאת כאשר תתבקש.

    אם כבר יש לך קידומת URI של Dynamic Links, שים לב לזה. עליך לספק קידומת URI של קישורים דינמיים בעת יצירת קישורים דינמיים באופן פרוגרמטי.

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

iOS

  1. במסוף Firebase, פתח את הקטע קישורים דינמיים .
  2. אם עדיין לא הסכמת לתנאי השירות והגדרת קידומת URI עבור הקישורים הדינמיים שלך, עשה זאת כאשר תתבקש.

    אם כבר יש לך קידומת URI של Dynamic Links, שים לב לזה. עליך לספק דומיין של קישורים דינמיים כאשר אתה יוצר קישורים דינמיים באופן פרוגרמטי.

  3. ספריית הלקוחות של Firebase Dynamic Links C++ משתמשת בסכימות כתובת URL מותאמות אישית ב-iOS כדי לעבד קישורים. עליך להוסיף סכימות כתובת URL מותאמות אישית לאפליקציה שלך כדי לתמוך בקבלת קישורים דינמיים:
    1. כדי לפתוח את תצורת הפרויקט שלך, לחץ פעמיים על שם הפרויקט בתצוגת העץ השמאלית. בחר את האפליקציה שלך מהקטע 'יעדים' ולאחר מכן בחר בכרטיסייה 'מידע ' והרחב את הקטע 'סוגי כתובות אתרים' .
    2. לחץ על הלחצן + והוסף סכימת URL עבור מזהה הלקוח ההפוך שלך. כדי למצוא ערך זה, פתח את קובץ התצורה GoogleService-Info.plist וחפש את מפתח REVERSED_CLIENT_ID . העתק את הערך של המפתח הזה, והדבק אותו בתיבה סכימות URL בדף התצורה. השאר את השדות האחרים ריקים.
    3. לחץ על הלחצן + והוסף סכימת כתובת URL שנייה. זה זהה למזהה החבילה של האפליקציה שלך. לדוגמה, אם מזהה החבילה שלך הוא com.example.ios , הקלד ערך זה בתיבה סכימות URL . אתה יכול למצוא את מזהה החבילה של האפליקציה שלך בכרטיסייה כללי של תצורת הפרויקט ( זהות > מזהה חבילה ).

השתמש במסוף Firebase

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

דומיינים מותאמים אישית

תוכל לקבל שליטה רבה יותר על המיתוג של הקישור הדינמי שלך על ידי שימוש בדומיין משלך במקום בתת-דומיין goo.gl או page.link . בצע את ההוראות הבאות כדי להגדיר דומיין מותאם אישית עבור הפרויקט שלך.

שימוש ב-API של Firebase Dynamic Links

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

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

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

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

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

יצירת קישור דינמי ארוך מפרמטרים

כדי ליצור קישור דינמי, צור אובייקט DynamicLinkComponents, הגדרת כל אחד מהחברים האופציונליים לתצורה נוספת, והעברתו ל- dynamic_links::GetShortLink או dynamic_links::GetLongLink .

הדוגמה המינימלית הבאה יוצרת קישור דינמי ארוך אל https://www.example.com/ שנפתח עם אפליקציית Android שלך com.example.android.package_name ואפליקציית iOS com.example.ios:

firebase::dynamic_links::IOSParameters ios_parameters("com.example.ios");

firebase::dynamic_links::AndroidParameters android_parameters(
    "com.example.android.package_name");

firebase::dynamic_links::DynamicLinkComponents components(
    "https://www.example.com/", "example.page.link");
components.android_parameters = &android_parameters;
components.ios_parameters = &ios_parameters;

firebase::dynamic_links::GeneratedDynamicLink long_link =
    firebase::dynamic_links::GetLongLink(components);

יצירת קישור דינמי קצר

כדי ליצור קישור דינמי קצר, העבר קישור ארוך שנוצר בעבר ל- GetShortLink או בנה DynamicLinkComponents באותו אופן כמו לעיל.

GetShortLink לוקח אופציונלי פרמטר תצורה נוסף DynamicLinkOptions עם PathLength ; זה מאפשר לך לשלוט כיצד יש ליצור את הקישור. יצירת קישור קצר דורשת בקשת רשת ל-Firebase backend, כך ש- GetShortLink הוא אסינכרוני, ומחזיר Future<GeneratedLink> .

לדוגמה:

firebase::dynamic_links::DynamicLinkOptions short_link_options;
short_link_options.path_length = firebase::dynamic_links::kPathLengthShort;

firebase::Future<firebase::dynamic_links::GeneratedDynamicLink> result =
    firebase::dynamic_links::GetShortLink(components, short_link_options);

אם לתוכנית שלך יש לולאת עדכון שפועלת באופן קבוע (נניח 30 או 60 פעמים בשנייה), אתה יכול לבדוק את התוצאות פעם אחת בכל עדכון:

if (result.status() == firebase::kFutureStatusComplete) {
  if (result.error() == firebase::dynamic_links::kErrorCodeSuccess) {
    firebase::dynamic_links::GeneratedDynamicLink link = *result.result();
    printf("Create short link succeeded: %s\n", link.url.c_str());
  } else {
    printf("Created short link failed with error '%s'\n",
           result.error_message());
  }
}