טיפול בקישורים לאפליקציות ל-Android

קישורי עומק מטפלים במזהי URI של תוכן. קישורי אינטרנט מטפלים בסכמות HTTP ו-HTTPS. קישורי עומק לאפליקציה ב-Android מטפלים במאפיין autoVerify.
איור 1. היכולות של קישורי עומק, קישורי אינטרנט וקישורים לאפליקציות ל-Android.

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

לפני שמטמיעים קישורי עומק לאפליקציה ל-Android, חשוב להבין את הסוגים השונים של קישורים שאפשר ליצור באפליקציית Android: קישורי עומק, קישורים לאתרים וקישורי עומק לאפליקציה ל-Android. איור 1 מציג את הקשר בין סוגי הקישורים האלה, ובקטעים הבאים מפורט כל סוג של קישור.

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

<activity
    android:name=".MyMapActivity"
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="geo" />
    </intent-filter>
</activity>

כשמשתמש לוחץ על קישור עומק, יכול להיות שתוצג תיבת דו-שיח לביטול דו-משמעות. בתיבת הדו-שיח הזו המשתמש יכול לבחור באחת מכמה אפליקציות, כולל האפליקציה שלכם, שיכולות לטפל בקישור העומק הנתון. איור 2 מציג את תיבת הדו-שיח אחרי שהמשתמש לוחץ על קישור למפה, עם השאלה אם לפתוח את הקישור במפות Google או ב-Chrome.

איור 2. תיבת הדו-שיח לביטול דו-משמעות

קישורים לאתרים הם קישורי עומק שמשתמשים בסכמות HTTP ו-HTTPS. ב-Android 12 ומעלה, כשלוחצים על קישור לאתר (שאינו קישור לאפליקציית Android), התוכן תמיד מוצג בדפדפן אינטרנט. במכשירים שפועלות בהם גרסאות קודמות של Android, אם האפליקציה שלכם או אפליקציות אחרות שהמשתמש התקין במכשיר יכולות גם לטפל בקישור לאתר, יכול להיות שהמשתמשים לא יועברו ישירות לדפדפן. במקום זאת, הם יראו תיבת דו-שיח להסרת דו-משמעות, בדומה לזו שמופיעה באיור 2.

בקטע הקוד הבא מוצגת דוגמה למסנן של קישורי אינטרנט:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:host="myownpersonaldomain.com" />
</intent-filter>

קישורי עומק לאפליקציות ל-Android, שזמינים ב-Android 6.0 (רמת API‏ 23) ומעלה, הם קישורי אינטרנט שמשתמשים בסכימות HTTP ו-HTTPS ומכילים את המאפיין autoVerify. המאפיין הזה מאפשר לאפליקציה להגדיר את עצמה כמטפל ברירת המחדל בסוג מסוים של קישור. לכן, כשהמשתמש לוחץ על קישור לאפליקציית Android, האפליקציה שלכם נפתחת מיד אם היא מותקנת – תיבת הדו-שיח לבחירת אתר לא מופיעה.

אם המשתמש לא רוצה שהאפליקציה שלך תהיה ה-handler שמוגדר כברירת מחדל, הוא יכול לשנות את ההתנהגות הזו בהגדרות האפליקציה.

בקטע הקוד הבא מוצגת דוגמה למסנן של קישור לאפליקציה ל-Android:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <!-- Do not include other schemes. -->
    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

היתרונות של קישורים לאפליקציות ל-Android:

  • מאובטח וספציפי: קישורי עומק לאפליקציות ל-Android משתמשים בכתובות URL מסוג HTTP שמקשרות לדומיין של אתר שבבעלותכם, כך שאף אפליקציה אחרת לא יכולה להשתמש בקישורים שלכם. אחת מהדרישות לשימוש בקישורים לאפליקציות ל-Android היא אימות הבעלות על הדומיין באמצעות אחת מהשיטות שלנו לקישור לאתר.
  • חוויית משתמש חלקה: קישורים לאפליקציות ל-Android משתמשים בכתובת URL אחת מסוג HTTP לאותו תוכן באתר ובאפליקציה, כך שמשתמשים שלא התקינו את האפליקציה פשוט מופנים לאתר במקום לאפליקציה – בלי דפי 404 ובלי שגיאות אחרות.
  • תמיכה באפליקציות ללא התקנה ב-Android: בעזרת אפליקציות ללא התקנה ב-Android, המשתמשים יכולים להריץ את האפליקציה שלכם ל-Android בלי להתקין אותה. כדי להוסיף תמיכה באפליקציה ללא התקנה לאפליקציית Android, צריך להגדיר קישורים לאפליקציות ל-Android ולעבור אל g.co/InstantApps.
  • אינטראקציה עם משתמשים מחיפוש Google: משתמשים פותחים ישירות תוכן ספציפי באפליקציה שלכם בלחיצה על כתובת URL מ-Google בדפדפן בנייד, באפליקציית חיפוש Google, בחיפוש במסך ב-Android או דרך Google Assistant.

אלה השלבים הכלליים ליצירת קישורי עומק לאפליקציות ב-Android:

  1. יוצרים קישורי עומק לתוכן ספציפי באפליקציה: בקובץ המניפסט של האפליקציה, יוצרים מסנני Intent למזהי ה-URI של האתר ומגדירים את האפליקציה לשימוש בנתונים מהאובייקטים של Intent כדי להפנות את המשתמשים אל התוכן הנכון באפליקציה. מידע נוסף זמין במאמר בנושא יצירת קישורי עומק לתוכן באפליקציה.
  2. הוספת אימות לקישורי העומק: מגדירים את האפליקציה כך שתבקש אימות של קישורים לאפליקציות. לאחר מכן, מפרסמים קובץ JSON עם Digital Asset Links באתרים כדי לאמת את הבעלות באמצעות Google Search Console. מידע נוסף על אימות קישורים לאפליקציות

כחלופה לתיעוד שמקושר למעלה, Android App Links Assistant הוא כלי ב-Android Studio שמנחה אתכם בכל השלבים הנדרשים ליצירת קישורי עומק לאפליקציות ל-Android.

למידע נוסף, אפשר לעיין במקורות המידע הבאים:

ניהול ואימות של קישורי עומק לאפליקציה ב-Android

אפשר לנהל ולאמת קישורי עומק דרך Play Console. אחרי העלאה מוצלחת של אפליקציה, בלוח הבקרה (בקטע 'פיתוח' > 'קישורי עומק') מוצג סיכום של קישורי העומק ושגיאות ההגדרה.

איור 3. לוח הבקרה של קישורי עומק ב-Play Console

לוח הבקרה כולל את הקטעים הבאים:

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

מידע נוסף על לוח הבקרה זמין במדריך הזה.