Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

צור קישורים דינמיים ב- Android

ניתן ליצור קישורים דינמיים קצרים או ארוכים באמצעות ממשק ה- API לבניית קישורים דינמיים של Firebase. ממשק API זה מקבל קישור דינמי ארוך או אובייקט המכיל פרמטרים של קישור דינמי ומחזיר כתובות אתרים כמו הדוגמאות הבאות:

https://example.com/link/WXYZ
https://example.page.link/WXYZ

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

  1. אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך .

    כאשר אתה רושם את האפליקציה שלך, ציין את מפתח החתימה שלך ל- SHA-1. אם אתה משתמש בקישורי אפליקציות, ציין גם את מפתח SHA-256.

  2. בקובץ build.gradle ברמת הפרויקט שלך, הקפד לכלול את מאגר Maven של גוגל גם buildscript allprojects וגם בקטעי allprojects .
  3. הוסף את התלות עבור ספריית Android Dynamic Links למודול שלך (ברמת האפליקציה) לקובץ Gradle (בדרך כלל app/build.gradle ).

    לקבלת חוויה אופטימלית עם קישורים דינמיים, אנו ממליצים להפעיל את Google Analytics בפרויקט שלך. כמו כן, כחלק מהגדרת Analytics, עליך להוסיף את ה- SDK של Firebase עבור Analytics לאפליקציה שלך.

    ג'אווה

    implementation 'com.google.firebase:firebase-dynamic-links:19.1.0'
    implementation 'com.google.firebase:firebase-analytics:17.5.0'

    Kotlin + KTX

    implementation 'com.google.firebase:firebase-dynamic-links-ktx:19.1.0'
    implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
  4. במסוף Firebase, פתח את הקטע קישורים דינמיים .
  5. אם עדיין לא קיבלת את תנאי השירות והגדרת דומיין עבור הקישורים הדינמיים שלך, עשה זאת כאשר תתבקש לעשות זאת.

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

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

השתמש במסוף Firebase

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

ליצירת קישור דינמי, צור אובייקט DynamicLink חדש עם ה- Builder שלו, וציין את הפרמטרים של Dynamic Link בשיטות Builder. לאחר מכן, התקשר ל- buildDynamicLink או buildShortDynamicLink .

הדוגמה המינימלית הבאה יוצרת קישור דינמי ארוך ל- https://www.example.com/ שנפתח באפליקציית Android שלך באנדרואיד ובאפליקציה com.example.ios ב- iOS:

ג'אווה

DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
        .setLink(Uri.parse("https://www.example.com/"))
        .setDomainUriPrefix("https://example.page.link")
        // Open links with this app on Android
        .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
        // Open links with com.example.ios on iOS
        .setIosParameters(new DynamicLink.IosParameters.Builder("com.example.ios").build())
        .buildDynamicLink();

Uri dynamicLinkUri = dynamicLink.getUri();

Kotlin + KTX

val dynamicLink = Firebase.dynamicLinks.dynamicLink {
    link = Uri.parse("https://www.example.com/")
    domainUriPrefix = "https://example.page.link"
    // Open links with this app on Android
    androidParameters { }
    // Open links with com.example.ios on iOS
    iosParameters("com.example.ios") { }
}

val dynamicLinkUri = dynamicLink.uri

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

ג'אווה

Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
        .setLink(Uri.parse("https://www.example.com/"))
        .setDomainUriPrefix("https://example.page.link")
        // Set parameters
        // ...
        .buildShortDynamicLink()
        .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
            @Override
            public void onComplete(@NonNull Task<ShortDynamicLink> task) {
                if (task.isSuccessful()) {
                    // Short link created
                    Uri shortLink = task.getResult().getShortLink();
                    Uri flowchartLink = task.getResult().getPreviewLink();
                } else {
                    // Error
                    // ...
                }
            }
        });

Kotlin + KTX

val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync {
    link = Uri.parse("https://www.example.com/")
    domainUriPrefix = "https://example.page.link"
    // Set parameters
    // ...
}.addOnSuccessListener { result ->
    // Short link created
    val shortLink = result.shortLink
    val flowchartLink = result.previewLink
}.addOnFailureListener {
    // Error
    // ...
}

כברירת מחדל, קישורים דינמיים קצרים נוצרים עם סיומות של 17 תווים של קישורים שהופכים את זה מאוד לא סביר שמישהו יכול לנחש קישור דינמי חוקי. אם, עבור המקרה שלכם, יש לא מזיק למישהו ניחוש בהצלחה קישור קצר, ייתכן שתעדיף ליצור סיומות שאינן רק ככל שיידרש כדי להיות ייחודי, שבו אתה יכול לעשות על ידי העברת ShortDynamicLink.Suffix.SHORT אל buildShortDynamicLink השיטה :

ג'אווה

Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
        // ...
        .buildShortDynamicLink(ShortDynamicLink.Suffix.SHORT);
        // ...

Kotlin + KTX

val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) {
    // Set parameters
    // ...
}

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

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

ג'אווה

DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
        .setLink(Uri.parse("https://www.example.com/"))
        .setDomainUriPrefix("https://example.page.link")
        .setAndroidParameters(
                new DynamicLink.AndroidParameters.Builder("com.example.android")
                        .setMinimumVersion(125)
                        .build())
        .setIosParameters(
                new DynamicLink.IosParameters.Builder("com.example.ios")
                        .setAppStoreId("123456789")
                        .setMinimumVersion("1.0.1")
                        .build())
        .setGoogleAnalyticsParameters(
                new DynamicLink.GoogleAnalyticsParameters.Builder()
                        .setSource("orkut")
                        .setMedium("social")
                        .setCampaign("example-promo")
                        .build())
        .setItunesConnectAnalyticsParameters(
                new DynamicLink.ItunesConnectAnalyticsParameters.Builder()
                        .setProviderToken("123456")
                        .setCampaignToken("example-promo")
                        .build())
        .setSocialMetaTagParameters(
                new DynamicLink.SocialMetaTagParameters.Builder()
                        .setTitle("Example of a Dynamic Link")
                        .setDescription("This link works whether the app is installed or not!")
                        .build())
        .buildDynamicLink();  // Or buildShortDynamicLink()

Kotlin + KTX

val dynamicLink = Firebase.dynamicLinks.dynamicLink { // or Firebase.dynamicLinks.shortLinkAsync
    link = Uri.parse("https://www.example.com/")
    domainUriPrefix = "https://example.page.link"
    androidParameters("com.example.android") {
        minimumVersion = 125
    }
    iosParameters("com.example.ios") {
        appStoreId = "123456789"
        minimumVersion = "1.0.1"
    }
    googleAnalyticsParameters {
        source = "orkut"
        medium = "social"
        campaign = "example-promo"
    }
    itunesConnectAnalyticsParameters {
        providerToken = "123456"
        campaignToken = "example-promo"
    }
    socialMetaTagParameters {
        title = "Example of a Dynamic Link"
        description = "This link works whether the app is installed or not!"
    }
}

ניתן להגדיר פרמטרים של קישור דינמי בשיטות הבאות:

פרמטרים של DynamicLink
setLink

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

setDomainUriPrefix קידומת ה- URL של קישור דינמי שלך, שתוכל למצוא במסוף Firebase. תחום קישור דינמי נראה כמו הדוגמאות הבאות:
https://example.com/link
https://example.page.link
AndroidParameters
setFallbackUrl הקישור לפתיחה כאשר האפליקציה לא מותקנת. ציין זאת כדי לעשות משהו אחר מלבד להתקין את האפליקציה שלך מחנות Play כאשר האפליקציה לא מותקנת, כמו לפתוח את גרסת האינטרנט הנייד של התוכן, או להציג דף קידום מכירות עבור האפליקציה שלך.
setMinimumVersion versionCode של הגרסה המינימאלית של האפליקציה שלך שיכול לפתוח את הקישור. אם האפליקציה המותקנת היא גרסה ישנה יותר, המשתמש מועבר לחנות Play כדי לשדרג את האפליקציה.
IosParameters
setAppStoreId מזהה האפליקציה של חנות האפליקציה שלך, משמש לשליחת משתמשים לחנות האפליקציות כאשר האפליקציה לא מותקנת
setFallbackUrl הקישור לפתיחה כאשר האפליקציה לא מותקנת. ציין זאת כדי לעשות משהו אחר מלבד להתקין את האפליקציה שלך מחנות האפליקציות כאשר האפליקציה לא מותקנת, כמו לפתוח את גרסת האינטרנט הנייד של התוכן, או להציג דף קידום מכירות לאפליקציה שלך.
setCustomScheme תוכנית ה- URL המותאמת אישית של האפליקציה שלך, אם מוגדרת כמשהו שאינו מזהה החבילה של האפליקציה שלך
setIpadFallbackUrl הקישור לפתיחה באייפדים כאשר האפליקציה לא מותקנת. ציין זאת כדי לעשות משהו אחר מלבד להתקין את האפליקציה שלך מחנות האפליקציות כאשר האפליקציה לא מותקנת, כמו לפתוח את גרסת האינטרנט של התוכן, או להציג דף קידום מכירות עבור האפליקציה שלך.
setIpadBundleId מזהה הצרור של אפליקציית iOS לשימוש במכשירי iPad כדי לפתוח את הקישור. על האפליקציה להיות מחוברת לפרויקט שלך מדף הסקירה הכללית של מסוף Firebase.
setMinimumVersion מספר הגרסה של הגרסה המינימלית של האפליקציה שלך שיכולה לפתוח את הקישור. דגל זה מועבר לאפליקציה שלך כאשר היא נפתחת, ועל האפליקציה שלך להחליט מה לעשות איתה.
NavigationInfoParameters
setForcedRedirectEnabled אם מוגדר כ- '1, דלג על דף התצוגה המקדימה של האפליקציה כאשר הקישור הדינמי נפתח, ובמקום זאת להפנות מחדש לאפליקציה או לחנות. דף התצוגה המקדימה של האפליקציה (מופעל כברירת מחדל) יכול לשלוח משתמשים בצורה אמינה יותר ליעד המתאים ביותר כאשר הם פותחים קישורים דינמיים באפליקציות; עם זאת, אם אתה מצפה כי קישור דינמי ייפתח רק באפליקציות שיכולות לפתוח קישורים דינמיים באופן אמין ללא עמוד זה, תוכל להשבית אותו באמצעות פרמטר זה. הערה: דף התצוגה המקדימה של האפליקציה מוצג כרגע רק ב- iOS, אך בסופו של דבר עשוי להיות מוצג ב- Android. פרמטר זה ישפיע על התנהגות הקישור הדינמי בשתי הפלטפורמות.
SocialMetaTagParameters
setTitle הכותרת לשימוש כאשר הקישור הדינמי משותף בפוסט חברתי.
setDescription התיאור לשימוש כאשר הקישור הדינמי משותף בפוסט חברתי.
setImageUrl כתובת האתר לתמונה שקשורה לקישור זה. התמונה צריכה להיות לפחות 300x200 פיקסלים, ופחות מ -300 KB.
GoogleAnalyticsParameters
setSource
setMedium
setCampaign
setTerm
setContent
פרמטרים של ניתוח Google Play. פרמטרים אלה ( utm_source , utm_medium , utm_campaign , utm_term , utm_content ) מועברים לחנות Play וכן מצורפים לעומס הקישור.
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
פרמטרי ניתוח iTunes Connect. פרמטרים אלה ( pt , at , ct ) מועברים לחנות האפליקציות.

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

ג'אווה

9

Kotlin + KTX

val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync {
    longLink = Uri.parse("https://example.page.link/?link=" +
            "https://www.example.com/&apn=com.example.android&ibn=com.example.ios")
}.addOnSuccessListener { result ->
    // Short link created
    val shortLink = result.shortLink
    val flowchartLink = result.previewLink
}.addOnFailureListener {
    // Error
    // ...
}