এই মাইগ্রেশন গাইডটি অ্যাপ লিঙ্ক এবং ইউনিভার্সাল লিঙ্ক ব্যবহারের উপর আলোকপাত করে, এবং ঐচ্ছিকভাবে আপনার অ্যাপ-সাইট অ্যাসোসিয়েশন ফাইলগুলি হোস্ট করার জন্য ফায়ারবেস হোস্টিং ব্যবহারের কথাও বলে।
এই মাইগ্রেশনটি নিম্নলিখিত ফায়ারবেস ডাইনামিক লিঙ্ক বৈশিষ্ট্যগুলিকে প্রতিস্থাপন করে:
| বৈশিষ্ট্য | ফায়ারবেস ডাইনামিক লিঙ্ক | অ্যাপ লিঙ্ক / সার্বজনীন লিঙ্ক |
|---|---|---|
| একটি মাত্র লিঙ্কে ক্লিক করে ব্যবহারকারীদের তাদের ডিভাইসের জন্য সঠিক স্টোরে নিয়ে যান। | ★ | |
| আপনার অ্যাপ ডাউনলোড ও ইনস্টল করার পর, একটি ডিফার্ড ডিপ লিঙ্ক ব্যবহার করে ব্যবহারকারীদের যাত্রা অব্যাহত রাখার সুযোগ দিন। | ★ | |
| আপনার অ্যাপে (যখন অ্যাপটি ইতিমধ্যেই ইনস্টল করা থাকে) ডিপ-লিঙ্কযুক্ত কন্টেন্ট ব্যবহার করে ব্যবহারকারীদের একটি প্রাসঙ্গিক অভিজ্ঞতা প্রদান করুন। | ||
| ডায়নামিক লিঙ্ক ক্লিক ইভেন্ট সম্পর্কিত অ্যানালিটিক্স ডেটা সরবরাহ করুন | ||
| শর্ট লিঙ্ক ইউআরএল তৈরি করার সুবিধা প্রদান করুন |
আপনার মাইগ্রেশনের জন্য যদি এমন অন্য Firebase Dynamic Link ফিচারের প্রয়োজন হয় যা এই গাইডে সমর্থিত নয়, তাহলে Dynamic Links Deprecation 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 Dynamic Links তার নিজস্ব অন্তর্নিহিত বাস্তবায়নে Android-এ App Links এবং iOS-এ Universal Links ব্যবহার করে।
আপনার Firebase Dynamic Links-কে নতুন App Links / Universal Links মাইগ্রেশন সলিউশনে স্থানান্তরিত করার সময়, Firebase Hosting ব্যবহার করে কীভাবে এর কার্যকারিতার সেই অংশটি প্রতিস্থাপন করবেন, তা এই নির্দেশিকাটিতে ধাপে ধাপে দেখানো হয়েছে।
আপনার মাইগ্রেশন সম্পন্ন করার জন্য নিম্নলিখিত তথ্যগুলোর প্রয়োজন হবে:
- যে ফায়ারবেস ডাইনামিক লিঙ্কগুলি আপনি মাইগ্রেট করতে চান
- আপনার ডাইনামিক লিঙ্কগুলিতে অন্তর্ভুক্ত ডিপ-লিঙ্ক ইউআরএল প্যারামিটারগুলি
- যে ডোমেইনটি আপনি আপনার পূর্ববর্তী Firebase Dynamic Links ডোমেইনের পরিবর্তে ব্যবহার করার পরিকল্পনা করছেন (যদি প্রযোজ্য হয়)
আপনার বিদ্যমান লিঙ্ক মেটাডেটা এক্সপোর্ট করতে এবং উপরে তালিকাভুক্ত তথ্যগুলো পেতে আপনি ‘এক্সপোর্ট ডাইনামিক লিঙ্কস মেটাডেটা’ গাইডটি ব্যবহার করতে পারেন।
মাইগ্রেশনের ধাপগুলোর সংক্ষিপ্ত বিবরণ
আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইলগুলো হোস্ট করার জন্য ফায়ারবেস হোস্টিং ব্যবহার করে একটি নতুন ডোমেইন প্রস্তুত করুন (যদি আপনার কাছে আগে থেকে ব্যবহার করার মতো কোনো ডোমেইন না থাকে)।
আপনার হোস্টিং ডোমেইনে আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইলগুলো তৈরি ও হোস্ট করুন।
আপনার ফায়ারবেস ডাইনামিক লিঙ্কগুলিতে ব্যবহৃত ডিপ-লিঙ্ক স্কিমার সাথে মিলিয়ে নতুন অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক তৈরি করুন।
ডিপ-লিঙ্ক পেতে আপনার অ্যান্ড্রয়েড / আইওএস অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করুন।
আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক ইন্টিগ্রেশন পরীক্ষা করা হচ্ছে।
আপনার প্রকাশিত বা শেয়ার করা ফায়ারবেস ডাইনামিক লিঙ্কগুলো অ্যাপ লিঙ্ক এবং ইউনিভার্সাল লিঙ্ক দিয়ে প্রতিস্থাপন করুন।
অ্যাপ লিঙ্ক এবং ইউনিভার্সাল লিঙ্ক, উভয় মাইগ্রেশন ফ্লো-এর ক্ষেত্রেই প্রথম ধাপটি একই থাকবে। বাকি ধাপগুলো প্ল্যাটফর্ম অনুযায়ী ভিন্ন হবে, তাই আপনি প্রথমে কোন প্ল্যাটফর্মটি মাইগ্রেট করতে চান, সেই অনুযায়ী নিচের গাইডের নির্দিষ্ট অংশে যান।
- অ্যান্ড্রয়েড অ্যাপ লিঙ্কগুলির জন্য মাইগ্রেশনের ধাপগুলি
- iOS-এ ইউনিভার্সাল লিঙ্কের জন্য মাইগ্রেশনের ধাপসমূহ
ফায়ারবেস হোস্টিং ব্যবহার করে আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইলগুলি হোস্ট করার জন্য একটি নতুন ডোমেইন প্রস্তুত করুন।
একটি ডোমেইন নির্বাচন করুন
প্রথম ধাপ হলো আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্কের জন্য একটি ডোমেইন বেছে নেওয়া। এই ডোমেইনটিই আপনার ব্যবহারকারীদের সাথে শেয়ার করা নতুন লিঙ্কগুলোর জন্য ব্যবহৃত হবে।
আপনি যদি ফায়ারবেস হোস্টিং ব্যবহার করেন, your-project-domain .web.app অথবা your-project-domain .firebaseapp.com ফরম্যাটের প্রজেক্ট সাবডোমেইনগুলো কোনো খরচ ছাড়াই স্বয়ংক্রিয়ভাবে তৈরি হয়ে যায়। আপনি চাইলে ফায়ারবেস হোস্টিং সহ বা ছাড়াই আপনার অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইলগুলো হোস্ট করার জন্য একটি কাস্টম ডোমেইনও ব্যবহার করতে পারেন।
ফায়ারবেস হোস্টিং সেট আপ করুন
এরপরে, আপনাকে আপনার ফায়ারবেস হোস্টিং ইনস্ট্যান্সটি সেট আপ এবং কনফিগার করতে হবে।
আপনার Firebase হোস্টিং ইনস্ট্যান্স সেট আপ করা শেষ হলে, আপনি your-project-domain .web.app এর মতো একটি ডোমেইন পাবেন, অথবা আপনার পছন্দ হলে একটি কাস্টম ডোমেইনও ব্যবহার করতে পারেন।
অ্যান্ড্রয়েড অ্যাপ লিঙ্কগুলির জন্য মাইগ্রেশনের ধাপগুলি
আপনার নতুন হোস্টিং ডোমেনে আপনার অ্যাপ লিঙ্ক কনফিগারেশন ফাইলগুলি তৈরি করুন এবং হোস্ট করুন।
অ্যাপ লিঙ্কস ব্যবহার করার জন্য, আপনাকে অবশ্যই একটি কনফিগারেশন ফাইল হোস্ট করতে হবে যা আপনার লিঙ্কগুলিতে ব্যবহৃত ডোমেইন এবং আপনার অ্যাপের মধ্যে একটি সুরক্ষিত সংযোগ স্থাপন করতে সাহায্য করে। অ্যাপ লিঙ্কস-এর জন্য, এটি হলো assetlinks.json ফাইল।
assetlinks.json ফাইল তৈরি এবং হোস্ট করার ধাপসমূহ
assetlinks.json ফাইলটি আমাদের সেইসব অনুমোদিত অ্যাপের একটি তালিকা প্রদান করার সুযোগ দেয়, যেগুলো আমাদের অ্যাপ লিঙ্কের জন্য ব্যবহৃত ওয়েব ডোমেইনের বিষয়বস্তু পরিচালনা করতে পারে। assetlinks.json ফাইলটিকে অবশ্যই ওয়েব ডোমেইনের রুটে /.well-known পাথের অধীনে হোস্ট করতে হবে।
এই কনফিগারেশনটি সম্পূর্ণ করতে নিচের ধাপগুলো অনুসরণ করুন:
আপনার Firebase Hosting রুট ডিরেক্টরির public ফোল্ডারের অধীনে
.well-knownফোল্ডারটি তৈরি করুন।.well-knownফোল্ডারের অধীনেassetlinks.jsonনামে একটি ফাইল তৈরি করুন।নিচের প্রতিটি ফিল্ডের অর্থ খেয়াল রেখে, নিম্নলিখিত বিষয়বস্তু আপনার 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 রেকর্ড তৈরি করার জন্য আপনি অ্যান্ড্রয়েড স্টুডিও দ্বারা ব্যবহৃত debug.keystore ফাইলটি ব্যবহার করতে পারেন। ফাইলটি ম্যাক এবং লিনাক্সে
/Users/<username>/.android/debug.keystoreএবং উইন্ডোজেC:\Users\<username>\.android\debug.keystoreএ পাওয়া যাবে।এই কীস্টোর থেকে আপনি কীটুল ব্যবহার করে SHA256 মানটি পেতে পারেন।
এই ধাপটি সম্পন্ন করার বিষয়ে আরও নির্দেশাবলীর জন্য অ্যাপ লিঙ্কস ডকুমেন্টেশনের এই অংশটি দেখুন।
বিকল্পভাবে, আপনি অ্যান্ড্রয়েড স্টুডিও-তে থাকা অ্যাপ লিঙ্কস অ্যাসিস্ট্যান্ট ব্যবহার করে assetlinks.json ফাইলের বিষয়বস্তু তৈরি করতে এবং অ্যাপ লিঙ্কগুলি পরিচালনা করার জন্য আপনার অ্যাপ্লিকেশনটি কনফিগার করতে পারেন।
-
হোস্টিংয়ের জন্য ফাইলটিকে ইন্ডেক্স করতে আপনার firebase.json ফাইলটি আপডেট করুন।
"headers": [ { "source": "/.well-known/assetlinks.json", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]এখন যেহেতু আমাদের কাছে assetlinks.json ফাইলটি আছে, পরিবর্তনগুলো হোস্ট করার জন্য
firebase deployচালান।উল্লেখ্য, উপরের ডিপ্লয় কমান্ডটি চালানোর জন্য আপনার সিস্টেমে Firebase CLI ইনস্টল করা থাকতে হবে।
firebase deploy --only hostinghttps:// your-project-domain .web.app/.well-known/assetlinks.json
আপনার ফায়ারবেস ডাইনামিক লিঙ্কগুলিতে ব্যবহৃত ডিপ-লিঙ্ক স্কিমার সাথে মেলে এমন নতুন অ্যাপ লিঙ্ক তৈরি করুন।
এই ধাপে, আপনি আপনার অ্যাপ লিঙ্কের জন্য তৈরি করা নতুন ডোমেনের সাথে মেলে এমন সাধারণ ডিপ-লিঙ্ক ইউআরএল ব্যবহার করে আপনার ফায়ারবেস ডাইনামিক লিঙ্ক থেকে ডিপ-লিঙ্কগুলি পুনরায় তৈরি করবেন।
সুতরাং উদাহরণস্বরূপ, ধরা যাক আপনার কাছে নিম্নলিখিত ফায়ারবেস ডাইনামিক লিঙ্কটি রয়েছে:
| ডাইনামিক লিঙ্কের উদাহরণ | |
|---|---|
| লিঙ্কের নাম | 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—বের করে নেবেন এবং এটিকে আপনার অ্যাপের অ্যাপ লিঙ্ক প্যারামিটার হিসেবে ব্যবহার করবেন।
আপনি যে প্রতিটি ফায়ারবেস ডাইনামিক লিঙ্ককে অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক ব্যবহার করে মাইগ্রেট করতে চান, তার জন্য এই প্রক্রিয়াটি পুনরাবৃত্তি করতে হবে এবং আপনার ব্যবহৃত ডিপ-লিঙ্কিং স্কিমাটি প্রতিলিপি করতে হবে।
উদাহরণস্বরূপ, অনুগ্রহ করে ফায়ারবেস ডাইনামিক লিঙ্কের নিম্নলিখিত শর্ট-লিঙ্ক, ডিপ লিঙ্ক প্যারামিটার এবং স্থানান্তরিত ডিপ লিঙ্ক মানগুলির সেটটি দেখুন:
| সংক্ষিপ্ত লিঙ্ক | ডিপ লিঙ্ক প্যারামিটার | স্থানান্তরিত গভীর লিঙ্ক |
|---|---|---|
| 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 Link-কে নতুন স্থানান্তরিত ডিপ লিঙ্ক দিয়ে প্রতিস্থাপন করতে হবে, যাতে ব্যবহারকারীরা আগের Firebase Dynamic Link-গুলোর পরিবর্তে ঐ অ্যাপ লিঙ্কগুলোতে ক্লিক করে।
ডিপ লিঙ্ক পেতে আপনার অ্যান্ড্রয়েড অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করুন।
ডোমেইন নির্বাচন, ডিপ-লিঙ্কিং স্কিমা বাছাই এবং আপনার ফায়ারবেস ডাইনামিক লিঙ্কগুলোকে অ্যাপ লিঙ্কে স্থানান্তরিত করার পরের ধাপটি হলো নতুন ডিপ লিঙ্কগুলো গ্রহণ করার জন্য আপনার অ্যান্ড্রয়েড অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করা।
আমরা এখানে দেওয়া সম্পূর্ণ অ্যাপ লিঙ্কস ডকুমেন্টেশন অথবা বিকল্পভাবে আপনার অ্যাপকে ডিপ লিঙ্ক হ্যান্ডেল করার জন্য কনফিগার করতে অ্যান্ড্রয়েড স্টুডিও গাইডটি অনুসরণ করার পরামর্শ দিই, তবে প্রধান ধাপগুলো হলো:
- কোন কোন অ্যাক্টিভিটি সংশ্লিষ্ট ডিপ লিঙ্কগুলো পরিচালনা করবে তা শনাক্ত করা
- আপনার AndroidManifest.xml ফাইলে ওই অ্যাক্টিভিটিগুলোর জন্য একটি ইনটেন্ট ফিল্টার যোগ করুন
- আপনার অ্যাক্টিভিটিগুলির অ্যাপ্লিকেশন কোডে ডিপ লিঙ্কটি গ্রহণ করা
ধরা যাক, আপনি আপনার কিছু ডিপ লিঙ্ক পরিচালনা করার জন্য 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>
এই ধাপে, আপনি নির্দিষ্ট করছেন যে MainActivity হলো wxample.web.app ডোমেইন থেকে আসা ডিপ লিঙ্কগুলি পরিচালনা করার গন্তব্য, যার মধ্যে /welcome পাথ প্রিফিক্স অন্তর্ভুক্ত রয়েছে। মনে রাখবেন যে আপনাকে 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()
}
অ্যাপ লিঙ্ক পরীক্ষা করা হচ্ছে
আপনি এইমাত্র তৈরি করা অ্যাপ লিঙ্কগুলো কোনো ফিজিক্যাল ডিভাইসে অথবা অ্যান্ড্রয়েড এমুলেটরে আপনার অ্যাপটি চালিয়ে পরীক্ষা করতে পারেন।
আপনার অ্যাপ লিঙ্কের জন্য কনফিগার করা ডোমেইন ব্যবহার করে আপনাকে একটি ক্লিকযোগ্য লিঙ্ক তৈরি করতে হবে এবং তারপর সেই লিঙ্কে ক্লিক করতে হবে, যাতে এটি আপনার অ্যাপটি খোলে এবং আপনাকে উদ্দিষ্ট অ্যাক্টিভিটিতে নিয়ে যায়।
বিকল্পভাবে, আপনি অ্যান্ড্রয়েড স্টুডিও-তে থাকা অ্যাপ লিঙ্কস অ্যাসিস্ট্যান্ট ব্যবহার করে আপনার অ্যাপ লিঙ্কস ইন্টিগ্রেশন পরীক্ষা করতে পারেন, অথবা আপনার কনফিগার করা কোনো অ্যাপ লিঙ্ক ইউআরএল-এর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করে নিশ্চিত করতে পারেন যে এটি সংশ্লিষ্ট অ্যাক্টিভিটিটি সঠিকভাবে চালু করছে:
adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>আপনার প্রকাশিত বা শেয়ার করা ফায়ারবেস ডাইনামিক লিঙ্কগুলিকে অ্যাপ লিঙ্ক দিয়ে প্রতিস্থাপন করুন
আপনার মাইগ্রেশনের চূড়ান্ত ধাপ হবে, যেখানে সম্ভব, আপনার প্রকাশিত বা শেয়ার করা ফায়ারবেস ডাইনামিক লিঙ্কগুলোকে অ্যাপ লিঙ্ক দিয়ে প্রতিস্থাপন করা এবং ভবিষ্যতেও অ্যাপ লিঙ্ক ব্যবহার চালিয়ে যাওয়া।
আপনার Firebase Dynamic Link-গুলো কোথায় এবং কীভাবে প্রকাশিত হয়েছে তার উপর নির্ভর করে এই ধাপটি সম্পন্ন করার পদ্ধতি ভিন্ন হবে, কিন্তু কোনগুলো বিদ্যমান আছে তা ট্র্যাক করতে, আপনি আপনার বর্তমান Firebase Dynamic Link-এর মেটাডেটা এক্সপোর্ট করতে পারেন। ‘এক্সপোর্ট ডাইনামিক লিঙ্কস মেটাডেটা’ গাইডটি দেখুন।
iOS-এ ইউনিভার্সাল লিঙ্কের জন্য মাইগ্রেশনের ধাপসমূহ
আপনার নতুন হোস্টিং ডোমেনে আপনার ইউনিভার্সাল লিঙ্ক কনফিগারেশন ফাইলগুলি তৈরি ও হোস্ট করুন।
ইউনিভার্সাল লিঙ্ক ব্যবহার করার জন্য, আপনাকে অবশ্যই একটি কনফিগারেশন ফাইল হোস্ট করতে হবে যা আপনার লিঙ্কগুলিতে ব্যবহৃত ডোমেইন এবং আপনার অ্যাপের মধ্যে একটি সুরক্ষিত সংযোগ স্থাপন করতে সাহায্য করে। ইউনিভার্সাল লিঙ্কের জন্য, এটি হলো apple-app-site-association ফাইল (যা AASA ফাইল নামেও পরিচিত)।
apple-app-site-association ফাইল তৈরি এবং হোস্ট করার ধাপসমূহ
AASA ফাইলটি আমাদের সেইসব অনুমোদিত অ্যাপের একটি তালিকা প্রদান করার সুযোগ দেয়, যেগুলো আমাদের ইউনিভার্সাল লিঙ্কের জন্য ব্যবহৃত ওয়েব ডোমেইনের বিষয়বস্তু পরিচালনা করতে পারে। AASA ফাইলটিকে অবশ্যই ওয়েব ডোমেইনের রুটে /.well-known পাথের অধীনে হোস্ট করতে হবে।
এই কনফিগারেশনটি সম্পূর্ণ করতে নিচের ধাপগুলো অনুসরণ করুন:
আপনার Firebase হোস্টিং রুট ডিরেক্টরির public ফোল্ডারের অধীনে " .well-known " ফোল্ডারটি তৈরি করুন।
".well-known" ফোল্ডারের অধীনে " apple-app-site-association " নামে একটি ফাইল তৈরি করুন।
নিচের প্রতিটি ফিল্ডের অর্থ খেয়াল রেখে, নিম্নলিখিত বিষয়বস্তু আপনার apple-app-site-association ফাইলে কপি করুন:
{ "applinks": { "apps": [], "details": [ { "appID": "$TEAM_ID.com.firebase.UniversalLinks", "paths": [ "NOT /_/*", "/*" ] } ] } }- $TEAM_ID.BundleId - লিঙ্কগুলি পরিচালনা করার জন্য অনুমোদিত অ্যাপ্লিকেশনটির সম্পূর্ণ যোগ্য নাম
হোস্টিংয়ের জন্য ফাইলটিকে ইন্ডেক্স করতে আপনার firebase.json ফাইলটি আপডেট করুন।
"headers": [ { "source": "/.well-known/apple-app-site-association", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]এখন যেহেতু আমাদের কাছে AASA ফাইলটি আছে, পরিবর্তনগুলো হোস্টে প্রয়োগ করার জন্য firebase deploy কমান্ডটি চালান।
your-project-domain এ গিয়ে AASA ফাইলটি যাচাই করুন।
আপনার ফায়ারবেস ডাইনামিক লিঙ্কগুলিতে ব্যবহৃত ডিপ-লিঙ্ক স্কিমার সাথে মেলে এমন নতুন ইউনিভার্সাল লিঙ্ক তৈরি করুন।
এই ধাপে, আপনি আপনার ইউনিভার্সাল লিঙ্কের জন্য তৈরি করা নতুন ডোমেনের সাথে মেলে এমন সাধারণ ডিপ-লিঙ্ক ইউআরএল ব্যবহার করে আপনার ফায়ারবেস ডাইনামিক লিঙ্ক থেকে ডিপ-লিঙ্কগুলি পুনরায় তৈরি করবেন।
সুতরাং উদাহরণস্বরূপ, ধরা যাক আপনার কাছে নিম্নলিখিত ফায়ারবেস ডাইনামিক লিঙ্কটি রয়েছে:
| ডাইনামিক লিঙ্কের উদাহরণ | |
|---|---|
| লিঙ্কের নাম | 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—নিষ্কাশন করবেন এবং এটিকে আপনার অ্যাপের জন্য ইউনিভার্সাল লিঙ্ক প্যারামিটার হিসেবে ব্যবহার করবেন।
আপনি যে প্রতিটি ফায়ারবেস ডাইনামিক লিঙ্ককে অ্যাপ লিঙ্ক / ইউনিভার্সাল লিঙ্ক ব্যবহার করে মাইগ্রেট করতে চান, তার জন্য এই প্রক্রিয়াটি পুনরাবৃত্তি করতে হবে এবং আপনার ব্যবহৃত ডিপ-লিঙ্কিং স্কিমাটি প্রতিলিপি করতে হবে।
উদাহরণস্বরূপ, অনুগ্রহ করে ফায়ারবেস ডাইনামিক লিঙ্কের নিম্নলিখিত শর্ট-লিঙ্ক, ডিপ লিঙ্ক প্যারামিটার এবং স্থানান্তরিত ডিপ লিঙ্ক মানগুলির সেটটি দেখুন:
| সংক্ষিপ্ত লিঙ্ক | ডিপ লিঙ্ক প্যারামিটার | স্থানান্তরিত গভীর লিঙ্ক |
|---|---|---|
| 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 Link-এর সমস্ত ইনস্ট্যান্সকে নতুন মাইগ্রেট করা ডিপ লিঙ্ক দিয়ে প্রতিস্থাপন করতে হবে, যাতে ব্যবহারকারীরা আগের Firebase Dynamic Link-এর পরিবর্তে ঐ Universal Link-গুলোতে ক্লিক করে।
ডিপ লিঙ্ক পেতে আপনার iOS অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করুন।
একটি ডোমেইন নির্বাচন, একটি ডিপ-লিঙ্কিং স্কিমা বেছে নেওয়া এবং আপনার ফায়ারবেস ডাইনামিক লিঙ্কগুলিকে ইউনিভার্সাল লিঙ্কে স্থানান্তরিত করার পরের ধাপটি হলো নতুন ডিপ লিঙ্কগুলি গ্রহণ করার জন্য আপনার iOS অ্যাপ এবং অ্যাপ্লিকেশন কোড আপডেট করা।
আপনার অ্যাপকে ডিপ লিঙ্ক পরিচালনা করার জন্য কনফিগার করতে আমরা এখানে দেওয়া সম্পূর্ণ ইউনিভার্সাল লিঙ্কস ডকুমেন্টেশন অনুসরণ করার পরামর্শ দিই, তবে প্রধান ধাপগুলো হলো:
আপনার অ্যাপটিকে নতুন তৈরি করা ডোমেইন থেকে ডিপ লিঙ্ক পরিচালনা করতে সক্ষম করতে আপনার প্রোজেক্ট কনফিগারেশন আপডেট করুন।
আপনার অ্যাপ্লিকেশন কোডে ডিপ লিঙ্কটি গ্রহণ করুন
আপনার অ্যাপকে ডিপ লিঙ্ক পরিচালনা করতে সক্ষম করার জন্য প্রজেক্ট কনফিগারেশন আপডেট করতে, আপনাকে xCode-এ আপনার প্রজেক্টে একটি অতিরিক্ত অ্যাসোসিয়েটেড ডোমেইন যোগ করতে হবে। এই ডোমেইনটি সেই ডোমেইনের জন্য হবে যা আপনি এখন আপনার apple-app-site-associate ফাইলটি হোস্ট করার জন্য ব্যবহার করার পরিকল্পনা করছেন।
এটি করা যেতে পারে:
- এক্সকোড খোলা
- ফাইল নেভিগেটরে আপনার প্রজেক্ট নির্বাচন করা
- আপনার প্রোজেক্ট সেটিংসের সাইনিং ও ক্যাপাবিলিটিস ট্যাবে যান
- অ্যাসোসিয়েটেড ডোমেইনস বিভাগে নিচে যান
- আপনার প্রজেক্টে অতিরিক্ত ডোমেইনটি 'applinks:' ফরম্যাটে যোগ করতে + বাটনে ক্লিক করুন।
".
অবশেষে, আগত ডিপ লিঙ্কগুলো গ্রহণ করতে সক্ষম হওয়ার জন্য আপনাকে আপনার অ্যাপ্লিকেশন কোড আপডেট করতে হবে।
এটি সম্পন্ন করতে, প্রথমে নিম্নলিখিত কোডটি যোগ করে 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)
}
উপরের কোডটি ইউনিভার্সাল লিঙ্ক কলব্যাক মেথডকে ওভাররাইড করে এবং ডিপ লিঙ্ক ইউআরএলটি উপস্থিত থাকলে তা লগ করে।
এখন আমরা SceneDelegate ক্লাস থেকেও একই showReceivedUrl মেথডটি কল করব, কারণ ব্যবহারকারী ইউনিভার্সাল লিঙ্কে ক্লিক করার সময় যদি অ্যাপটি আগে থেকেই খোলা থাকে, তাহলে SceneDelegate ভেতরের ইউনিভার্সাল লিঙ্ক কলব্যাকটিই ইনভোক হবে।
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
AppDelegate.showReceivedUrl(userActivity: userActivity)
}
ইউনিভার্সাল লিঙ্ক পরীক্ষা করা হচ্ছে
আপনি এইমাত্র তৈরি করা ইউনিভার্সাল লিঙ্কগুলো কোনো ফিজিক্যাল ডিভাইসে অথবা সিমুলেটরে আপনার অ্যাপটি চালিয়ে পরীক্ষা করতে পারেন।
আপনার ইউনিভার্সাল লিঙ্কের জন্য কনফিগার করা ডোমেইন ব্যবহার করে একটি ক্লিকযোগ্য লিঙ্ক তৈরি করতে হবে এবং তারপর সেই লিঙ্কে ক্লিক করতে হবে, যাতে এটি আপনার অ্যাপটি খোলে এবং আপনাকে অ্যাপের উদ্দিষ্ট স্ক্রিনে নিয়ে যায়।
স্মার্ট অ্যাপ ব্যানার সমর্থন করা
আপনার ব্যবহারকারীদের ফায়ারবেস ডাইনামিক লিঙ্কের মতো অভিজ্ঞতা দেওয়ার একটি উপায় হিসেবে আমরা স্মার্ট অ্যাপ ব্যানার ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করি।
স্মার্ট অ্যাপ ব্যানার ব্যবহার করে, আপনার অ্যাপটি যদি ব্যবহারকারীর ডিভাইসে আগে থেকে ইনস্টল করা না থাকে, তবে তাকে আপনার অ্যাপের তালিকা দেখার জন্য অ্যাপ স্টোরে নিয়ে যাওয়া হবে। এছাড়াও, অ্যাপটি ডাউনলোড ও ইনস্টল হওয়ার পর ব্যবহারকারীদের যাত্রাপথ অব্যাহত রাখার জন্য আপনি ঐচ্ছিকভাবে একটি প্যারামিটার কনফিগার করতে পারেন। যদি আপনার অ্যাপটি আগে থেকেই ইনস্টল করা থাকে, তবে ব্যবহারকারীর ক্লিক করা স্মার্ট অ্যাপ ব্যানারের উপর ভিত্তি করে সঠিক কন্টেন্টে নেভিগেট করতে সাহায্য করার জন্য, অ্যাপটিতে প্যারামিটারটি পাস করার মাধ্যমে এটি খুলে যাবে।
আপনার প্রকাশিত বা শেয়ার করা ফায়ারবেস ডাইনামিক লিঙ্কগুলিকে অ্যাপ লিঙ্ক দিয়ে প্রতিস্থাপন করুন
আপনার মাইগ্রেশনের চূড়ান্ত ধাপ হবে, যেখানে সম্ভব, আপনার প্রকাশিত বা শেয়ার করা ফায়ারবেস ডাইনামিক লিঙ্কগুলোকে ইউনিভার্সাল লিঙ্ক দিয়ে প্রতিস্থাপন করা এবং ভবিষ্যতেও ইউনিভার্সাল লিঙ্ক ব্যবহার চালিয়ে যাওয়া।
আপনার Firebase Dynamic Link-গুলো কোথায় এবং কীভাবে প্রকাশিত হয়েছে, তার উপর নির্ভর করে এই ধাপটি সম্পন্ন করার পদ্ধতি ভিন্ন হবে।
মাইগ্রেট করা হবে এমন বিদ্যমান ফায়ারবেস ডাইনামিক লিঙ্কগুলির উপর নজর রাখতে আপনাকে সাহায্য করার জন্য, আমরা ফায়ারবেস ডাইনামিক লিঙ্ক থেকে আপনার শর্ট-লিঙ্ক মেটা ডেটা কীভাবে এক্সপোর্ট করবেন সে সম্পর্কে একটি নির্দেশিকা প্রকাশ করব। আরও আপডেটের জন্য অনুগ্রহ করে আমাদের ডাইনামিক লিঙ্ক ডেপ্রিকেশন FAQ ডকুমেন্টটি দেখুন।