אפשר ליצור 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.
אם הפרויקט שלכם ב-C++ כבר משתמש ב-Firebase, הוא כבר רשום ב-Firebase ועבר הגדרה.
מוסיפים את Firebase C++ SDK לפרויקט C++.
חשוב לזכור שהוספת Firebase לפרויקט C++ כוללת משימות גם במסוף Firebase וגם בפרויקט הפתוח ב-C++ (לדוגמה, מורידים קובצי תצורה של Firebase מהמסוף ומעבירים אותם לפרויקט ב-C++).
Android
- במסוף Firebase, פותחים את הקטע Dynamic Links.
אם עדיין לא אישרתם את התנאים וההגבלות והגדרתם קידומת URI ל-Dynamic Links, עליכם לעשות זאת כשתופיע בקשה לעשות זאת.
אם כבר יש לכם קידומת URI של Dynamic Links, כדאי לשים לב אליה. כשיוצרים את Dynamic Links באופן פרוגרמטי, צריך לספק קידומת של URI 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 בדף ההגדרה. משאירים את שאר השדות ריקים. - לוחצים על הלחצן + ומוסיפים סכימה שנייה של כתובת URL. המזהה הזה זהה למזהה החבילה של האפליקציה. לדוגמה, אם מזהה החבילה הוא
com.example.ios
, מקלידים את הערך הזה בתיבה URL Schemes. מזהה החבילה של האפליקציה מופיע בכרטיסייה General של הגדרות הפרויקט (Identity > Bundle Identifier).
שימוש במסוף Firebase
אם אתם רוצים ליצור Dynamic Link אחד למטרות בדיקה או כדי שצוות השיווק שלכם יוכל ליצור בקלות קישור שאפשר להשתמש בו בסגנון של פוסט ברשתות החברתיות, הדרך הפשוטה ביותר היא להיכנס למסוף Firebase וליצור אחד באופן ידני לפי ההוראות המפורטות.
דומיינים מותאמים אישית
תוכלו להשתמש בדומיין משלכם במקום בתת-דומיין goo.gl
או page.link
, כדי שתהיה לכם יותר שליטה במיתוג של Dynamic 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()); } }