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

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

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

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

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

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

הוספת מסנני Intent

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

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

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

    ‫App Links Assistant מדריך אתכם בתהליך של מיפוי כתובות URL בסיסיות

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

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

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

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

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

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

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

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

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

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

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

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

  1. ב-App Links Assistant, לוחצים על Select Activity (בחירת פעילות).
  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 בדרך כלל לא תואמת לזו שבמכשירי המשתמשים. במקרה כזה, אפשר למצוא את קטע הקוד הנכון של Digital Asset Links בפורמט JSON לאפליקציה בחשבון הפיתוח ב-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 בסיסיות

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

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

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

    חשוב לבחור את קובץ ה-keystore או קובץ ההגדרות הנכון של גרסת ה-build להפצה, או את קובץ ה-keystore או קובץ ההגדרות של גרסת ה-build לניפוי באגים של האפליקציה. אם רוצים להגדיר את גרסת ה-build בסביבת הייצור, צריך להשתמש בקובץ ההגדרות של גרסת ה-build להפצה. אם אתם רוצים לבדוק את ה-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 שצריך לפרסם באתר. לכל דומיין שמוצהר בקובץ המניפסט, Assistant מנתח את הקובץ באתר, מבצע בדיקות אימות ומספק הסבר מפורט על איך לפתור את הבעיה בשגיאות.

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

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

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

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

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

אם מיפוי כתובות ה-URL לא מוגדר כמו שצריך או לא קיים, מופיעה הודעת שגיאה מתחת לכתובת ה-URL בתיבת הדו-שיח בדיקת קישורי עומק לאפליקציה. אחרת, Android Studio מפעיל את האפליקציה במכשיר או באמולטור בפעילות שצוינה בלי להציג את תיבת הדו-שיח להפגת עמימות ("בוחר האפליקציות"), ומציג הודעת הצלחה בתיבת הדו-שיח App Link Testing, כמו שמוצג באיור 4.

אם Android Studio לא מצליח להפעיל את האפליקציה, מופיעה הודעת שגיאה בחלון Run של Android Studio.

כדי לבדוק Android App Links באמצעות App Links Assistant, צריך מכשיר מחובר או מכשיר וירטואלי זמין עם Android בגרסה 6.0 (רמת API ‏23) ומעלה. למידע נוסף, קראו איך לחבר מכשיר או ליצור AVD.