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

קבל קישורים דינמיים של Firebase באנדרואיד

כדי לקבל את הקישורים הדינמיים של Firebase שיצרת , עליך לכלול את SDK הקישורים הדינמיים באפליקציה שלך ולהתקשר לשיטת FirebaseDynamicLinks.getDynamicLink() כאשר היישום שלך נטען כדי להעביר את הנתונים בקישור הדינמי.

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

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

  2. באמצעות Firebase Android BoM , הצהירו על התלות בספריית Android Dynamic Links במודול שלכם (ברמת האפליקציה) בקובץ Gradle (בדרך כלל app/build.gradle ).

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

    ג'אווה

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:25.12.0')
    
        // Declare the dependencies for the Dynamic Links and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-dynamic-links'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    על ידי שימוש ב- Firebase Android BoM , האפליקציה שלך תשתמש תמיד בגרסאות תואמות של ספריות Android של Firebase.

    (חלופי) הצהיר על תלות בספריית Firebase מבלי להשתמש ב- BoM

    אם תבחר לא להשתמש ב- Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

    שים לב שאם אתה משתמש בספריות Firebase מרובות באפליקציה שלך, אנו ממליצים בחום להשתמש ב- BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.

    dependencies {
        // Declare the dependencies for the Dynamic Links and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-dynamic-links:19.1.1'
        implementation 'com.google.firebase:firebase-analytics:17.6.0'
    }
    

    Kotlin + KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:25.12.0')
    
        // Declare the dependencies for the Dynamic Links and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-dynamic-links-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    על ידי שימוש ב- Firebase Android BoM , היישום שלך ישתמש תמיד בגרסאות תואמות של ספריות Android ל- Firebase.

    (חלופי) הצהיר על תלות בספריית Firebase מבלי להשתמש ב- BoM

    אם תבחר לא להשתמש ב- Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

    שים לב שאם אתה משתמש בספריות Firebase מרובות באפליקציה שלך, אנו ממליצים בחום להשתמש ב- BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.

    dependencies {
        // Declare the dependencies for the Dynamic Links and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-dynamic-links-ktx:19.1.1'
        implementation 'com.google.firebase:firebase-analytics-ktx:17.6.0'
    }
    
  3. במסוף Firebase , פתח את הקטע קישורים דינמיים . קבל את תנאי השירות אם תתבקש לעשות זאת.

כמו בקישורים עמוקים רגילים , עליך להוסיף מסנן כוונות חדש לפעילות המטפל בקישורים עמוקים לאפליקציה שלך. מסנן הכוונות אמור לתפוס קישורים עמוקים של הדומיין שלך, מכיוון שהקישור הדינמי ינותב לדומיין שלך אם האפליקציה שלך מותקנת. זה נדרש כדי שהאפליקציה שלך תקבל את נתוני הקישור הדינמי לאחר התקנתם / עדכוןם מחנות Play והקשה אחת על כפתור המשך. ב- AndroidManifest.xml :

<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:host="example.com"
        android:scheme="https"/>
</intent-filter>

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

לקבלת הקישור העמוק התקשר getDynamicLink() :

ג'אווה

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
            @Override
            public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                // Get deep link from result (may be null if no link is found)
                Uri deepLink = null;
                if (pendingDynamicLinkData != null) {
                    deepLink = pendingDynamicLinkData.getLink();
                }


                // Handle the deep link. For example, open the linked
                // content, or apply promotional credit to the user's
                // account.
                // ...

                // ...
            }
        })
        .addOnFailureListener(this, new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.w(TAG, "getDynamicLink:onFailure", e);
            }
        });

Kotlin + KTX

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnSuccessListener(this) { pendingDynamicLinkData ->
            // Get deep link from result (may be null if no link is found)
            var deepLink: Uri? = null
            if (pendingDynamicLinkData != null) {
                deepLink = pendingDynamicLinkData.link
            }

            // Handle the deep link. For example, open the linked
            // content, or apply promotional credit to the user's
            // account.
            // ...

            // ...
        }
        .addOnFailureListener(this) { e -> Log.w(TAG, "getDynamicLink:onFailure", e) }

עליך להתקשר ל- getDynamicLink() בכל פעילות שעשויה להיות מושקת על ידי הקישור, למרות שהקישור עשוי להיות זמין מתוך הכוונה באמצעות getIntent().getData() . התקשרות ל- getDynamicLink() מאחזרת את הקישור ומנקה את הנתונים כך getDynamicLink() רק פעם אחת על ידי האפליקציה שלך.

בדרך כלל אתה קורא ל- getDynamicLink() בפעילות הראשית, כמו גם לכל פעילויות שהושקו על ידי מסנני כוונה התואמים את הקישור.

ניתוח שיאים

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

  • dynamic_link_app_open
  • dynamic_link_first_open
  • dynamic_link_app_update

על מנת לרשום אירועים אלה, עליך להגדיר את Google Analytics לפני שתאחזר את הקישור העמוק. בדוק שהתנאים הבאים מתקיימים:

  • התקשר ל- FirebaseDynamicLinks.getDynamicLink() בנקודות הכניסה לאפליקציה שלך:
    • פעילויות משגר. למשל: action="android.intent.action.MAIN" , category="android.intent.category.LAUNCHER" .
    • נקודות כניסה לפעילות. למשל: onStart() , onCreate() .
    • פעילויות קישור עמוק.
  • הגדר את Google Analytics והשתמש בו:
    • כלול את התלות של Google Analytics. בדרך כלל זה מתווסף אוטומטית על ידי תוסף Gradle של google-services .
    • כלול את קובץ התצורה של google-services.json באפליקציה שלך.
    • התקשר ל- FirebaseAnalytics.getInstance() לפני שאתה קורא ל- FirebaseDynamicLinks.getDynamicLink() .

ב- Android 6.0 (API ברמה 23) ואילך, אתה יכול להגדיר את האפליקציה שלך כך שתטפל בקישורים דינמיים ישירות כאשר האפליקציה שלך כבר מותקנת באמצעות Android App Links .

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

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

<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"/>
    <data android:host="example.com/link" android:scheme="http"/>
    <data android:host="example.com/link" android:scheme="https"/>
</intent-filter>

שים לב כי android:host חייב להיות מוגדר לדומיין הקישורים הדינמיים שלך, ולא לדומיין של הקישור העמוק שלך.

יש autoVerify כל מסנני הכוונה autoVerify במניפסט שלך על מנת ש- Links App יוכלו לעסוק. Firebase מטפל בזה באופן אוטומטי עבור הדומיינים של קישורים דינמיים שלך, אך אתה יכול לבדוק זאת על ידי פתיחת הקובץ assetlinks.json המתארח בדומיין קישורים דינמיים שלך:

https://YOUR_DOMAIN/.well-known/assetlinks.json
צריך לכלול את כל שמות החבילות של אפליקציות Firebase שלך.

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