קישורי עומק לאפליקציות ל-Android הם כתובות URL מסוג HTTP שמפנות את המשתמשים ישירות לתוכן ספציפי באפליקציה ל-Android. קישורי עומק לאפליקציות יכולים להגדיל את נפח התנועה לאפליקציה שלכם, לעזור לכם לגלות איזה תוכן באפליקציה נמצא בשימוש הכי נרחב, ולאפשר למשתמשים למצוא ולשתף תוכן באפליקציה מותקנת בקלות רבה יותר.
כדי להוסיף תמיכה בקישורים לאפליקציות ל-Android:
- יוצרים מסנני Intent במניפסט.
- מוסיפים קוד לפעילויות באפליקציה כדי לטפל בקישורים נכנסים.
- משייכים את האפליקציה ואת האתר ל-Digital Asset Links.
הכלי App Links Assistant ב-Android Studio מפשט את התהליך באמצעות אשף מפורט, כמו שמתואר בהמשך.
מידע נוסף על אופן הפעולה של קישורי אפליקציות והיתרונות שלהם זמין במאמר בנושא טיפול ב-Android App Links.
הוספת מסנני כוונות
הכלי App Links Assistant ב-Android Studio יכול לעזור לכם ליצור מסנני Intent במניפסט ולמפות כתובות URL קיימות מהאתר לפעילויות באפליקציה. הכלי App Links Assistant גם מוסיף קוד תבנית בכל פעילות תואמת כדי לטפל ב-Intent.
כדי להוסיף מסנני Intent וטיפול בכתובות URL:
- לוחצים על Tools (כלים) > App Links Assistant.
- לוחצים על פתיחת הכלי לעריכת מיפוי כתובות URL ואז על הוספה
בתחתית הרשימה מיפוי כתובות URL כדי להוסיף מיפוי חדש של כתובות URL. מוסיפים את הפרטים של מיפוי כתובת ה-URL החדש:
איור 1. מוסיפים פרטים בסיסיים על מבנה הקישורים באתר כדי למפות כתובות URL לפעילויות באפליקציה.
- מזינים את כתובת האתר בשדה מארח.
מוסיפים
path,pathPrefixאוpathPatternלכתובות ה-URL שרוצים למפות.לדוגמה, אם יש לכם אפליקציה לשיתוף מתכונים וכל המתכונים זמינים באותה פעילות, והמתכונים באתר התואם נמצאים כולם בספרייה /recipe, צריך להשתמש ב-pathPrefix ולהזין /recipe. כך, כתובת ה-URL http://www.recipe-app.com/recipe/grilled-potato-salad ממופה לפעילות שתבחרו בשלב הבא.
- בוחרים את הפעילות שאליה כתובות ה-URL יפנו את המשתמשים.
- לוחצים על אישור.
יופיע החלון 'עורך מיפוי כתובות URL'. הכלי App Links Assistant מוסיף מסנני Intent על סמך מיפוי כתובות ה-URL שלכם לקובץ
AndroidManifest.xmlומדגיש את השינויים בשדה תצוגה מקדימה. אם רוצים לבצע שינויים, לוחצים על Open AndroidManifest.xml כדי לערוך את מסנן Intent. מידע נוסף זמין במאמר בנושא מסנני כוונות לקישורים נכנסים.בחלון הראשי של הכלי App Links Assistant מוצגים גם כל קישורי העומק הקיימים בקובץ
AndroidManifest.xml, ואפשר לתקן במהירות כל הגדרה שגויה בלחיצה על Fix All Manifest Issues (תיקון כל הבעיות בקובץ המניפסט).
הערה: כדי לתמוך בקישורים עתידיים בלי לעדכן את האפליקציה, צריך להגדיר מיפוי כתובות URL שתומך בכתובות URL שאתם מתכננים להוסיף. כדאי גם לכלול כתובת URL של מסך הבית של האפליקציה כדי שהיא תיכלל בתוצאות החיפוש.
כדי לוודא שמיפוי כתובות ה-URL פועל כמו שצריך, מזינים כתובת URL בשדה בדיקת מיפוי כתובות URL.
אם הכל פועל כמו שצריך, הודעת ההצלחה מציינת שכתובת ה-URL שהזנתם ממופה לפעילות שבחרתם.
טיפול בקישורים נכנסים
אחרי שמוודאים שמיפוי כתובות ה-URL פועל בצורה תקינה, מוסיפים לוגיקה לטיפול בכוונה שיצרתם:
- לוחצים על Select Activity (בחירת פעילות) ב-App Links Assistant.
- בוחרים פעילות מהרשימה ולוחצים על הוספת קוד.
הכלי App Links Assistant מוסיף קוד לפעילות, בדומה לקוד הבא:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... // ATTENTION: This was auto-generated to handle app links. val appLinkIntent: Intent = intent val appLinkAction: String? = appLinkIntent.action val appLinkData: Uri? = appLinkIntent.data ... }
Java
@Override void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... // ATTENTION: This was auto-generated to handle app links. Intent appLinkIntent = getIntent(); String appLinkAction = appLinkIntent.getAction(); Uri appLinkData = appLinkIntent.getData(); ... }
הקוד הזה לא שלם בפני עצמו. עכשיו צריך לבצע פעולה על סמך ה-URI ב-appLinkData, למשל להציג את התוכן המתאים. לדוגמה, באפליקציה לשיתוף מתכונים, הקוד יכול להיראות כמו בדוגמה הבאה:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... handleIntent(intent) } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) handleIntent(intent) } private fun handleIntent(intent: Intent) { val appLinkAction = intent.action val appLinkData: Uri? = intent.data if (Intent.ACTION_VIEW == appLinkAction) { appLinkData?.lastPathSegment?.also { recipeId -> Uri.parse("content://com.recipe_app/recipe/") .buildUpon() .appendPath(recipeId) .build().also { appData -> showRecipe(appData) } } } }
Java
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... handleIntent(getIntent()); } protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { String appLinkAction = intent.getAction(); Uri appLinkData = intent.getData(); if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){ String recipeId = appLinkData.getLastPathSegment(); Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon() .appendPath(recipeId).build(); showRecipe(appData); } }
שיוך האפליקציה לאתר
אחרי שמגדירים תמיכה בכתובות URL באפליקציה, הכלי App Links Assistant יוצר קובץ Digital Assets Links שאפשר להשתמש בו כדי לשייך את האתר לאפליקציה.
במקום להשתמש בקובץ Digital Asset Links, אפשר לשייך את האתר והאפליקציה ב-Search Console.
אם אתם משתמשים בחתימה על אפליקציות ב-Play, טביעת האצבע לאישור שנוצרת על ידי הכלי App Links Assistant בדרך כלל לא תואמת לטביעת האצבע במכשירים של המשתמשים. במקרה כזה, אפשר למצוא את קטע ה-JSON הנכון של Digital Asset Links לאפליקציה בחשבון הפיתוח שלכם ב-Play Console בקטע Release > Setup > App signing.
כדי לשייך את האפליקציה ואת האתר באמצעות App Links Assistant, לוחצים על Open Digital Asset Links File Generator (פתיחת הכלי ליצירת קובץ Digital Asset Links) ב-App Links Assistant ופועלים לפי השלבים הבאים:
איור 2. מזינים את הפרטים של האתר והאפליקציה כדי ליצור קובץ Digital Asset Links.
- מזינים את דומיין האתר ואת מזהה האפליקציה.
כדי לכלול תמיכה בקובץ Digital Asset Links עבור כניסה בלחיצה אחת, בוחרים באפשרות תמיכה בשיתוף פרטי הכניסה בין האפליקציה לבין האתר ומזינים את כתובת ה-URL של הכניסה לאתר.הפעולה הזו מוסיפה את המחרוזת הבאה לקובץ Digital Asset Links, שמצהירה שהאפליקציה והאתר חולקים פרטי כניסה:
delegate_permission/common.get_login_creds.מציינים את הגדרת החתימה או בוחרים קובץ של מאגר מפתחות.
חשוב לבחור את קובץ ההגדרות או את קובץ מאגר המפתחות הנכון לגרסת build להפצה, או את קובץ ההגדרות או את קובץ מאגר המפתחות הנכון לגרסת build לניפוי באגים של האפליקציה. אם רוצים להגדיר את גרסת הייצור, צריך להשתמש בקובץ ההגדרות של גרסת ההפצה. אם רוצים לבדוק את הגרסה, משתמשים בהגדרות הניפוי באגים.
- לוחצים על יצירת קובץ Digital Asset Links.
- אחרי ש-Android Studio יוצר את הקובץ, לוחצים על שמירת הקובץ כדי להוריד אותו.
- מעלים את הקובץ
assetlinks.jsonלאתר, עם גישת קריאה לכולם, בכתובתhttps://yoursite/.well-known/assetlinks.json.חשוב: המערכת מאמתת את קובץ ה-Digital Asset Links באמצעות פרוטוקול HTTPS מוצפן. חשוב לוודא שאפשר לגשת לקובץ
assetlinks.jsonדרך חיבור HTTPS, גם אם מסנן Intent של האפליקציה כולל אתhttps. - לוחצים על קישור ואימות כדי לאשר שהעליתם את קובץ Digital Asset Links הנכון למיקום הנכון.
הכלי App Link Assistant יכול לאמת את קובץ Digital Assets Links שצריך לפרסם באתר. עבור כל דומיין שמוצהר בקובץ המניפסט, הכלי מנתח את הקובץ באתר, מבצע בדיקות אימות ומספק הסבר מפורט על אופן תיקון השגיאות.
מידע נוסף על שיוך האתר לאפליקציה באמצעות קובץ Digital Asset Links זמין במאמר הצהרה על שיוכים לאתר.
בדיקת קישורי עומק לאפליקציות ל-Android
כדי לוודא שהקישורים שלכם פותחים את הפעילות הנכונה, פועלים לפי השלבים הבאים:
- ב-App Links Assistant, לוחצים על Test App Links (בדיקת קישורים לאפליקציה).
- בשדה כתובת URL, מזינים את כתובת ה-URL שרוצים לבדוק. לדוגמה: http://recipe-app.com/recipe/grilled-potato-salad.
- לוחצים על הפעלת הבדיקה.
איור 3. תיבת הדו-שיח בדיקת קישורי עומק לאפליקציה שבה מוצגת כתובת URL שנבדקת והודעה על הצלחה.
אם מיפוי כתובות ה-URL לא מוגדר בצורה נכונה או לא קיים, תופיע הודעת שגיאה מתחת לכתובת ה-URL בתיבת הדו-שיח Test App Links. אחרת, Android Studio מפעיל את האפליקציה במכשיר או באמולטור בפעילות שצוינה, בלי להציג את תיבת הדו-שיח לביטול הדו-משמעות ("בורר האפליקציות"), ומציג הודעת הצלחה בתיבת הדו-שיח App Link Testing, כמו שמוצג באיור 3.
אם אי אפשר להפעיל את האפליקציה ב-Android Studio, הודעת שגיאה מופיעה בחלון Run של Android Studio.
כדי לבדוק קישורים לאפליקציות ל-Android באמצעות הכלי App Links Assistant, צריך מכשיר מחובר או מכשיר וירטואלי זמין עם Android מגרסה 6.0 (רמת API 23) ואילך. מידע נוסף על חיבור מכשיר או על יצירת מכשיר וירטואלי של Android