Check out what’s new from Firebase at Google I/O 2022. Learn more

অ্যান্ড্রয়েডে ফায়ারবেস ডায়নামিক লিঙ্কগুলি পান৷

আপনার তৈরি করা Firebase ডায়নামিক লিঙ্কগুলি পেতে, আপনাকে অবশ্যই আপনার অ্যাপে ডায়নামিক লিঙ্ক SDK অন্তর্ভুক্ত করতে হবে এবং যখন আপনার অ্যাপ লোড হয় তখন ডায়নামিক লিঙ্কে ডেটা পাস করার জন্য FirebaseDynamicLinks.getDynamicLink() পদ্ধতিতে কল করতে হবে।

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

    আপনি যখন আপনার অ্যাপ নিবন্ধন করবেন, আপনার SHA-1 সাইনিং কী নির্দিষ্ট করুন৷ আপনি যদি অ্যাপ লিঙ্কগুলি ব্যবহার করেন তবে আপনার SHA-256 কীও নির্দিষ্ট করুন৷

  2. Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) ডায়নামিক লিঙ্কস অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতা ঘোষণা করুন।

    ডায়নামিক লিঙ্কগুলির সাথে একটি সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রকল্পে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করার পরামর্শ দিই।

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.0.1')
    
        // 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:21.0.1'
        implementation 'com.google.firebase:firebase-analytics:21.0.0'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.0.1')
    
        // 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:21.0.1'
        implementation 'com.google.firebase:firebase-analytics-ktx:21.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() পদ্ধতিতে কল করুন:

Java

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-এ স্বয়ংক্রিয়ভাবে ট্র্যাক করা যেতে পারে এবং 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 নির্ভরতা অন্তর্ভুক্ত করুন। এটি সাধারণত google-services Gradle প্লাগইন দ্বারা স্বয়ংক্রিয়ভাবে যোগ করা হয়।
    • আপনার অ্যাপে google-services.json কনফিগারেশন ফাইলটি অন্তর্ভুক্ত করুন।
    • FirebaseAnalytics.getInstance() কল করার আগে FirebaseDynamicLinks.getDynamicLink() () এ কল করুন।

Android 6.0 (API লেভেল 23) এবং উচ্চতর সংস্করণে, যখন আপনার অ্যাপ ইতিমধ্যেই Android অ্যাপ লিঙ্কগুলি ব্যবহার করে ইনস্টল করা থাকে তখন আপনি সরাসরি ডায়নামিক লিঙ্কগুলি পরিচালনা করতে আপনার অ্যাপ সেট আপ করতে পারেন।

আপনি Firebase কনসোলে আপনার প্রোজেক্টে আপনার অ্যাপের জন্য 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 অবশ্যই আপনার ডায়নামিক লিঙ্ক ডোমেনে সেট করতে হবে, আপনার ডিপ লিঙ্কের ডোমেনে নয়।

আপনার ম্যানিফেস্টের সমস্ত autoVerify অভিপ্রায় ফিল্টারগুলিকে অবশ্যই নিবন্ধিত হতে হবে যাতে অ্যাপ লিঙ্কগুলি জড়িত থাকে৷ Firebase আপনার ডায়নামিক লিঙ্ক ডোমেনের জন্য এটি স্বয়ংক্রিয়ভাবে পরিচালনা করে, তবে আপনি আপনার ডায়নামিক লিঙ্ক ডোমেনে হোস্ট করা assetlinks.json ফাইলটি খুলে এটি পরীক্ষা করতে পারেন:

https://YOUR_DOMAIN/.well-known/assetlinks.json
আপনার সমস্ত Firebase অ্যাপের প্যাকেজের নাম অন্তর্ভুক্ত করা উচিত।

ডায়নামিক লিঙ্কগুলি এখন সরাসরি আপনার অ্যাপে পাঠানো হবে। আপনি যে কার্যকলাপে অ্যাপ লিঙ্কের অভিপ্রায় ফিল্টার যোগ করেছেন তাতে getDynamicLink() কল করে ডিপ লিঙ্ক এবং অন্যান্য ডায়নামিক লিঙ্ক ডেটা পেতে সক্ষম হবেন (যেমনটি হ্যান্ডেল ডিপ লিঙ্কে বর্ণিত হয়েছে)।

দ্রষ্টব্য: যেহেতু অ্যাপ লিঙ্কের মাধ্যমে আবেদন করা ব্যবহারকারীকে সরাসরি অ্যাপে নিয়ে যায়, তাই একটি ডায়নামিক লিঙ্ক প্রয়োজনীয় ন্যূনতম সংস্করণকে সম্মান করতে পারে না। তাই একবার অ্যাপটি খোলা হলে, আপনাকে PackageInfo.versionCode-এর সাথে ডাইনামিক লিঙ্কের ন্যূনতম সংস্করণ ( getminimumappversion ) তুলনা করতে হবে এবং getUpdateAppIntent ব্যবহার করে প্রয়োজনে অ্যাপটি আপগ্রেড করতে ব্যবহারকারীকে পুনঃনির্দেশ করতে হবে

,

আপনার তৈরি করা Firebase ডায়নামিক লিঙ্কগুলি পেতে, আপনাকে অবশ্যই আপনার অ্যাপে ডায়নামিক লিঙ্ক SDK অন্তর্ভুক্ত করতে হবে এবং যখন আপনার অ্যাপ লোড হয় তখন ডায়নামিক লিঙ্কে ডেটা পাস করার জন্য FirebaseDynamicLinks.getDynamicLink() পদ্ধতিতে কল করতে হবে।

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

    আপনি যখন আপনার অ্যাপ নিবন্ধন করবেন, আপনার SHA-1 সাইনিং কী নির্দিষ্ট করুন৷ আপনি যদি অ্যাপ লিঙ্কগুলি ব্যবহার করেন তবে আপনার SHA-256 কীও নির্দিষ্ট করুন৷

  2. Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) ডায়নামিক লিঙ্কস অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতা ঘোষণা করুন।

    ডায়নামিক লিঙ্কগুলির সাথে একটি সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রকল্পে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করার পরামর্শ দিই।

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.0.1')
    
        // 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:21.0.1'
        implementation 'com.google.firebase:firebase-analytics:21.0.0'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.0.1')
    
        // 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:21.0.1'
        implementation 'com.google.firebase:firebase-analytics-ktx:21.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() পদ্ধতিতে কল করুন:

Java

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-এ স্বয়ংক্রিয়ভাবে ট্র্যাক করা যেতে পারে এবং 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 নির্ভরতা অন্তর্ভুক্ত করুন। এটি সাধারণত google-services Gradle প্লাগইন দ্বারা স্বয়ংক্রিয়ভাবে যোগ করা হয়।
    • আপনার অ্যাপে google-services.json কনফিগারেশন ফাইলটি অন্তর্ভুক্ত করুন।
    • FirebaseAnalytics.getInstance() কল করার আগে FirebaseDynamicLinks.getDynamicLink() () এ কল করুন।

Android 6.0 (API লেভেল 23) এবং উচ্চতর সংস্করণে, যখন আপনার অ্যাপ ইতিমধ্যেই Android অ্যাপ লিঙ্কগুলি ব্যবহার করে ইনস্টল করা থাকে তখন আপনি সরাসরি ডায়নামিক লিঙ্কগুলি পরিচালনা করতে আপনার অ্যাপ সেট আপ করতে পারেন।

আপনি Firebase কনসোলে আপনার প্রোজেক্টে আপনার অ্যাপের জন্য 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 অবশ্যই আপনার ডায়নামিক লিঙ্ক ডোমেনে সেট করতে হবে, আপনার ডিপ লিঙ্কের ডোমেনে নয়।

আপনার ম্যানিফেস্টের সমস্ত autoVerify অভিপ্রায় ফিল্টারগুলিকে অবশ্যই নিবন্ধিত হতে হবে যাতে অ্যাপ লিঙ্কগুলি জড়িত থাকে৷ Firebase আপনার ডায়নামিক লিঙ্ক ডোমেনের জন্য এটি স্বয়ংক্রিয়ভাবে পরিচালনা করে, তবে আপনি আপনার ডায়নামিক লিঙ্ক ডোমেনে হোস্ট করা assetlinks.json ফাইলটি খুলে এটি পরীক্ষা করতে পারেন:

https://YOUR_DOMAIN/.well-known/assetlinks.json
আপনার সমস্ত Firebase অ্যাপের প্যাকেজের নাম অন্তর্ভুক্ত করা উচিত।

ডায়নামিক লিঙ্কগুলি এখন সরাসরি আপনার অ্যাপে পাঠানো হবে। আপনি যে কার্যকলাপে অ্যাপ লিঙ্কের অভিপ্রায় ফিল্টার যোগ করেছেন তাতে getDynamicLink() কল করে ডিপ লিঙ্ক এবং অন্যান্য ডায়নামিক লিঙ্ক ডেটা পেতে সক্ষম হবেন (যেমনটি হ্যান্ডেল ডিপ লিঙ্কে বর্ণিত হয়েছে)।

দ্রষ্টব্য: যেহেতু অ্যাপ লিঙ্কের মাধ্যমে আবেদন করা ব্যবহারকারীকে সরাসরি অ্যাপে নিয়ে যায়, তাই একটি ডায়নামিক লিঙ্ক প্রয়োজনীয় ন্যূনতম সংস্করণকে সম্মান করতে পারে না। তাই একবার অ্যাপটি খোলা হলে, আপনাকে PackageInfo.versionCode-এর সাথে ডাইনামিক লিঙ্কের ন্যূনতম সংস্করণ ( getminimumappversion ) তুলনা করতে হবে এবং getUpdateAppIntent ব্যবহার করে প্রয়োজনে অ্যাপটি আপগ্রেড করতে ব্যবহারকারীকে পুনঃনির্দেশ করতে হবে