קישורי עומק לאפליקציות ל-Android הם יכולת מיוחדת של קישורי עומק ב-Android 6 ואילך, שמאפשרת לכתובות URL מאומתות של האתר שלכם לפתוח באופן מיידי תוכן תואם באפליקציה שלכם ל-Android, בלי שהמשתמש יצטרך לבחור את האפליקציה מתוך תיבת דו-שיח לבחירת אתר. כדי לאפשר זאת, מערכת Android משתמשת בהצהרות של Digital Asset Links שמתארחות באתר שלכם כדי ליצור שיוך מאובטח ומאומת בין האתר לאפליקציה. אחרי אימות השיוך, מערכת Android יכולה להפנות באופן אוטומטי את קישורי העומק מהאתר ישירות לאפליקציה לטיפול.
החל מ-Android 15, קישורים לאפליקציות הם אפילו יותר שימושיים עם ההשקה של קישורי עומק דינמיים לאפליקציה. היכולות הדינמיות החדשות מאפשרות לכם לשנות את אופן הפעולה של קישורי העומק באפליקציה תוך כדי תנועה, עם יותר שליטה, ובלי שתצטרכו לפרסם גרסה חדשה של האפליקציה.
למה כדאי להשתמש בקישורים לאפליקציות:
- חוויית משתמש חלקה – המשתמשים מופנים ישירות לתוכן ספציפי באפליקציה מתוצאות חיפוש, מאתרים, מאפליקציות להעברת הודעות ומאפליקציות אחרות. ב-App Links יש כתובת URL אחת שמפנה לאותו התוכן גם באתר וגם באפליקציה. לכן, משתמשים שהאפליקציה לא מותקנת אצלם מופנים לאתר – בלי דפי 404 ובלי שגיאות אחרות.
- אבטחה משופרת – כדי להשתמש בקישורים לאפליקציות צריך לאמת את הבעלות על הדומיין, וכך למנוע מאפליקציות אחרות ליירט את הקישורים שלכם.
- הגדרה דינמית (Android 15 ואילך) – אפשר לעדכן את אופן הפעולה של קישורי העומק באפליקציה תוך כדי תנועה, וכך ליהנות מגמישות רבה יותר ומעדכונים מהירים יותר של דברים כמו כתובות URL מותאמות אישית, קמפיינים עונתיים או קישורים ספציפיים למשתמש.
- מעורבות – אתם יכולים לעודד מעורבות של משתמשים באמצעות קישורים בתוצאות החיפוש, במודעות, בדפי אינטרנט, בהודעות ועוד.
איך תומכים בקישורים לאפליקציות
- יצירת קישורי עומק לתוכן ספציפי באפליקציה: בקובץ המניפסט של האפליקציה, יוצרים מסנני Intent למזהי ה-URI של האתר ומגדירים את האפליקציה לשימוש בנתונים מהאובייקטים של Intent כדי להפנות את המשתמשים אל התוכן הנכון באפליקציה. מידע נוסף זמין כאן.
- הוספת אימות לקישורי העומק: הגדרת האפליקציה כך שתבקש אימות של קישורים לאפליקציות. לאחר מכן, צריך לפרסם קובץ JSON עם Digital Asset Links באתרים שלכם כדי לאמת את הבעלות.
לחלופין, אפשר להשתמש ב-Android App Links Assistant ב-Android Studio כדי לקבל הנחיות לכל השלבים שנדרשים ליצירה ולאימות של קישורי עומק לאפליקציות ל-Android. מידע נוסף זמין במאמר בנושא כלים למפתחים של קישורי אפליקציות.
זמינות של קישורים לאפליקציות
- קישורי אפליקציה דינמיים – Android מגרסה 15 (רמת API 35) ואילך, במכשירים שמותקנים בהם Google Play Services.
- קישורי אפליקציות – Android 6 (רמת API 23) ואילך, במכשירים שמותקנים בהם Google Play Services.
- קישור עמוק רגיל (בניהול המשתמש) – כל גרסאות Android, בכל המכשירים.
איך קישורי אפליקציות פועלים
קישורי עומק לאפליקציות הם דרך מיוחדת להשתמש בקישורי עומק, שמאפשרת לכם לשלוט באופן מלא בטיפול בקישורים לאתר שלכם. הוא מבוסס על אותה מערכת מבוססת-כוונה שמשמשת סוגים אחרים של קישורי עומק, אבל הוא מוסיף שלב אימות לקישורים באמצעות קובץ Digital Asset Links באתר שלכם.
קישורי עומק לאפליקציה יוצרים שיוך מאובטח ומהימן בין האפליקציה לבין האתר שלכם באמצעות נתוני האפליקציה וקובץ assetlinks.json
מיוחד שאתם מארחים באתר או בדומיין שלכם. בקובץ assetlinks.json
מוצהרות הצהרות של Digital Asset Link לצורך אימות השיוך של האפליקציה.
זהו התהליך הרעיוני:
- במניפסט של האפליקציה מוצהרות כתובות URL במסנן Intent עם
android:autoVerify="true
" והוא מפנה למארח של האתר. - כשהאפליקציה מותקנת, המערכת של Android מאחזרת את הקובץ
assetlinks.json
ממיקום ידוע בשרת האינטרנט שלכם. - המערכת מוודאת שקובץ
assetlinks.json
תקין ושטביעת האצבעsha256_cert_fingerprints
תואמת לאישור החתימה של האפליקציה. - כשהמשתמש לוחץ על קישור תואם, המערכת מפנה אותו ישירות לאפליקציה, בלי להציג תיבת דו-שיח לביטול הדו-משמעות.
קישורי עומק לאפליקציות מבוססים על כתובות URL מסוג HTTP ועל שיוך לאתר, ולכן משתמשים שלא התקינו את האפליקציה מועברים ישירות לתוכן באתר. כך, קישורים לאפליקציות מספקים חוויה מהימנה וחלקה למשתמשים שמקישים על קישורי עומק לנכסי האינטרנט שלכם.
קישורי עומק דינמיים לאפליקציה
החל מ-Android 15, קישורים לאפליקציות הם אפילו יותר שימושיים עם ההשקה של קישורי עומק דינמיים לאפליקציה. עם Dynamic App Links, יש לכם אפשרות לעדכן את כללי קישורי העומק בצד השרת, בקובץ assetlinks.json
, בלי לפרסם גרסה חדשה של האפליקציה. Dynamic App Links תומך בשדות של Digital Asset Links כדי לשפר את כללי קישורי העומק. במכשירי Android שמותקנים בהם שירותי Google, הקובץ יתעדכן מדי פעם והכללים החדשים של הקישור העמוק יחולו באופן דינמי. לא נדרש עדכון לאפליקציה.
בעבר, הקובץ הזה שימש בעיקר לאימות בסיסי. עכשיו זה כלי הגדרה יעיל שמאפשר לכם לציין נתיבים, פרמטרים של שאילתות, פרגמנטים והחרגות, ומספק פתרון דינמי ואמין לקישורי עומק:
- תמיכה בהחרגות: אתם יכולים לציין נתיבים או קטעים מסוימים של כתובת URL שלא יפתחו את האפליקציה, גם אם הם תואמים להגדרות של קישור האפליקציה.
- תמיכה בפרמטרים של שאילתות: בעזרת הפונקציונליות החדשה של פרמטרים של שאילתות, אפשר להגדיר פרמטרים ספציפיים שאם הם מופיעים בכתובת URL, הם ימנעו את הפתיחה של האפליקציה. היכולת הזו פותחת אפשרויות מעניינות להחרגות דינמיות, לבדיקות A/B ולהפעלה הדרגתית של קישור לאפליקציה עבור פלחי משתמשים מסוימים.
- עדכונים דינמיים: אתם יכולים לעדכן את ההגדרה של קישורי האפליקציה בלי לעדכן את האפליקציה. לשם כך, צריך לציין את נתיבי כתובות ה-URL שהאפליקציה מטפלת בהם ישירות בקובץ
assetlinks.json
שמתארח בשרת.
קישורים דינמיים לאפליקציות מאפשרים לכם גם שליטה ממוקדת בכתובות ה-URL שאתם רוצים לפתוח באפליקציה, כולל התאמה לנתיבים, לקטעים ולפרמטרים של שאילתות בכתובות ה-URL. אפשר גם להחריג התאמות מסוימות כדי שלא תהיה להן אפשרות לפתוח את האפליקציה. למידע נוסף, אפשר לעיין במאמר בנושא הגדרת כללים דינמיים.
הנה תרשים זרימה של קישורי עומק דינמיים לאפליקציה:
- במניפסט של האפליקציה מוצהרות כתובות URL במסנן Intent עם
android:autoVerify="true
" והוא מפנה למארח של האתר. - כשהאפליקציה מותקנת, המערכת של Android מאחזרת את הקובץ
assetlinks.json
ממיקום ידוע בשרת האינטרנט שלכם. - המערכת מוודאת שהקובץ תקין ושהערך של
sha256_cert_fingerprints
זהה לערך של אישור החתימה של האפליקציה. - המערכת מנתחת את כל כללי קישורי העומק שהגדרתם בשדה
dynamic_app_deep_link_components
בהצהרת Digital Asset Links, וממזגת אותם עם הכללים שהוגדרו במניפסט.- כשהמשתמש לוחץ על קישור תואם, המערכת מפנה אותו ישירות לאפליקציה שלכם, בלי להציג תיבת דו-שיח להסרת דו-משמעות.
- המערכת מאחזרת מחדש את הקובץ מדי פעם כדי לקבל את הכללים העדכניים ביותר, וכך מאפשרת לכם לעדכן את הקישורים בלי לעדכן את האפליקציה.
assetlinks.json
אחזור חוזר תקופתי נתמך במכשירים עם Android 15 (רמת API 35) ואילך, שמותקנים בהם שירותי Google.
תרחישים לדוגמה
- קמפיינים שיווקיים עונתיים: אפליקציה קמעונאית יכולה להוסיף כלל לקובץ
assetlinks.json
עבור הנתיב '/promo/summer-sale' כדי להפנות משתמשים למסך מבצע ספציפי. אחרי שהמבצע מסתיים, אפשר להסיר את הכלל בלי שהמשתמשים יצטרכו לעדכן את האפליקציה. - כתובות URL מותאמות אישית לשותפים: אם יש לכם שותפות עם משפיענים, אתם יכולים ליצור כתובת URL מותאמת אישית כמו /partner/influencer-name ולהוסיף לה כלל. לאחר מכן תוכלו לעקוב אחרי כתובת ה-URL הזו, לעדכן אותה או להסיר אותה באופן דינמי ככל שהשותפויות ישתנו.
- בדיקות A/B של נתיבי כתובות URL: מפתח יכול לפרסם תכונה חדשה בנתיב ספציפי של כתובת URL ולהוסיף לה כלל בקובץ
assetlinks.json
. כך הם יכולים לבדוק את התכונה עם קבוצת משנה של משתמשים ואז לשנות את הניתוב בלי לפרוס את האפליקציה באופן מלא. - אירועים לזמן קצר: אפליקציה למכירת כרטיסים או אפליקציה של אירוע יכולה להוסיף כללי כתובות URL לאירועים ספציפיים. אחרי שהאירוע מסתיים, אפשר למחוק את הכללים האלה מהשרת.
תאימות להטמעות של קישורים לאפליקציות
תוספי הקישורים הדינמיים לאפליקציות ב-Android 15 מיועדים לתאימות מלאה להטמעות קיימות של קישורים לאפליקציות במכשירים שפועלים בגרסאות קודמות של Android. בגרסאות ישנות יותר של האפליקציה אי אפשר להשתמש בהגדרות דינמיות או בתכונות הגדרה, והן יחזרו לכללים שהוגדרו במניפסט. הקישור לאפליקציה עדיין יכול לפתוח את האפליקציה בצורה תקינה או לחזור בצורה חלקה לאתר למשתמשים בגרסאות קודמות של Android. ברוב המקרים, אפשר להטמיע כללים דינמיים בלי לפגוע בחוויה של שאר המשתמשים.
שיקולים להגדרת כללי סינון של קישורי עומק דינמיים לאפליקציה
אם אתם מגדירים מסנני Intent לשימוש בקישורי עומק דינמיים לאפליקציות ב-Android 15 ומעלה, חשוב לזכור שכללי ניתוב ברמת הנתיב שמוגדרים בקובץ assetlinks.json בצד השרת לא יכולים להרחיב את ההיקף שהגדרתם באופן סטטי בכללי מסנן ה-Intent בקובץ המניפסט.
לכן מומלץ להגדיר את ההיקף הרחב ביותר שאפשר במסנני הכוונות של קובץ המניפסט, ואז להסתמך על הכללים של הקובץ assetlinks.json בצד השרת כדי לבצע שינויים נוספים. בעזרת ההגדרה האידיאלית הזו, תוכלו להוסיף קישורי עומק חדשים לאפליקציה באופן דינמי, שמתאימים להיקף הרחב שמוגדר במניפסט.
תכנון ההטמעה של קישורים לאפליקציה
כדי לתמוך בקישורים לאפליקציות, צריך להטמיע אותם באפליקציה ולבצע עבודה בצד השרת כדי להגדיר את הקובץ assetlinks.json
. כאן מפורטות משימות ההכנה וההטמעה הכלליות, עם קישורים למקורות מידע נוספים לפרטים.
- תכנון קישורי העומק – מתחילים בהערכה של קישורי העומק שאתם צריכים, דפוסי כתובות ה-URL שבהם תשתמשו, איך ומתי תעדכנו אותם, והפעילות או הפעולה שאתם רוצים שכל כתובת URL תוביל אליה באפליקציה.
- תמיכה בקישורי עומק דינמיים לאפליקציה – כדי לספק למשתמשים במכשירי Android העדכניים את החוויה הטובה ביותר. כדאי להשתמש בקישורי עומק דינמיים לאפליקציה עבור משתמשים ב-Android 15 ואילך.
- תכנון הכללים של המסננים הדינמיים – אם אתם משתמשים בקישורי עומק דינמיים לאפליקציות, כדאי לתכנן איך הכללים בצד השרת יפעלו עם הכללים שמוגדרים באופן סטטי במניפסט האפליקציה. חשוב לזכור שכללי הסינון בקובץ assetlinks.json לא יכולים להרחיב את היקף המסננים בקובץ המניפסט של האפליקציה. מומלץ לתכנן את מסנני המניפסט כך שיצהירו על ההיקף הרחב ביותר האפשרי, ואז כללי הצד של השרת יוכלו לשנות את הכללים האלה לפי הצורך. מידע נוסף זמין במאמר הגדרת כללים דינמיים.
- יוצרים מסנני Intent לקישורים ובודקים אותם – מצהירים על קישורי העומק במסנני Intent ובודקים את ההתאמה של תבנית כתובת ה-URL ואת הטיפול ב-Intent הנכנס. כדי לתמוך בקישורים דינמיים לאפליקציה, יכול להיות שתצטרכו להעביר חלק מהנתיבים המפורטים לקובץ JSON בצד השרת.
- קריאת נתונים מ-App Link intents נכנסים – טיפול נכון ב-deep link intents נכנסים, והפניה שלהם אל Activity מתאים. ההטמעה של קישורים לאפליקציה זהה להטמעה של קישורי עומק רגילים, שמוסברת במאמר קריאת נתונים מ-Intent נכנס.
- הגדרת שיוכים לאתרים וכללים דינמיים – כדי לתמוך בקישורי עומק לאפליקציות, צריך להגדיר קובץ בצד השרת שמתארח באתר או בדומיין. מכשירי Android יאחזרו את הקובץ הזה כדי לאמת את ההטמעה של קישורי האפליקציה באפליקציה שלכם. מידע נוסף זמין כאן.
- בדיקת האימות של קישורי אפליקציה – מוודאים שמערכת Android יכולה לאמת אוטומטית את קישורי העומק. כדי לוודא שההגדרה מאובטחת ופועלת בצורה תקינה בכל הנתיבים המאומתים של קישורי האפליקציה, צריך להשתמש בניפוי באגים ובבדיקות מקצה לקצה.
- במאמר הזה נסביר על הכלים שבהם אפשר להשתמש כדי להגדיר קישורים לאפליקציות, כולל Android Studio ו-Play Console. מידע נוסף