Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

Android पर Firebase डायनामिक लिंक प्राप्त करें

आपके द्वारा बनाए गए Firebase डायनामिक लिंक्स को प्राप्त करने के लिए, आपको डायनामिक लिंक्स SDK को अपने ऐप में शामिल करना होगा और जब आपके ऐप को डायनेमिक लिंक में डेटा प्राप्त करने के लिए लोड किया जाता है तो FirebaseDynamicLinks.getDynamicLink() विधि को कॉल करें।

  1. यदि आप पहले से नहीं हैं, तो अपने Android प्रोजेक्ट में Firebase जोड़ें

    जब आप अपना ऐप पंजीकृत करते हैं, तो अपनी SHA-1 साइनिंग कुंजी निर्दिष्ट करें। यदि आप ऐप लिंक का उपयोग करते हैं, तो अपनी SHA-256 कुंजी भी निर्दिष्ट करें।

  2. Firebase Android BoM का उपयोग करते हुए, अपने मॉड्यूल (ऐप-स्तरीय) ग्रेड फ़ाइल (आमतौर पर app/build.gradle ) में डायनामिक लिंक एंड्रॉइड लाइब्रेरी के लिए निर्भरता की घोषणा करें।

    डायनामिक लिंक के साथ एक इष्टतम अनुभव के लिए, हम आपके प्रोजेक्ट में Google Analytics को सक्षम करने की सलाह देते हैं। साथ ही, Analytics सेट करने के भाग के रूप में, आपको Google Analytics के लिए Firebase SDK को अपने ऐप में जोड़ना होगा।

    जावा

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:26.0.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 का उपयोग करके, आपका ऐप हमेशा Firebase Android पुस्तकालयों के संगत संस्करणों का उपयोग करेगा।

    (वैकल्पिक) BoM का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित करें

    यदि आप Firebase BoM का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक 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:18.0.0'
    }
    

    Kotlin + KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:26.0.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 का उपयोग करके, आपका ऐप हमेशा Firebase Android पुस्तकालयों के संगत संस्करणों का उपयोग करेगा।

    (वैकल्पिक) BoM का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित करें

    यदि आप Firebase BoM का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक 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:18.0.0'
    }
    
  3. Firebase कंसोल में , डायनामिक लिंक सेक्शन खोलें। यदि आपको ऐसा करने के लिए कहा जाए तो सेवा की शर्तें स्वीकार करें।

सादे गहरे लिंक के साथ , आपको उस गतिविधि के लिए एक नया आशय फ़िल्टर जोड़ना होगा जो आपके ऐप के लिए गहरे लिंक को संभालता है। आशय फ़िल्टर आपके डोमेन के गहरे लिंक को पकड़ना चाहिए, क्योंकि डायनामिक लिंक आपके डोमेन पर पुनर्निर्देशित कर देगा यदि आपका ऐप इंस्टॉल है। प्ले स्टोर से इंस्टॉल / अपडेट होने और कंटिन्यू बटन पर एक टैप करने के बाद आपके ऐप को डायनामिक लिंक डेटा प्राप्त करना आवश्यक है। 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() साथ-साथ इरादे फिल्टर द्वारा शुरू की गई किसी भी गतिविधि को कहते हैं जो लिंक से मेल खाती है।

रिकॉर्ड एनालिटिक्स

निम्न घटनाओं को Google Analytics में स्वचालित रूप से ट्रैक किया जा सकता है और फायरबेस कंसोल में दिखाया जा सकता है।

  • 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() , onStart() onCreate()
    • गहरी लिंक गतिविधियों।
  • Google Analytics सेट अप करें और उसका उपयोग करें:
    • Google Analytics निर्भरता को शामिल करें। यह आमतौर पर google-services Services ग्रैगल प्लगइन द्वारा स्वचालित रूप से जोड़ा जाता है।
    • अपने ऐप में google-services.json config फाइल शामिल करें
    • कॉल FirebaseAnalytics.getInstance() कॉल करने से पहले FirebaseDynamicLinks.getDynamicLink()

एंड्रॉइड 6.0 (एपीआई स्तर 23) और उच्चतर पर, आप डायनेमिक लिंक को संभालने के लिए अपने ऐप को सीधे सेट कर सकते हैं जब आपका ऐप एंड्रॉइड मोबाइल लिंक का उपयोग करके पहले से इंस्टॉल हो।

सुनिश्चित करें कि आपने अपने ऐप के लिए SHA256 प्रमाणपत्र फ़िंगरप्रिंट को अपने प्रोजेक्ट में फायरबेस कंसोल में जोड़ा है । डायनामिक लिंक आपके डायनामिक लिंक डोमेन के लिए ऐप लिंक वेबसाइट एसोसिएशन स्थापित करने का काम करेंगे।

गतिविधि के लिए एक ऑटो-सत्यापित आशय फ़िल्टर जोड़ें, जो आपके प्रोजेक्ट के डायनामिक लिंक डोमेन में होस्ट की स्थापना करेगा जैसा कि फायरबेस कंसोल में पाया जाता है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 आशय फ़िल्टर को संलग्न करने के लिए ऐप लिंक के लिए पंजीकृत होना चाहिए। फायरबेस अपने डायनेमिक लिंक डोमेन के लिए स्वचालित रूप से इसे संभालता है, लेकिन आप अपने डायनामिक लिंक डोमेन पर होस्ट की गई assetlinks.json फ़ाइल को खोलकर इसे चेक कर सकते हैं:

https://YOUR_DOMAIN/.well-known/assetlinks.json
आपके सभी फायरबेस ऐप्स के पैकेज के नाम शामिल होने चाहिए।

डायनामिक लिंक अब सीधे आपके ऐप पर भेजे जाएंगे। आप गतिविधि में getDynamicLink() को कॉल करके डीप लिंक और अन्य डायनामिक लिंक डेटा प्राप्त करने में सक्षम होंगे, आपने ऐप लिंक getDynamicLink() फ़िल्टर को (जैसा कि हैंडल डीप लिंक में वर्णित है) जोड़ा है।