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

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

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

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

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

ধরুন আপনার কাছে একটি ফায়ারবেস ডায়নামিক লিঙ্ক আছে যা দেখতে এইরকম:

ডায়নামিক লিঙ্কের উদাহরণ
লিঙ্কের নাম 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.page.link/m9Mm

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

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

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

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

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

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

উপরের সারণীতে বলা ফায়ারবেস ডায়নামিক লিঙ্কগুলির তুলনায় এই অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্কগুলির আচরণ এবং কার্যকারিতার পার্থক্যগুলি নোট করুন৷

তুমি শুরু করার আগে

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

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

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

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

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

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

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

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

  3. আপনার ফায়ারবেস ডায়নামিক লিঙ্কগুলিতে ব্যবহৃত ডিপ-লিঙ্ক স্কিমার সাথে মিলে যাওয়া নতুন অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক তৈরি করুন।

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

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

  6. আপনার প্রকাশিত বা শেয়ার করা ফায়ারবেস ডায়নামিক লিঙ্কগুলিকে অ্যাপ লিঙ্ক এবং ইউনিভার্সাল লিঙ্ক দিয়ে প্রতিস্থাপন করুন।

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

একটি ডোমেইন চয়ন করুন

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

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

Firebase হোস্টিং সেট আপ করুন

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

আপনার ফায়ারবেস হোস্টিং ইন্সট্যান্স সেট আপ করার সময়, আপনার কাছে your-project-domain .web.app এর মতো একটি ডোমেন বা আপনি পছন্দ করলে একটি কাস্টম ডোমেন থাকবে।

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

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

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

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

  1. আপনার Firebase হোস্টিং রুট ডিরেক্টরিতে সর্বজনীন ফোল্ডারের অধীনে .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 ফাইলটি ব্যবহার করতে পারেন। আপনি ম্যাক এবং লিনাক্সে /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 ডায়নামিক লিঙ্কগুলি থেকে ডিপ-লিঙ্কগুলি পুনরায় তৈরি করবেন৷

সুতরাং উদাহরণস্বরূপ, ধরা যাক আপনার কাছে নিম্নলিখিত ফায়ারবেস ডায়নামিক লিঙ্ক রয়েছে:

ডায়নামিক লিঙ্কের উদাহরণ
লিঙ্কের নাম 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 ডায়নামিক লিংক শর্ট-লিঙ্ক, ডিপ লিঙ্ক প্যারামিটার এবং মাইগ্রেটেড ডিপ লিঙ্ক মানগুলির নিম্নলিখিত সেটগুলি দেখুন:

সংক্ষিপ্ত লিংক গভীর লিঙ্ক প্যারামিটার স্থানান্তরিত গভীর লিঙ্ক
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 ডায়নামিক লিঙ্কগুলির যে কোনও দৃষ্টান্ত প্রতিস্থাপন করতে হবে যা প্রকাশিত হয়েছে বা নতুন স্থানান্তরিত গভীর লিঙ্কগুলির সাথে ভাগ করা হয়েছে যাতে ব্যবহারকারীরা আগের Firebase ডায়নামিক লিঙ্কগুলির পরিবর্তে সেই অ্যাপ লিঙ্কগুলিতে ক্লিক করতে পারে।

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

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

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

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

<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 ডায়নামিক লিঙ্কগুলির সাথে একীভূত করেছেন তখন আপনি ইতিমধ্যেই আপনার অ্যাপে কোড করেছেন এমন যুক্তির অনুরূপ।

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()
}

আপনি একটি শারীরিক ডিভাইসে বা Android এমুলেটরে আপনার অ্যাপটি চালানোর মাধ্যমে আপনার তৈরি করা অ্যাপ লিঙ্কগুলি পরীক্ষা করতে পারেন।

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

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

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

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

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

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

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

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

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

  1. আপনার ফায়ারবেস হোস্টিং রুট ডিরেক্টরিতে পাবলিক ফোল্ডারের অধীনে " .সুপরিচিত " ফোল্ডারটি তৈরি করুন৷

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

  3. নীচের প্রতিটি ক্ষেত্রের অর্থ নোট করে আপনার অ্যাপল-অ্যাপ-সাইট-অ্যাসোসিয়েশন ফাইলে নিম্নলিখিত সামগ্রীটি অনুলিপি করুন:

    {
      "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 ফাইল আছে, পরিবর্তনগুলি হোস্ট করতে ফায়ারবেস স্থাপন করুন।

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

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

সুতরাং উদাহরণস্বরূপ, ধরা যাক আপনার কাছে নিম্নলিখিত ফায়ারবেস ডায়নামিক লিঙ্ক রয়েছে:

ডায়নামিক লিঙ্কের উদাহরণ
লিঙ্কের নাম 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

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

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

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

সংক্ষিপ্ত লিংক গভীর লিঙ্ক প্যারামিটার স্থানান্তরিত গভীর লিঙ্ক
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 ডায়নামিক লিঙ্কগুলির যে কোনও দৃষ্টান্ত প্রতিস্থাপন করতে হবে যা প্রকাশিত হয়েছে বা নতুন স্থানান্তরিত গভীর লিঙ্কগুলির সাথে ভাগ করা হয়েছে যাতে ব্যবহারকারীরা আগের Firebase ডায়নামিক লিঙ্কগুলির পরিবর্তে সেই ইউনিভার্সাল লিঙ্কগুলিতে ক্লিক করতে পারে।

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

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

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

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

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