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

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

,

এই মাইগ্রেশন গাইড অ্যাপ লিঙ্ক এবং ইউনিভার্সাল লিঙ্ক ব্যবহার করার উপর ফোকাস করে, ঐচ্ছিকভাবে আপনার অ্যাপ-সাইট অ্যাসোসিয়েশন ফাইল হোস্ট করতে 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>

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

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

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

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

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

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

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

  2. "। ওয়েল-পরিচিত" ফোল্ডারের অধীনে " অ্যাপল-অ্যাপ-সাইট-অ্যাসোসিয়েশন " নামে একটি ফাইল তৈরি করুন।

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

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

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

  6. এএএসএ ফাইলটি https: // your-project-domain গিয়ে যাচাই করুন।

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

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

গতিশীল লিঙ্ক উদাহরণ
লিঙ্কের নাম উদাহরণস্বরূপ ডটকম এ স্বাগতম
গভীর লিঙ্ক 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

এই ক্ষেত্রে, আপনি গভীর লিঙ্ক প্যারামিটারটি বের করবেন - আইএইচটিটিপিএস: //example.web.app/ ওয়েলকাম এবং এখন এটি আপনার অ্যাপ্লিকেশনটির জন্য সর্বজনীন লিঙ্ক প্যারামিটার হিসাবে ব্যবহার করবে।

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

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

সংক্ষিপ্ত লিঙ্ক গভীর লিঙ্ক প্যারামিটার গভীর লিঙ্ক স্থানান্তর
Yourapp.page.link/welcom https://example.com/ ওয়েলকাম Yourapp.web.app/Welcom
yourap.page.link/c7sn https://example.com/main/?p=23&t=1 yourap.web.app/main/?p=23&t=1
yourapp.page.link/social https://example.com/ ফ্রেন্ডিনভাইট /?এডিডি=1 Yourapp.web.app/Firldinvite/?add=1

এরপরে, আপনাকে নতুন স্থানান্তরিত গভীর লিঙ্কগুলির সাথে প্রকাশিত বা ভাগ করা ফায়ারবেস গতিশীল লিঙ্কগুলির যে কোনও উদাহরণ প্রতিস্থাপন করতে হবে যাতে ব্যবহারকারীরা পূর্ববর্তী ফায়ারবেস গতিশীল লিঙ্কগুলির পরিবর্তে সেই সর্বজনীন লিঙ্কগুলিতে ক্লিক করবেন।

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

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

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

  2. আপনার অ্যাপ্লিকেশন কোডে গভীর লিঙ্কটি গ্রহণ করুন

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

এটি দ্বারা করা যেতে পারে:

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

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

এটি সম্পাদন করার জন্য, প্রথমে নিম্নলিখিত কোডটি যুক্ত করে সর্বজনীন লিঙ্কে প্রতিক্রিয়া জানাতে অ্যাপডেজেট.সুইফ্ট ফাইলটি আপডেট করুন:

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

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

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

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

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

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

স্মার্ট অ্যাপ ব্যানার সমর্থন

আমরা আপনার ব্যবহারকারীদের ফায়ারবেস গতিশীল লিঙ্কগুলির অনুরূপ অভিজ্ঞতা সরবরাহ করার উপায় হিসাবে স্মার্ট অ্যাপ ব্যানার ব্যবহার করার দৃ strongly ়ভাবে পরামর্শ দিচ্ছি।

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

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

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

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

,

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

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

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

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

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

গতিশীল লিঙ্ক উদাহরণ
লিঙ্কের নাম উদাহরণস্বরূপ ডটকম এ স্বাগতম
গভীর লিঙ্ক 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

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

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

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

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

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

আপনি শুরু করার আগে

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

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

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

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

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

মাইগ্রেশন পদক্ষেপ ওভারভিউ

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

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

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

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

  5. আপনার অ্যাপ্লিকেশন লিঙ্কগুলি / ইউনিভার্সাল লিঙ্কগুলি সংহতকরণগুলি পরীক্ষা করে।

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

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

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

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

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

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

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

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

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

Assetlinks.json ফাইল তৈরি এবং হোস্ট করার পদক্ষেপ

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

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

  1. আপনার ফায়ারবেস হোস্টিং রুট ডিরেক্টরিতে সর্বজনীন ফোল্ডারের অধীনে .well-known ফোল্ডারটি তৈরি করুন।

  2. assetlinks.json .well-known

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

    [{
      "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 ফাইলে ঘোষিত অ্যাপ্লিকেশন আইডকে বোঝায়
    • sha256_cert_fingerprints - আপনি অ্যাপ্লিকেশনটিতে স্বাক্ষর করার জন্য ব্যবহার করেন এমন কীস্টোর ফাইলের SHA256 ফিঙ্গারপ্রিন্টকে বোঝায়।

    আপনি ডিবাগিংয়ের উদ্দেশ্যে একটি SHA256_CERT_FINGERPRINTS রেকর্ড তৈরি করতে অ্যান্ড্রয়েড স্টুডিও দ্বারা ব্যবহৃত ডিবাগ.কেস্টোর ফাইলটি ব্যবহার করতে পারেন। আপনি ম্যাক এবং লিনাক্স এবং C:\Users\<username>\.android\debug.keystore উইন্ডোজে /Users/<username>/.android/debug.keystore /<username>/.android/debug.keystore ফাইলটি খুঁজে পেতে পারেন।

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

    এই পদক্ষেপটি শেষ করার বিষয়ে আরও নির্দেশাবলীর জন্য অ্যাপের এই বিভাগটি ডকুমেন্টেশন লিঙ্ক করে

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

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

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

    দ্রষ্টব্য উপরের ডিপ্লাই কমান্ডটি চালানোর জন্য আপনার ফায়ারবেস সিএলআই ইনস্টল করা দরকার।

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

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

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

গতিশীল লিঙ্ক উদাহরণ
লিঙ্কের নাম উদাহরণস্বরূপ ডটকম এ স্বাগতম
গভীর লিঙ্ক 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/welcomm এবং এখন এটি আপনার অ্যাপ্লিকেশনটির জন্য অ্যাপ্লিকেশন লিঙ্ক প্যারামিটার হিসাবে ব্যবহার করবে।

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

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

সংক্ষিপ্ত লিঙ্ক গভীর লিঙ্ক প্যারামিটার গভীর লিঙ্ক স্থানান্তর
Yourapp.page.link/welcom https://example.com/ ওয়েলকাম Yourapp.web.app/Welcom
yourap.page.link/c7sn https://example.com/main/?p=23&t=1 yourap.web.app/main/?p=23&t=1
yourapp.page.link/social https://example.com/ ফ্রেন্ডিনভাইট /?এডিডি=1 Yourapp.web.app/Firldinvite/?add=1

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

একটি ডোমেন নির্বাচন করার পরে পরবর্তী পদক্ষেপ, একটি গভীর লিঙ্কিং স্কিমা বেছে নেওয়া এবং অ্যাপ্লিকেশন লিঙ্কগুলিতে আপনার ফায়ারবেস গতিশীল লিঙ্কগুলি স্থানান্তরিত করা আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন কোডটি নতুন গভীর লিঙ্কগুলি পেতে আপডেট করা।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. "। ওয়েল-পরিচিত" ফোল্ডারের অধীনে " অ্যাপল-অ্যাপ-সাইট-অ্যাসোসিয়েশন " নামে একটি ফাইল তৈরি করুন।

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

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

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

  6. এএএসএ ফাইলটি https: // your-project-domain গিয়ে যাচাই করুন।

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

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

গতিশীল লিঙ্ক উদাহরণ
লিঙ্কের নাম উদাহরণস্বরূপ ডটকম এ স্বাগতম
গভীর লিঙ্ক 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

এই ক্ষেত্রে, আপনি গভীর লিঙ্ক প্যারামিটারটি বের করবেন - আইএইচটিটিপিএস: //example.web.app/ ওয়েলকাম এবং এখন এটি আপনার অ্যাপ্লিকেশনটির জন্য সর্বজনীন লিঙ্ক প্যারামিটার হিসাবে ব্যবহার করবে।

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

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

সংক্ষিপ্ত লিঙ্ক গভীর লিঙ্ক প্যারামিটার গভীর লিঙ্ক স্থানান্তর
Yourapp.page.link/welcom https://example.com/ ওয়েলকাম Yourapp.web.app/Welcom
yourap.page.link/c7sn https://example.com/main/?p=23&t=1 yourap.web.app/main/?p=23&t=1
yourapp.page.link/social https://example.com/ ফ্রেন্ডিনভাইট /?এডিডি=1 Yourapp.web.app/Firldinvite/?add=1

এরপরে, আপনাকে নতুন স্থানান্তরিত গভীর লিঙ্কগুলির সাথে প্রকাশিত বা ভাগ করা ফায়ারবেস গতিশীল লিঙ্কগুলির যে কোনও উদাহরণ প্রতিস্থাপন করতে হবে যাতে ব্যবহারকারীরা পূর্ববর্তী ফায়ারবেস গতিশীল লিঙ্কগুলির পরিবর্তে সেই সর্বজনীন লিঙ্কগুলিতে ক্লিক করবেন।

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

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

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

  2. আপনার অ্যাপ্লিকেশন কোডে গভীর লিঙ্কটি গ্রহণ করুন

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

এটি দ্বারা করা যেতে পারে:

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

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

এটি সম্পাদন করার জন্য, প্রথমে নিম্নলিখিত কোডটি যুক্ত করে সর্বজনীন লিঙ্কে প্রতিক্রিয়া জানাতে অ্যাপডেজেট.সুইফ্ট ফাইলটি আপডেট করুন:

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

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

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

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

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

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

স্মার্ট অ্যাপ ব্যানার সমর্থন

আমরা আপনার ব্যবহারকারীদের ফায়ারবেস গতিশীল লিঙ্কগুলির অনুরূপ অভিজ্ঞতা সরবরাহ করার উপায় হিসাবে স্মার্ট অ্যাপ ব্যানার ব্যবহার করার দৃ strongly ়ভাবে পরামর্শ দিচ্ছি।

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

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

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

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