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

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

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

  1. יוצרים מסנני Intent בקובץ המניפסט.
  2. מוסיפים קוד לפעילויות באפליקציה כדי לטפל בקישורים נכנסים.
  3. משייכים את האפליקציה ואת האתר ל-Digital Asset Links.

‫App Links Assistant ב-Android Studio מפשט את התהליך באמצעות אשף מפורט, כמו שמתואר בהמשך.

מידע נוסף על אופן הפעולה של קישורים לאפליקציות ועל היתרונות שלהם זמין במאמר בנושא טיפול בקישורים לאפליקציות ל-Android.

הוספת מסנני כוונה

הכלי App Links Assistant ב-Android Studio יכול לעזור לכם ליצור מסנני Intent במניפסט ולמפות כתובות URL קיימות מהאתר לפעילויות באפליקציה. הכלי App Links Assistant גם מוסיף קוד תבנית בכל פעילות תואמת כדי לטפל ב-Intent.

כדי להוסיף מסנני Intent וטיפול בכתובות URL:

  1. בוחרים באפשרות Tools > App Links Assistant (כלים > כלי העזר לקישורי אפליקציות).
  2. לוחצים על Open URL Mapping Editor (פתיחת כלי העריכה של מיפוי כתובות URL) ואז על Add (הוספה) בתחתית הרשימה URL Mapping (מיפוי כתובות URL) כדי להוסיף מיפוי חדש של כתובות URL.
  3. מוסיפים את הפרטים של מיפוי כתובת ה-URL החדש:

    הכלי App Links Assistant מנחה אתכם בתהליך של מיפוי כתובות URL בסיסי

    איור 1. מוסיפים פרטים בסיסיים על מבנה הקישורים באתר כדי למפות כתובות URL לפעילויות באפליקציה.

    1. מזינים את כתובת האתר בשדה מארח.
    2. מוסיפים path,‏ pathPrefix או pathPattern לכתובות ה-URL שרוצים למפות.

      לדוגמה, אם יש לכם אפליקציה לשיתוף מתכונים שבה כל המתכונים זמינים באותה פעילות, ובאתר התואם כל המתכונים נמצאים באותה ספרייה /recipe, אתם יכולים להשתמש ב-pathPrefix ולהזין /recipe. כך, כתובת ה-URL‏ http://www.recipe-app.com/recipe/grilled-potato-salad ממופה לפעילות שתבחרו בשלב הבא.

    3. בוחרים את הפעילות שאליה כתובות ה-URL אמורות להפנות את המשתמשים.
    4. לוחצים על אישור.

    יופיע החלון 'עורך מיפוי כתובות URL'. הכלי App Links Assistant מוסיף מסנני Intent על סמך מיפוי כתובות ה-URL שלכם לקובץ AndroidManifest.xml ומדגיש את השינויים בשדה תצוגה מקדימה. אם רוצים לבצע שינויים, לוחצים על Open AndroidManifest.xml כדי לערוך את מסנן הכוונות. מידע נוסף זמין במאמר בנושא מסנני כוונות לקישורים נכנסים.

    בחלון הראשי של הכלי App Links Assistant מוצגים גם כל קישורי העומק הקיימים בקובץ AndroidManifest.xml, ואפשר לפתור במהירות בעיות בהגדרות בלחיצה על Fix All Manifest Issues (פתרון כל הבעיות בקובץ המניפסט).

    הכלי App Links Assistant מאפשר לכם לתקן הגדרות שגויות במניפסט.

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

  4. כדי לוודא שהמיפוי של כתובות ה-URL פועל כמו שצריך, מזינים כתובת URL בשדה בדיקת מיפוי כתובות URL.

    אם הכל פועל כמו שצריך, בהודעת ההצלחה יצוין שכתובת ה-URL שהזנתם ממופה לפעילות שבחרתם.

טיפול בקישורים נכנסים

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

  1. לוחצים על Select Activity (בחירת פעילות) בכלי App Links Assistant.
  2. בוחרים פעילות מהרשימה ולוחצים על הוספת קוד.

הכלי 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 ופועלים לפי השלבים הבאים:

הכלי App Links Assistant מנחה אתכם בתהליך של מיפוי כתובות URL בסיסי

איור 2. מזינים את הפרטים של האתר והאפליקציה כדי ליצור קובץ Digital Asset Links.

  1. מזינים את דומיין האתר ואת מזהה הבקשה.
  2. כדי לכלול תמיכה בקובץ Digital Asset Links ב כניסה בלחיצה אחת, בוחרים באפשרות תמיכה בשיתוף פרטי הכניסה בין האפליקציה לבין האתר ומזינים את כתובת ה-URL של הכניסה לאתר.כך מתווספת המחרוזת הבאה לקובץ Digital Asset Links, שמצהירה שהאפליקציה והאתר חולקים פרטי כניסה: delegate_permission/common.get_login_creds.

  3. מציינים את הגדרת החתימה או בוחרים קובץ של חנות מפתחות.

    חשוב לבחור את קובץ ההגדרות או את קובץ חנות המפתחות הנכון לגרסת הייצור, או את קובץ ההגדרות או את קובץ חנות המפתחות הנכון לגרסת הניפוי באגים של האפליקציה. אם רוצים להגדיר את גרסת הייצור, צריך להשתמש בהגדרות הייצור. אם רוצים לבדוק את ה-build, משתמשים בהגדרת הניפוי באגים.

  4. לוחצים על יצירת קובץ Digital Asset Links.
  5. אחרי ש-Android Studio יוצר את הקובץ, לוחצים על שמירת הקובץ כדי להוריד אותו.
  6. מעלים את הקובץ assetlinks.json לאתר, עם גישת קריאה לכולם, בכתובת https://yoursite/.well-known/assetlinks.json.

    חשוב: המערכת מאמתת את קובץ ה-Digital Asset Links באמצעות פרוטוקול HTTPS מוצפן. חשוב לוודא שאפשר לגשת לקובץ assetlinks.json דרך חיבור HTTPS, בלי קשר לשאלה אם מסנן Intent של האפליקציה כולל https.

  7. לוחצים על קישור ואימות כדי לאשר שהעליתם את קובץ Digital Asset Links הנכון למיקום הנכון.

הכלי App Link Assistant יכול לאמת את קובץ Digital Assets Links שצריך לפרסם באתר. עבור כל דומיין שמוצהר בקובץ המניפסט, הכלי מנתח את הקובץ באתר, מבצע בדיקות אימות ומספק הסבר מפורט על אופן תיקון השגיאות.

במאמר הצהרה על שיוכים של אתרים מוסבר איך לשייך את האתר לאפליקציה באמצעות קובץ Digital Asset Links.

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

כדי לוודא שהקישורים פותחים את הפעילות הנכונה, פועלים לפי השלבים הבאים:

  1. ב-App Links Assistant, לוחצים על Test App Links (בדיקת קישורים מסוג App Links).
  2. בשדה כתובת URL, מזינים את כתובת ה-URL שרוצים לבדוק. לדוגמה, http://recipe-app.com/recipe/grilled-potato-salad.
  3. איור 3. תיבת הדו-שיח בדיקת קישורי עומק לאפליקציה שבה מוצגת כתובת URL שנבדקת והודעה על הצלחה.

  4. לוחצים על הפעלת הבדיקה.

אם מיפוי כתובות ה-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.