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 לפרויקט אנדרואיד שלך .

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

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

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

    ג'אווה

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

    קוטלין + KTX

    implementation 'com.google.firebase:firebase-dynamic-links-ktx:19.1.0'
    implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
  4. במסוף 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);
            }
        });

קוטלין + 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() בכל פעילות שעשויה להיות getDynamicLink() ידי הקישור, למרות שהקישור עשוי להיות זמין מהכוונה באמצעות getIntent().getData() . קריאה ל- getDynamicLink() מאחזרת את הקישור ומנקה את הנתונים כך שהם עובדים רק פעם אחת על ידי האפליקציה שלך.

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

הקלט ניתוחים

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

  • dynamic_link_app_open
  • dynamic_link_first_open
  • dynamic_link_app_update

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

  • התקשר ל- 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 API 23) ומעלה, באפשרותך להגדיר את האפליקציה שלך כך שתוכל לטפל ישירות בקישורים דינמיים כאשר האפליקציה שלך כבר מותקנת באמצעות Android App Links .

ודא שהוספת את טביעת האצבע של אישור SHA256 עבור האפליקציה שלך לפרויקט שלך במסוף 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 ה- android:host להיות מוגדר לתחום הקישורים הדינמיים שלך ולא לדומיין של הקישור העמוק שלך.

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

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

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