Android App Links HTTP/HTTPS URL-গুলোকে সরাসরি আপনার অ্যাপে খুলতে দেয়, ব্রাউজারের ডিসাম্বিগুইয়েশন ডায়ালগ এড়িয়ে, যা একটি নির্বিঘ্ন ব্যবহারকারী অভিজ্ঞতা প্রদান করে। যদি আপনার অ্যাপ ইনস্টল না থাকে, তবে এগুলো সুন্দরভাবে ব্রাউজারে ফিরে যায়। এগুলো বাস্তবায়ন, বিশেষ করে রিডাইরেক্টের সাথে, কয়েকটি গুরুত্বপূর্ণ ধাপ জড়িত।
রিডাইরেক্টসহ Android App Links যোগ করার পদ্ধতি এখানে: ১. আপনার AndroidManifest.xml কনফিগার করুন আপনাকে আপনার
AndroidManifest.xml ফাইলে ইনকামিং লিঙ্কগুলো হ্যান্ডেল করার জন্য একটি ইন্টেন্ট ফিল্টার ঘোষণা করতে হবে। এই ইন্টেন্ট ফিল্টার Android সিস্টেমকে জানায় আপনার অ্যাপ কোন URLগুলো খুলতে পারবে।
android:autoVerify="true": এই গুরুত্বপূর্ণ অ্যাট্রিবিউট নির্দিষ্ট URL প্যাটার্নের জন্য আপনার অ্যাপকে ডিফল্ট হ্যান্ডলার হিসেবে স্বয়ংক্রিয় যাচাইকরণ সক্ষম করে। <action android:name="android.intent.action.VIEW" />: এটি নির্দিষ্ট করে যে ইন্টেন্ট ফিল্টারটি Google Search থেকে পৌঁছানো যাবে এবং এটি ভিউ অ্যাকশনগুলি পরিচালনা করে। <category android:name="android.intent.category.DEFAULT" />: এটি আপনার অ্যাপকে ইমপ্লিisit ইন্টেন্টগুলিতে সাড়া দিতে দেয়।
<category android:name="android.intent.category.BROWSABLE" />: এটি ইন্টেন্ট ফিল্টারটিকে ওয়েব ব্রাউজার থেকে অ্যাক্সেসযোগ্য করার জন্য প্রয়োজনীয়, যা ব্যবহারকারীদের ব্রাউজারের একটি গভীর লিঙ্ক থেকে আপনার অ্যাপ খুলতে দেয়। <data> ট্যাগ: এটি আপনার অ্যাপ যে URI ফরম্যাট হ্যান্ডেল করতে পারে তা নির্ধারণ করে। আপনি স্কিম (যেমন, https), হোস্ট (আপনার ডোমেইন), এবং ঐচ্ছিকভাবে একটি পাথ বা পাথ প্রিফিক্স নির্দিষ্ট করবেন।
উদাহরণস্বরূপ AndroidManifest.xml এন্ট্রি: <activity android:name=".DeepLinkActivity"><activity android:name=".">
<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:scheme="https"
android:host="www.example.com"";
android:pathPrefix="/products" /> </intent-filter>
</activity> এই কনফিগারেশনের অর্থ হল আপনার অ্যাপ https://www.example.com/products/item123-এর মতো URL পরিচালনা করতে পারে।
২. assetlinks.json-এর মাধ্যমে ওয়েবসাইট সংযোগ ঘোষণা করুন আপনার অ্যাপ যে URL-গুলো পরিচালনা করার দাবি করে, সেগুলোর বৈধ মালিক আপনি কিনা তা যাচাই করতে, আপনাকে আপনার ওয়েবসাইটে একটি Digital Asset Links JSON ফাইল হোস্ট করতে হবে। এই ফাইলটি আপনার ওয়েবসাইট এবং আপনার অ্যান্ড্রয়েড অ্যাপের মধ্যে একটি নিরাপদ সংযোগ স্থাপন করে।
assetlinks.json তৈরি করুন: ফাইলটিতে আপনার অ্যাপের প্যাকেজ নাম এবং SHA256 সার্টিফিকেট ফিঙ্গারপ্রিন্ট থাকতে হবে। json
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.your.packagename", "sha256_cert_fingerprints": ["YOUR_SHA256_FINGERPRINT"]
} ]] * package_name: আপনার Android অ্যাপ্লিকেশন আইডি।
* sha256_cert_fingerprints: আপনার APK তৈরি করতে ব্যবহৃত স্বাক্ষর কী-এর SHA256 ফিঙ্গারপ্রিন্ট। আপনি এটি আপনার Google Play Console থেকে (যদি Play App Signing ব্যবহার করেন) অথবা লোকাল কীস্টোরের জন্য keytool কমান্ড ব্যবহার করে পেতে পারেন।
ফাইলটি হোস্ট করুন: এই assetlinks.json ফাইলটি আপনার ওয়েব সার্ভারে https://your.domain.com/.well-known/assetlinks.json এ আপলোড করুন। নিশ্চিত করুন এটি HTTPS এর মাধ্যমে অ্যাক্সেসযোগ্য। ৩. আপনার অ্যাক্টিভিটিতে ইনকামিং ইন্টেন্ট হ্যান্ডেল করুন আপনার AndroidManifest.xml-এ নির্দিষ্ট করা অ্যান্ড্রয়েড অ্যাক্টিভিটিতে, আপনি কোন কন্টেন্ট দেখাবেন তা নির্ধারণ করতে ইনকামিং Intent ডেটা পুনরুদ্ধার করবেন। class DeepLinkActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
setContentView(R.layout.activity_deep_link) intent?.data?.let { uri ->
// uri হবে এমন কিছু https://www.example.com/products/item123
val productId = uri.lastPathSegment // "item123" এক্সট্র্যাক্ট করে // প্রাসঙ্গিক কন্টেন্ট ফিট করতে এবং প্রদর্শন করতে productId ব্যবহার করুন
findViewById<TextView>(R.id.textView).text = "Product ID: $productId" } }
// যদি অ্যাক্টিভিটি ইতিমধ্যেই চলছে তাহলে নতুন ইন্টেন্টগুলো হ্যান্ডেল করুন override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent) setIntent(intent) // অ্যাক্টিভিটির ইন্টেন্ট আপডেট করুন
// এখানে নতুন ইন্টেন্ট ডেটা প্রসেস করুন, onCreate-এর মতো intent?.data?.let { uri ->
val productId = uri.lastPathSegment
findViewById<TextView>(R.id.textView).text = "নতুন পণ্য আইডি: $productId" } }
}
৪. Android App Links-এ Redirects কীভাবে কাজ করে Android App Links HTTP/HTTPS redirects-এর সাথে নির্বিঘ্নে কাজ করার জন্য ডিজাইন করা হয়েছে। যখন একজন ব্যবহারকারী এমন একটি URL-এ ক্লিক করে যা redirect করে, Android সিস্টেম redirect চেইন অনুসরণ করে। গুরুত্বপূর্ণ বিষয় হল, সমস্ত রিডাইরেক্টের পর চূড়ান্ত URL অবশ্যই আপনার AndroidManifest.xml-এ থাকা intent-filter কনফিগারেশনের সাথে মিলতে হবে এবং আপনার assetlinks.json ফাইলে অন্তর্ভুক্ত থাকতে হবে।
সার্ভার-সাইড রিডাইরেক্ট: যদি আপনার ওয়েব সার্ভার 301 (স্থায়ী) বা 302 (অস্থায়ী) রিডাইরেক্ট করে, অ্যান্ড্রয়েড সিস্টেম তা অনুসরণ করবে। উদাহরণস্বরূপ, যদি https://www.example.com/old-product https://www.example.com/products/item123-এ পুনঃনির্দেশ করে, এবং আপনার অ্যাপ https://www.example.com/products/ পরিচালনা করার জন্য কনফিগার করা থাকে, তাহলে অ্যাপটি item123-এর সাথে খুলবে। ফলব্যাক আচরণ: যদি অ্যাপটি ব্যবহারকারীর ডিভাইসে ইনস্টল না থাকে, অথবা ডোমেইন যাচাইকরণ ব্যর্থ হয়, তাহলে লিঙ্কটি একটি ওয়েব ব্রাউজারে খুলবে।