Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

  1. আপনি ইতিমধ্যে থাকে, তাহলে আপনার অ্যান্ড্রয়েড প্রকল্পের Firebase যোগ

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

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

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

    জাভা

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.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 অ্যান্ড্রয়েড Bom , আপনার অ্যাপ্লিকেশন সবসময় Firebase অ্যান্ড্রয়েড লাইব্রেরি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) Bom ব্যবহার না করেই Firebase গ্রন্থাগার নির্ভরতা ঘোষণা

    আপনি যদি 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:21.0.0'
        implementation 'com.google.firebase:firebase-analytics:20.0.0'
    }
    

    কোটলিন+কেটিএক্স

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.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 অ্যান্ড্রয়েড Bom , আপনার অ্যাপ্লিকেশন সবসময় Firebase অ্যান্ড্রয়েড লাইব্রেরি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) Bom ব্যবহার না করেই Firebase গ্রন্থাগার নির্ভরতা ঘোষণা

    আপনি যদি 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:21.0.0'
        implementation 'com.google.firebase:firebase-analytics-ktx:20.0.0'
    }
    
  3. ইন Firebase কনসোল , ডায়নামিক লিংক অধ্যায় খুলুন। যদি আপনাকে তা করার জন্য অনুরোধ করা হয় সেবার শর্তাবলী গ্রহণ করুন।

সঙ্গে প্লেইন গভীর লিঙ্ক , আপনি কার্যকলাপ আপনার অ্যাপের জন্য গভীর লিঙ্ক পরিচালনা করার জন্য একটি নতুন অভিপ্রায় ফিল্টার যোগ করা আবশ্যক। অভিপ্রায় ফিল্টারটি আপনার ডোমেনের গভীর লিঙ্কগুলি ধরা উচিত, যেহেতু আপনার অ্যাপ ইনস্টল করা থাকলে ডায়নামিক লিঙ্ক আপনার ডোমেনে পুন redনির্দেশিত হবে। প্লে স্টোর থেকে ইনস্টল/আপডেট হওয়ার পরে আপনার অ্যাপের জন্য ডায়নামিক লিঙ্ক ডেটা পাওয়ার জন্য এটি প্রয়োজন এবং চালিয়ে যান বোতামে একটি ট্যাপ করুন। ইন 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);
            }
        });

কোটলিন+কেটিএক্স

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() প্রধান কার্যকলাপ সেইসাথে অভিপ্রায় ফিল্টার যে লিঙ্ক মেলে চালু কোনো কার্যক্রম।

বিশ্লেষণ রেকর্ড করুন

নিম্নলিখিত ইভেন্টগুলি স্বয়ংক্রিয়ভাবে গুগল অ্যানালিটিক্সে ট্র্যাক করা যায় এবং ফায়ারবেস কনসোলে দেখানো যায়।

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

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

নিশ্চিত করুন যে আপনি আপনার প্রকল্পে আপনার অ্যাপের জন্য ভিন্ন ধরনের 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 আপনার ম্যানিফেস্টে অভিপ্রায় ফিল্টার অ্যাপ্লিকেশন লিংক নিয়োজিত করার জন্য অনুক্রমে নিবন্ধন করা আবশ্যক। আপনার ডায়নামিক লিংক ডোমেইনের জন্য Firebase হ্যান্ডলগুলি এই স্বয়ংক্রিয়ভাবে, কিন্তু আপনি খোলার দ্বারা এই পরীক্ষা করতে পারবেন assetlinks.json ফাইলটি আপনার ডায়নামিক লিংক ডোমেনে হোস্ট করছেন:

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

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

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