אפשר ליצור Dynamic Links קצרים או ארוכים באמצעות ה-API של Firebase Dynamic Links. ה-API מקבל כמה מבני פרמטרים אופציונליים ליצירת קישורים. אפשר גם ליצור קישורים קצרים מקישור ארוך שנוצר בעבר. Firebase Dynamic Links יוצר כתובת URL כמו זו:
https://example.page.link/WXYZ
ה-SDK של C++ פועל גם ב-Android וגם ב-iOS, אבל צריך לבצע הגדרות נוספות לכל פלטפורמה.
לפני שמתחילים
כדי להשתמש ב-Firebase Dynamic Links, צריך:
רושמים את פרויקט ה-C++ ומגדירים אותו לשימוש ב-Firebase.
אם כבר משתמשים ב-Firebase בפרויקט C++, הוא כבר רשום ב-Firebase ועבר הגדרה.
מוסיפים את Firebase C++ SDK לפרויקט ב-C++.
חשוב לזכור שהוספת Firebase לפרויקט C++ כוללת משימות גם במסוף Firebase וגם בפרויקט הפתוח ב-C++ (לדוגמה, מורידים קובצי תצורה של Firebase מהמסוף ומעבירים אותם לפרויקט ב-C++).
Android
- במסוף Firebase, פותחים את הקטע Dynamic Links.
אם עדיין לא אישרתם את התנאים וההגבלות והגדרתם קידומת URI ל-Dynamic Links, עליכם לעשות זאת כשתופיע בקשה לעשות זאת.
אם כבר יש לכם קידומת URI של Dynamic Links, שימו לב אליה. צריך לספק קידומת URI של Dynamic Links כשיוצרים את Dynamic Links באופן פרוגרמטי.
- מומלץ: לציין את תבניות ה-URL שמותר להשתמש בהן בקישורים העמוקים ובקישורי החלופות. כך תוכלו למנוע מגורמים לא מורשים ליצור Dynamic Links שמפנה מהדומיין שלכם לאתרים שאתם לא שולטים בהם. תבניות URL ברשימת ההיתרים
iOS
- במסוף Firebase, פותחים את הקטע Dynamic Links.
אם עדיין לא אישרתם את התנאים וההגבלות והגדרתם קידומת URI ל-Dynamic Links, עליכם לעשות זאת כשתופיע בקשה לעשות זאת.
אם כבר יש לכם קידומת URI של Dynamic Links, שימו לב אליה. צריך לציין דומיין Dynamic Links כשיוצרים Dynamic Links באופן פרוגרמטי.
- ספריית הלקוח של 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).
שימוש במסוף Firebase
אם רוצים ליצור Dynamic Link יחיד למטרות בדיקה, או כדי שצוות השיווק יוכל ליצור בקלות קישור שאפשר להשתמש בו, למשל בפוסט ברשתות החברתיות, הדרך הפשוטה ביותר היא להיכנס למסוף Firebase וליצור אותו באופן ידני לפי הטופס המפורט.
דומיינים מותאמים אישית
כדי לשלוט טוב יותר במיתוג של Dynamic Link, תוכלו להשתמש בדומיין משלכם במקום תת-דומיין של goo.gl
או page.link
. פועלים לפי ההוראות האלה כדי להגדיר דומיין בהתאמה אישית לפרויקט.
שימוש ב-API של Firebase Dynamic Links
יצירת אפליקציה והפעלתה
לפני שיוצרים את 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"));
איך מפעילים את הספרייה Dynamic Links
לפני שיוצרים Dynamic Link, צריך קודם לאתחל את הספרייה Dynamic Links:
::firebase::dynamic_links::Initialize(app, null);
יצירת Dynamic Link ארוך מפרמטר
כדי ליצור קישור דינמי, יוצרים אובייקט 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);
יצירת סרטון Shorts Dynamic Link
כדי ליצור קישור דינמי קצר, מעבירים קישור ארוך שנוצר בעבר אל GetShortLink
או יוצרים את DynamicLinkComponents
באותו אופן שמתואר למעלה.
אפשר להעביר ל-GetShortLink
פרמטר תצורה נוסף DynamicLinkOptions
באמצעות PathLength
. כך תוכלו לקבוע איך המערכת תיצור את הקישור. כדי ליצור קישור קצר, צריך לשלוח בקשת רשת לקצה העורפי של Firebase, ולכן הפונקציה 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()); } }