ডায়নামিক লিঙ্ক থেকে অ্যাপ লিঙ্কে মাইগ্রেট করুন & ইউনিভার্সাল লিঙ্ক

এই মাইগ্রেশন গাইডটি অ্যাপ লিংক এবং ইউনিভার্সাল লিংক ব্যবহারের উপর দৃষ্টি নিবদ্ধ করে, ঐচ্ছিকভাবে আপনার অ্যাপ-সাইট অ্যাসোসিয়েশন ফাইল হোস্ট করার জন্য ফায়ারবেস হোস্টিং ব্যবহার করে।

এই মাইগ্রেশনটি নিম্নলিখিত Firebase Dynamic Links বৈশিষ্ট্যগুলিকে প্রতিস্থাপন করে:

বৈশিষ্ট্য ফায়ারবেস ডায়নামিক লিঙ্ক অ্যাপ লিংক / ইউনিভার্সাল লিংক
একটি মাত্র লিঙ্ক ক্লিকের মাধ্যমে ব্যবহারকারীদের তাদের ডিভাইসের জন্য সঠিক দোকানে নিয়ে যান
একটি বিলম্বিত ডিপ লিঙ্ক ব্যবহার করে আপনার অ্যাপ ডাউনলোড এবং ইনস্টল করার পরে ব্যবহারকারীদের যাত্রা অব্যাহত রাখার সুযোগ দিন।
আপনার অ্যাপে (যদি ইতিমধ্যেই ইনস্টল করা থাকে) ডিপ-লিঙ্কড কন্টেন্ট ব্যবহার করে ব্যবহারকারীদের একটি প্রাসঙ্গিক অভিজ্ঞতা প্রদান করুন।
ডায়নামিক লিঙ্ক ক্লিক ইভেন্ট সম্পর্কিত বিশ্লেষণ ডেটা সরবরাহ করুন
ছোট লিঙ্ক URL তৈরি করার ক্ষমতা প্রদান করুন

যদি আপনার মাইগ্রেশনের জন্য অন্যান্য Firebase Dynamic Link বৈশিষ্ট্যের প্রয়োজন হয় যা এই নির্দেশিকায় সমর্থিত নয়, তাহলে Dynamic Links Deprecation FAQ ডকুমেন্টেশনে অন্যান্য মাইগ্রেশন পরিস্থিতি দেখুন।

ধরুন আপনার কাছে একটি Firebase Dynamic Link আছে যা দেখতে এরকম:

ডাইনামিক লিঙ্কের উদাহরণ
লিঙ্কের নাম Example.com-এ স্বাগতম।
ডিপ লিঙ্ক https://example.web.app/welcome
অ্যান্ড্রয়েড অ্যাপ com.example.android
অ্যাপল অ্যাপ com.example.ios
দীর্ঘ গতিশীল লিঙ্ক https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
সংক্ষিপ্ত গতিশীল লিঙ্ক https://example.page.link/m9Mm

এই মাইগ্রেশন গাইডের লক্ষ্য হল Firebase Dynamic Links কে এভাবে প্রতিস্থাপন করা:

https://example.page.link/m9Mm

অ্যাপ লিংক / ইউনিভার্সাল লিংক ডিপ লিংকগুলির সাথে যা দেখতে এরকম:

https:// your-project-domain .web.app/welcome

মনে রাখবেন যে অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক ডিপ লিঙ্ক আপনার ব্যবহারকারীদের নিম্নলিখিত সুবিধা প্রদান করবে:

  • একটি ডিপ লিঙ্ক যা তারা ক্লিক করতে পারে এবং আপনার অ্যাপটি ইনস্টল থাকা অবস্থায় খুলবে।
  • আপনার অ্যাপ খোলার সময় তাদের একটি নির্দিষ্ট অংশে নেভিগেট করার জন্য তাদের ব্যবহারকারীর যাত্রার ধারাবাহিকতা

তবে, অ্যাপ লিংক / ইউনিভার্সাল লিংক ডিপ লিংক আপনার ব্যবহারকারীদের জন্য নিম্নলিখিত আচরণগুলি প্রদান করবে না (যা ফায়ারবেস ডায়নামিক লিংক পূর্বে করত):

  • আপনার অ্যাপ ডাউনলোড এবং ইনস্টল করার জন্য ব্যবহারকারীদের তাদের ডিভাইসের সঠিক দোকানে নেভিগেট করা
  • প্রথমবার অ্যাপটি ডাউনলোড, ইনস্টল এবং খোলার পরে তাদের ব্যবহারকারীর যাত্রার ধারাবাহিকতা প্রদান করা

উপরের টেবিলে উল্লেখিত Firebase Dynamic Links এর তুলনায় এই অ্যাপ লিংক / ইউনিভার্সাল লিংকগুলির আচরণ এবং কার্যকারিতার পার্থক্য লক্ষ্য করুন।

শুরু করার আগে

আপনার অ্যাপটি ইতিমধ্যেই ইনস্টল হয়ে যাওয়ার পরে ডিপ-লিংকিং কার্যকারিতা প্রদানের জন্য ফায়ারবেস ডায়নামিক লিংকগুলি তার নিজস্ব অন্তর্নিহিত বাস্তবায়নে অ্যাপ লিংক (অ্যান্ড্রয়েডে) এবং ইউনিভার্সাল লিংক (আইওএসে) ব্যবহার করে।

এই নির্দেশিকাটি ফায়ারবেস হোস্টিং ব্যবহার করে আপনার নিজস্ব অ্যাপ লিঙ্ক এবং ইউনিভার্সাল লিঙ্ক কীভাবে তৈরি করবেন তা নিয়ে আলোচনা করবে যাতে ফায়ারবেস ডায়নামিক লিঙ্কগুলি দ্বারা প্রদত্ত কার্যকারিতার সেই অংশটি প্রতিস্থাপন করা যায় এবং আপনার ফায়ারবেস ডায়নামিক লিঙ্কগুলিকে নতুন অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক মাইগ্রেশন সমাধানে স্থানান্তর করা যায়।

আপনার মাইগ্রেশন সম্পূর্ণ করার জন্য আপনার নিম্নলিখিত তথ্যের প্রয়োজন হবে:

  • আপনি যে Firebase Dynamic Links মাইগ্রেট করতে চান
  • আপনার ডায়নামিক লিঙ্কগুলিতে অন্তর্ভুক্ত ডিপ-লিঙ্ক URL প্যারামিটারগুলি
  • আপনার পূর্ববর্তী Firebase Dynamic Links ডোমেনটি প্রতিস্থাপন করার জন্য আপনি যে ডোমেনটি ব্যবহার করার পরিকল্পনা করছেন (যদি প্রযোজ্য হয়)

আপনার বিদ্যমান লিঙ্ক মেটাডেটা এক্সপোর্ট করতে এবং উপরে তালিকাভুক্ত তথ্য পেতে আপনি এক্সপোর্ট ডাইনামিক লিংক মেটাডেটা গাইড ব্যবহার করতে পারেন।

মাইগ্রেশন ধাপগুলির ওভারভিউ

  1. ফায়ারবেস হোস্টিং ব্যবহার করে আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইল হোস্ট করার জন্য একটি নতুন ডোমেন (যদি আপনার কাছে ইতিমধ্যেই এমন একটি ডোমেন না থাকে যা আপনি ব্যবহার করতে চান) সরবরাহ করুন।

  2. আপনার হোস্টিং ডোমেনে আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইল তৈরি এবং হোস্ট করুন।

  3. আপনার Firebase Dynamic Links-এ ব্যবহৃত ডিপ-লিঙ্ক স্কিমার সাথে মিলে নতুন অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক তৈরি করুন।

  4. ডিপ-লিঙ্ক পেতে আপনার অ্যান্ড্রয়েড / আইওএস অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করুন।

  5. আপনার অ্যাপ লিংক / ইউনিভার্সাল লিংক ইন্টিগ্রেশন পরীক্ষা করা হচ্ছে।

  6. আপনার প্রকাশিত বা শেয়ার করা Firebase Dynamic Links-এর পরিবর্তে App Links এবং Universal Links ব্যবহার করুন।

প্রথম ধাপটি অ্যাপ লিংক অথবা ইউনিভার্সাল লিংক মাইগ্রেশন ফ্লো উভয়ের ক্ষেত্রেই সাধারণ হবে। বাকি অংশ প্ল্যাটফর্মের উপর নির্ভর করে পরিবর্তিত হবে, তাই আপনি প্রথমে কোন প্ল্যাটফর্মটি মাইগ্রেট করতে চান তার উপর নির্ভর করে নীচের নির্দেশিকার অংশে যান।

একটি ডোমেন বেছে নিন

প্রথম ধাপ হল আপনার অ্যাপ লিংক / ইউনিভার্সাল লিংকগুলির জন্য আপনি যে ডোমেনটি ব্যবহার করতে চান তা নির্বাচন করা। এটি সেই ডোমেন যা আপনার ব্যবহারকারীদের সাথে ভাগ করে নেওয়া নতুন লিঙ্কগুলির জন্য ব্যবহৃত হবে।

যদি আপনি Firebase Hosting ব্যবহার করেন, your-project-domain .web.app অথবা your-project-domain .firebaseapp.com ফর্ম্যাটের প্রোজেক্ট সাবডোমেনগুলি স্বয়ংক্রিয়ভাবে বিনামূল্যে সরবরাহ করা হয়। আপনি ঐচ্ছিকভাবে Firebase Hosting সহ বা ছাড়াই একটি কাস্টম ডোমেন ব্যবহার করে আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইলগুলি হোস্ট করতে পারেন।

ফায়ারবেস হোস্টিং সেট আপ করুন

এরপর, আপনাকে আপনার Firebase হোস্টিং ইনস্ট্যান্স সেট আপ এবং কনফিগার করতে হবে।

আপনার Firebase হোস্টিং ইনস্ট্যান্স সেট আপ করার সময়, আপনার `` your-project-domain .web.app '' এর মতো একটি ডোমেন থাকবে, অথবা আপনি যদি চান তবে একটি কাস্টম ডোমেন থাকবে

অ্যাপ লিংক ব্যবহার করার জন্য, আপনাকে অবশ্যই একটি কনফিগারেশন ফাইল হোস্ট করতে হবে যা আপনার লিঙ্কগুলিতে ব্যবহৃত ডোমেন এবং আপনার অ্যাপের মধ্যে একটি নিরাপদ সংযোগ স্থাপন করতে সাহায্য করবে। অ্যাপ লিংকগুলির জন্য, এটি assetlinks.json ফাইল।

assetlinks.json ফাইল তৈরি এবং হোস্ট করার ধাপগুলি

assetlinks.json ফাইলটি আমাদের অনুমোদিত অ্যাপগুলির একটি তালিকা প্রদান করতে সাহায্য করে যা আমাদের অ্যাপ লিঙ্কগুলির জন্য ব্যবহৃত ওয়েব ডোমেনের বিষয়বস্তু পরিচালনা করতে পারে। assetlinks.json ফাইলটি নিজেই /.well-known পাথের অধীনে ওয়েব ডোমেনের রুটে হোস্ট করা প্রয়োজন।

এই কনফিগারেশনটি সম্পূর্ণ করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার Firebase Hosting রুট ডিরেক্টরিতে পাবলিক ফোল্ডারের অধীনে .well-known ফোল্ডারটি তৈরি করুন।

  2. .well-known ফোল্ডারের অধীনে assetlinks.json নামে একটি ফাইল তৈরি করুন।

  3. নিচের প্রতিটি ক্ষেত্রের অর্থ লক্ষ্য করে, নিম্নলিখিত বিষয়বস্তুগুলি আপনার assetlinks.json ফাইলে অনুলিপি করুন:

    [{
      "relation": ["delegate_permission/common.handle_all_urls"],
      "target": {
        "namespace": "android_app",
        "package_name": "com.example.android",
        "sha256_cert_fingerprints":
          ["01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF"]
      }
    }]
    
    • namespace - আপনি যে অ্যাপ্লিকেশনটি প্রদান করতে চান তার নাম বোঝায়
    • package_name - অ্যাপের build.gradle ফাইলে ঘোষিত applicationId বোঝায়।
    • sha256_cert_fingerprints - অ্যাপ্লিকেশন স্বাক্ষর করার জন্য আপনি যে কীস্টোর ফাইলটি ব্যবহার করেন তার SHA256 ফিঙ্গারপ্রিন্টকে বোঝায়।

    ডিবাগিংয়ের উদ্দেশ্যে sha256_cert_fingerprints রেকর্ড তৈরি করতে আপনি Android Studio-তে ব্যবহৃত debug.keystore ফাইলটি ব্যবহার করতে পারেন। আপনি Mac এবং Linux-এ /Users/<username>/.android/debug.keystore এবং Windows-এ C:\Users\<username>\.android\debug.keystore এ ফাইলটি খুঁজে পেতে পারেন।

    এই কীস্টোর থেকে, আপনি কীটুল ব্যবহার করে SHA256 মান আনতে পারেন।

    এই ধাপটি সম্পূর্ণ করার জন্য আরও নির্দেশাবলীর জন্য অ্যাপ লিংক ডকুমেন্টেশনের এই বিভাগটি দেখুন।

    বিকল্পভাবে, আপনি assetlinks.json ফাইলের বিষয়বস্তু তৈরি করতে এবং অ্যাপ লিঙ্কগুলি পরিচালনা করার জন্য আপনার অ্যাপ্লিকেশনটি কনফিগার করতে Android স্টুডিওতে অ্যাপ লিংক সহকারী ব্যবহার করতে পারেন।

  4. হোস্টিংয়ের জন্য ফাইলটি সূচী করতে আপনার firebase.json ফাইলটি আপডেট করুন।

    "headers": [
      {
        "source": "/.well-known/assetlinks.json",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. এখন যেহেতু আমাদের কাছে assetlinks.json ফাইলটি আছে, পরিবর্তনগুলি হোস্ট করার জন্য firebase deploy চালান।

    মনে রাখবেন উপরের ডিপ্লয় কমান্ডটি চালানোর জন্য আপনার Firebase CLI ইনস্টল করা প্রয়োজন হবে।

    firebase deploy --only hosting
    
  6. https:// your-project-domain .web.app/.well-known/assetlinks.json এ গিয়ে assetlinks.json ফাইলটি যাচাই করুন।

এই ধাপে, আপনি আপনার অ্যাপ লিঙ্কের জন্য তৈরি করা নতুন ডোমেনের সাথে মিলে যাওয়া নিয়মিত ডিপ-লিঙ্ক URL ব্যবহার করে আপনার Firebase Dynamic Links থেকে ডিপ-লিঙ্কগুলি পুনরায় তৈরি করবেন।

উদাহরণস্বরূপ, ধরা যাক আপনার কাছে নিম্নলিখিত Firebase Dynamic Link আছে:

ডাইনামিক লিঙ্কের উদাহরণ
লিঙ্কের নাম Example.com-এ স্বাগতম।
ডিপ লিঙ্ক https://example.web.app/welcome
অ্যান্ড্রয়েড অ্যাপ com.example.android
অ্যাপল অ্যাপ com.example.ios
দীর্ঘ গতিশীল লিঙ্ক https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
সংক্ষিপ্ত গতিশীল লিঙ্ক https://example.page.link/m9Mm

এই ক্ষেত্রে, আপনাকে ডিপ লিঙ্ক প্যারামিটারটি বের করতে হবে - অর্থাৎ https://example.web.app/welcome এবং এখন এটি আপনার অ্যাপের জন্য অ্যাপ লিঙ্ক প্যারামিটার হিসেবে ব্যবহার করবেন।

অ্যাপ লিংক / ইউনিভার্সাল লিংক ব্যবহার করে আপনি যে প্রতিটি ফায়ারবেস ডায়নামিক লিঙ্কে মাইগ্রেট করতে চান তার জন্য আপনাকে এই প্রক্রিয়াটি পুনরাবৃত্তি করতে হবে এবং আপনার ব্যবহৃত ডিপ-লিঙ্কিং স্কিমার প্রতিলিপি তৈরি করতে হবে।

উদাহরণস্বরূপ, অনুগ্রহ করে Firebase Dynamic Links শর্ট-লিঙ্ক, ডিপ লিঙ্ক প্যারামিটার এবং মাইগ্রেটেড ডিপ লিঙ্ক মানগুলির নিম্নলিখিত সেটটি দেখুন:

ছোট লিঙ্ক ডিপ লিঙ্ক প্যারামিটার মাইগ্রেটেড ডিপ লিঙ্ক
yourapp.page.link/welcome সম্পর্কে https://example.com/welcome yourapp.web.app/welcome সম্পর্কে
yourapp.page.link/c7sn সম্পর্কে https://example.com/main/?p=23&t=1 yourapp.web.app/main/?p=23&t=1
yourapp.page.link/social সম্পর্কে https://example.com/friendinvite/?add=1 yourapp.web.app/friendinvite/?add=1 সম্পর্কে

এরপর, আপনাকে প্রকাশিত বা শেয়ার করা Firebase Dynamic Links-এর যেকোনো উদাহরণ নতুন মাইগ্রেটেড ডিপ লিঙ্কের সাথে প্রতিস্থাপন করতে হবে যাতে ব্যবহারকারীরা পূর্ববর্তী Firebase Dynamic Links-এর পরিবর্তে সেই অ্যাপ লিঙ্কগুলিতে ক্লিক করতে পারেন।

একটি ডোমেন নির্বাচন, একটি ডিপ-লিঙ্কিং স্কিমা নির্বাচন এবং আপনার ফায়ারবেস ডায়নামিক লিঙ্কগুলিকে অ্যাপ লিঙ্কে স্থানান্তর করার পরের ধাপ হল নতুন ডিপ লিঙ্কগুলি পাওয়ার জন্য আপনার অ্যান্ড্রয়েড অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করা।

আমরা এখানে সম্পূর্ণ অ্যাপ লিংক ডকুমেন্টেশন অনুসরণ করার পরামর্শ দিচ্ছি অথবা বিকল্পভাবে আপনার অ্যাপটিকে ডিপ লিংক পরিচালনা করার জন্য কনফিগার করার জন্য অ্যান্ড্রয়েড স্টুডিও গাইড অনুসরণ করার পরামর্শ দিচ্ছি, তবে মূল ধাপগুলির মধ্যে রয়েছে:

  1. কোন কার্যকলাপগুলি সংশ্লিষ্ট গভীর লিঙ্কগুলি পরিচালনা করবে তা চিহ্নিত করা
  2. আপনার AndroidManifest.xml ফাইলে ঐ কার্যকলাপের জন্য একটি ইন্টেন্ট ফিল্টার যোগ করা হচ্ছে
  3. আপনার কার্যকলাপের অ্যাপ্লিকেশন কোডে ডিপ লিঙ্কটি পাওয়া

ধরুন আপনি আপনার কিছু ডিপ লিঙ্ক পরিচালনা করার জন্য আপনার MainActivity ব্যবহার করতে চেয়েছিলেন। এটি করার জন্য, আপনাকে আপনার AndroidManifest.xml ফাইলের MainActivity তে নিম্নলিখিত Intent Filter যোগ করতে হবে:

<activity android:name=".MainActivity"
   android:exported="true">
   <intent-filter>
       <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
   <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.web.app" android:scheme="http"
           android:pathPrefix="/welcome" />
       <data android:host="example.web.app" android:scheme="https"
           android:pathPrefix="/welcome" />
   </intent-filter>
</activity>

এই ধাপে, আপনি উল্লেখ করছেন যে wxample.web.app ডোমেন থেকে ডিপ লিঙ্কগুলি পরিচালনা করার জন্য MainActivity হল গন্তব্য এবং এতে /welcome path প্রিফিক্স অন্তর্ভুক্ত রয়েছে। মনে রাখবেন যে আপনাকে android:autoVerify="true" অ্যাট্রিবিউটটিও নির্দিষ্ট করতে হবে, যা আপনাকে এই ধরণের লিঙ্কের জন্য আপনার অ্যাপটিকে ডিফল্ট হ্যান্ডলার হিসাবে মনোনীত করতে দেয়।

অবশেষে, ডিপ-লিঙ্ক ডেটা পুনরুদ্ধার করতে এবং আপনার অ্যাপে ডিপ লিঙ্ক অভিজ্ঞতা চালানোর জন্য এটি ব্যবহার করতে আপনাকে আপনার MainActivity-তে কোডটি যুক্ত করতে হবে। এটি Firebase Dynamic Links-এর সাথে ইন্টিগ্রেটেড করার সময় আপনার অ্যাপে ইতিমধ্যেই কোড করা লজিকের অনুরূপ।

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.main)

  val  data: Uri? = intent?.data

  val toast = Toast.makeText(this, data, duration)
  toast.show()
}

আপনি আপনার তৈরি করা অ্যাপ লিঙ্কগুলি একটি ফিজিক্যাল ডিভাইসে অথবা অ্যান্ড্রয়েড এমুলেটরে চালিয়ে পরীক্ষা করতে পারেন।

আপনার অ্যাপ লিঙ্কের জন্য কনফিগার করা ডোমেন ব্যবহার করে আপনাকে একটি ক্লিকযোগ্য লিঙ্ক তৈরি করতে হবে এবং তারপরে সেই লিঙ্কটিতে ক্লিক করে নিশ্চিত করতে হবে যে এটি আপনার অ্যাপে খোলে এবং আপনাকে উদ্দেশ্যমূলক কার্যকলাপে নেভিগেট করে।

বিকল্পভাবে, আপনি অ্যান্ড্রয়েড স্টুডিওতে অ্যাপ লিংক সহকারী ব্যবহার করে আপনার অ্যাপ লিংক ইন্টিগ্রেশন পরীক্ষা করতে পারেন, অথবা আপনার কনফিগার করা অ্যাপ লিংক URL এর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন যাতে এটি সঠিকভাবে ম্যাচিং অ্যাক্টিভিটি চালু করে:

adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>

আপনার মাইগ্রেশনের চূড়ান্ত ধাপ হল আপনার প্রকাশিত বা শেয়ার করা Firebase Dynamic Links-কে যেখানেই সম্ভব অ্যাপ লিঙ্ক দিয়ে প্রতিস্থাপন করা এবং ভবিষ্যতে অ্যাপ লিঙ্ক ব্যবহার চালিয়ে যাওয়া।

এই ধাপটি সম্পূর্ণ করা আপনার Firebase Dynamic Links কোথায় এবং কীভাবে প্রকাশিত হয়েছে তার উপর নির্ভর করে পরিবর্তিত হবে, তবে কোনগুলি বিদ্যমান তা ট্র্যাক করতে সাহায্য করার জন্য, আপনি আপনার বিদ্যমান Firebase Dynamic Link মেটাডেটা রপ্তানি করতে পারেন। Export Dynamic Links Metadata নির্দেশিকা দেখুন।

ইউনিভার্সাল লিংক ব্যবহার করার জন্য, আপনাকে অবশ্যই একটি কনফিগারেশন ফাইল হোস্ট করতে হবে যা আপনার লিঙ্কগুলিতে ব্যবহৃত ডোমেন এবং আপনার অ্যাপের মধ্যে একটি নিরাপদ সংযোগ স্থাপন করতে সাহায্য করবে। ইউনিভার্সাল লিংকগুলির জন্য, এটি হল apple-app-site-association ফাইল (এটি AASA ফাইল নামেও পরিচিত)।

অ্যাপল-অ্যাপ-সাইট-অ্যাসোসিয়েশন ফাইল তৈরি এবং হোস্ট করার ধাপগুলি

AASA ফাইলটি আমাদের অনুমোদিত অ্যাপগুলির একটি তালিকা প্রদান করতে সাহায্য করে যা আমাদের ইউনিভার্সাল লিঙ্কগুলির জন্য আমরা যে ওয়েব ডোমেনটি ব্যবহার করব তার বিষয়বস্তু পরিচালনা করতে পারে। AASA ফাইলটি নিজেই /.well-known পাথের অধীনে ওয়েব ডোমেনের রুটে হোস্ট করা প্রয়োজন।

এই কনফিগারেশনটি সম্পূর্ণ করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার Firebase Hosting রুট ডিরেক্টরিতে পাবলিক ফোল্ডারের অধীনে " .well-known " ফোল্ডারটি তৈরি করুন।

  2. ".well-known" ফোল্ডারের অধীনে " apple-app-site-association " নামে একটি ফাইল তৈরি করুন।

  3. নিচের প্রতিটি ক্ষেত্রের অর্থ লক্ষ্য করে আপনার apple-app-site-association ফাইলে নিম্নলিখিত বিষয়বস্তু অনুলিপি করুন:

    {
      "applinks": {
        "apps": [],
        "details": [
          {
            "appID": "$TEAM_ID.com.firebase.UniversalLinks",
            "paths": [
              "NOT /_/*",
              "/*"
            ]
          }
        ]
      }
    }
    
    • $TEAM_ID.BundleId - লিঙ্কগুলি পরিচালনা করার জন্য অনুমোদিত সম্পূর্ণরূপে যোগ্য অ্যাপ্লিকেশন নাম।
  4. হোস্টিংয়ের জন্য ফাইলটি সূচী করতে আপনার firebase.json ফাইলটি আপডেট করুন।

    "headers": [
      {
        "source": "/.well-known/apple-app-site-association",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. এখন যেহেতু আমাদের কাছে AASA ফাইল আছে, পরিবর্তনগুলি হোস্ট করার জন্য firebase deploy করুন।

  6. https:// your-project-domain .web.app/.well-known/app-app-site-association-এ গিয়ে AASA ফাইলটি যাচাই করুন।

এই ধাপে, আপনি আপনার Firebase Dynamic Links থেকে ডিপ-লিঙ্কগুলি পুনরায় তৈরি করবেন, যা আপনার ইউনিভার্সাল লিঙ্কের জন্য তৈরি করা নতুন ডোমেনের সাথে মেলে এমন নিয়মিত ডিপ-লিঙ্ক URL ব্যবহার করে তৈরি করা হবে।

উদাহরণস্বরূপ, ধরা যাক আপনার কাছে নিম্নলিখিত Firebase Dynamic Link আছে:

ডাইনামিক লিঙ্কের উদাহরণ
লিঙ্কের নাম Example.com-এ স্বাগতম।
ডিপ লিঙ্ক https://example.web.app/welcome
অ্যান্ড্রয়েড অ্যাপ com.example.android
অ্যাপল অ্যাপ com.example.ios
দীর্ঘ গতিশীল লিঙ্ক https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
সংক্ষিপ্ত গতিশীল লিঙ্ক https://example.page.link/m9Mm

এই ক্ষেত্রে, আপনাকে ডিপ লিঙ্ক প্যারামিটারটি বের করতে হবে - অর্থাৎ https://example.web.app/welcome এবং এখন এটি আপনার অ্যাপের জন্য ইউনিভার্সাল লিঙ্ক প্যারামিটার হিসাবে ব্যবহার করবে।

অ্যাপ লিংক / ইউনিভার্সাল লিংক ব্যবহার করে আপনি যে প্রতিটি ফায়ারবেস ডায়নামিক লিঙ্কে মাইগ্রেট করতে চান তার জন্য আপনাকে এই প্রক্রিয়াটি পুনরাবৃত্তি করতে হবে এবং আপনার ব্যবহৃত ডিপ-লিঙ্কিং স্কিমার প্রতিলিপি তৈরি করতে হবে।

উদাহরণস্বরূপ, অনুগ্রহ করে Firebase Dynamic Links শর্ট-লিঙ্ক, ডিপ লিঙ্ক প্যারামিটার এবং মাইগ্রেটেড ডিপ লিঙ্ক মানগুলির নিম্নলিখিত সেটটি দেখুন:

ছোট লিঙ্ক ডিপ লিঙ্ক প্যারামিটার মাইগ্রেটেড ডিপ লিঙ্ক
yourapp.page.link/welcome সম্পর্কে https://example.com/welcome yourapp.web.app/welcome সম্পর্কে
yourapp.page.link/c7sn সম্পর্কে https://example.com/main/?p=23&t=1 yourapp.web.app/main/?p=23&t=1
yourapp.page.link/social সম্পর্কে https://example.com/friendinvite/?add=1 yourapp.web.app/friendinvite/?add=1 সম্পর্কে

এরপর, আপনাকে প্রকাশিত বা শেয়ার করা Firebase Dynamic Links-এর যেকোনো উদাহরণ নতুন মাইগ্রেটেড ডিপ লিঙ্কের সাথে প্রতিস্থাপন করতে হবে যাতে ব্যবহারকারীরা পূর্ববর্তী Firebase Dynamic Links-এর পরিবর্তে সেই Universal Links-এ ক্লিক করতে পারেন।

একটি ডোমেন নির্বাচন, একটি ডিপ-লিঙ্কিং স্কিমা নির্বাচন এবং আপনার ফায়ারবেস ডায়নামিক লিঙ্কগুলিকে ইউনিভার্সাল লিঙ্কগুলিতে স্থানান্তর করার পরের ধাপ হল নতুন ডিপ লিঙ্কগুলি পাওয়ার জন্য আপনার iOS অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করা।

আপনার অ্যাপটিকে ডিপ লিঙ্ক পরিচালনা করার জন্য কনফিগার করার জন্য আমরা এখানে সম্পূর্ণ ইউনিভার্সাল লিঙ্ক ডকুমেন্টেশন অনুসরণ করার পরামর্শ দিচ্ছি, তবে মূল ধাপগুলির মধ্যে রয়েছে:

  1. আপনার নতুন তৈরি ডোমেন থেকে ডিপ লিঙ্কগুলি পরিচালনা করতে আপনার অ্যাপটিকে সক্ষম করতে আপনার প্রকল্প কনফিগারেশন আপডেট করুন।

  2. আপনার অ্যাপ্লিকেশন কোডে ডিপ লিঙ্কটি পান

আপনার অ্যাপটিকে ডিপ লিঙ্কগুলি পরিচালনা করতে সক্ষম করার জন্য আপনার প্রোজেক্ট কনফিগারেশন আপডেট করার জন্য, আপনার অ্যাপল-অ্যাপ-সাইট-অ্যাসোসিয়েট ফাইলটি হোস্ট করার জন্য আপনি যে ডোমেনটি ব্যবহার করার পরিকল্পনা করছেন তার জন্য xCode-এ আপনার প্রোজেক্টে একটি অতিরিক্ত অ্যাসোসিয়েটেড ডোমেন যোগ করতে হবে।

এটি করা যেতে পারে:

  1. এক্সকোড খোলা হচ্ছে
  2. ফাইল নেভিগেটরে আপনার প্রকল্প নির্বাচন করা হচ্ছে
  3. আপনার প্রকল্প সেটিংসের "সাইনিং এবং ক্যাপাবিলিটিস" ট্যাবে নেভিগেট করা
  4. অ্যাসোসিয়েটেড ডোমেইন বিভাগে নেভিগেট করুন।
  5. "অ্যাপলিংক:" ফর্ম্যাটে আপনার প্রকল্পে অতিরিক্ত ডোমেন যুক্ত করতে + বোতামে ক্লিক করুন। "।

অবশেষে, ইনকামিং ডিপ লিঙ্কগুলি পেতে আপনাকে আপনার অ্যাপ্লিকেশন কোড আপডেট করতে হবে।

এটি সম্পন্ন করার জন্য, প্রথমে নিম্নলিখিত কোডটি যোগ করে একটি ইউনিভার্সাল লিঙ্কে সাড়া দেওয়ার জন্য AppDelegate.swift ফাইলটি আপডেট করুন:

func application(_ application: UIApplication, continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
  AppDelegate.showReceivedUrl(userActivity: userActivity);
  return true
}

static func showReceivedUrl(userActivity: NSUserActivity) {
  if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
    let url = userActivity.webpageURL!
    print(url.absoluteString)
}

উপরের কোডটি ইউনিভার্সাল লিঙ্ক কলব্যাক পদ্ধতিকে ওভাররাইড করে এবং যদি থাকে তবে ডিপ লিঙ্ক URL লগ করে।

এখন আমরা SceneDelegate ক্লাস থেকেও একই showReceivedUrl পদ্ধতিটি কল করব কারণ ব্যবহারকারী যখন ইউনিভার্সাল লিঙ্কে ক্লিক করবেন তখন যদি অ্যাপটি ইতিমধ্যেই খোলা থাকে, তাহলে SceneDelegate ভিতরে থাকা ইউনিভার্সাল লিঙ্ক কলব্যাকটিই আহ্বান করা হবে।

func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
  AppDelegate.showReceivedUrl(userActivity: userActivity)
}

আপনি আপনার অ্যাপটি একটি ফিজিক্যাল ডিভাইসে অথবা সিমুলেটরে চালিয়ে আপনার তৈরি করা ইউনিভার্সাল লিঙ্কগুলি পরীক্ষা করতে পারেন।

আপনার ইউনিভার্সাল লিঙ্কের জন্য কনফিগার করা ডোমেন ব্যবহার করে আপনাকে একটি ক্লিকযোগ্য লিঙ্ক তৈরি করতে হবে এবং তারপরে সেই লিঙ্কটিতে ক্লিক করে নিশ্চিত করতে হবে যে এটি আপনার অ্যাপে খোলে এবং আপনাকে আপনার অ্যাপের কাঙ্ক্ষিত স্ক্রিনে নেভিগেট করে।

স্মার্ট অ্যাপ ব্যানার সমর্থন করা হচ্ছে

আপনার ব্যবহারকারীদের Firebase Dynamic Links এর মতো একই অভিজ্ঞতা প্রদানের জন্য আমরা স্মার্ট অ্যাপ ব্যানার ব্যবহার করার পরামর্শ দিচ্ছি।

স্মার্ট অ্যাপ ব্যানার ব্যবহার করে, যদি আপনার ব্যবহারকারীদের ডিভাইসে অ্যাপটি ইতিমধ্যেই ইনস্টল করা না থাকে, তাহলে তাদের অ্যাপ তালিকার জন্য অ্যাপ স্টোরে নিয়ে যাওয়া হবে। আপনি ঐচ্ছিকভাবে আপনার অ্যাপটি ডাউনলোড এবং ইনস্টল করার পরে এতে প্রবেশ করার জন্য একটি প্যারামিটার কনফিগার করতে পারেন যাতে আপনার ব্যবহারকারীরা তাদের যাত্রা অব্যাহত রাখতে পারেন। যদি আপনার অ্যাপটি ইতিমধ্যেই ইনস্টল করা থাকে, তাহলে এটি আপনার অ্যাপে প্যারামিটারটি প্রবেশ করানোর মাধ্যমে আপনার ব্যবহারকারীকে তাদের ক্লিক করা স্মার্ট অ্যাপ ব্যানারের উপর ভিত্তি করে উপযুক্ত সামগ্রীতে নেভিগেট করতে সহায়তা করবে।

আপনার মাইগ্রেশনের চূড়ান্ত ধাপ হবে আপনার প্রকাশিত বা শেয়ার করা ফায়ারবেস ডায়নামিক লিঙ্কগুলিকে যেখানেই সম্ভব ইউনিভার্সাল লিঙ্ক দিয়ে প্রতিস্থাপন করা এবং ভবিষ্যতে ইউনিভার্সাল লিঙ্ক ব্যবহার চালিয়ে যাওয়া।

আপনার ফায়ারবেস ডায়নামিক লিঙ্কগুলি কোথায় এবং কীভাবে প্রকাশিত হয়েছে তার উপর নির্ভর করে এই ধাপটি সম্পূর্ণ করা হবে।

স্থানান্তরিত হওয়ার জন্য বিদ্যমান Firebase Dynamic Links ট্র্যাক করতে আপনাকে সাহায্য করার জন্য, আমরা Firebase Dynamic Links থেকে আপনার শর্ট-লিঙ্ক মেটা ডেটা কীভাবে রপ্তানি করবেন সে সম্পর্কে একটি নির্দেশিকা প্রকাশ করব। আরও আপডেটের জন্য অনুগ্রহ করে আমাদের Dynamic Links Deprecation FAQ ডকুমেন্টটি আবার দেখুন।