17/02/2025
একটি অ্যাপ কে আধুনিক এবং ইউজার এট্রাক্টিভ করতে DeepLink অত্যন্ত গুরুত্বপূর্ণ ভুমিকা পালন করে। DeepLink হলো অ্যাপ এর কোনো পেজ/পন্য বা যেকোনো কিছুর লিংক তৈরি করা এবং অ্যাপ এর বাইরে শেয়ার করা। যেটার মাধ্যমে ইউজার সরাসরি অ্যাপ এ না ক্লিক করেই অটোমেটিক অ্যাপ এ এর ওই পন্যে/পেজে এক্সেস করতে পারে। একটি ই-কমার্স অ্যাপ এর জন্য ডিপলিংক অন্ত্যন্ত গুরুত্বপূর্ণ। তাছাড়া ইবুক অ্যাপ সহ নানা অ্যাপ এই এর ব্যবহার দেখা যায়।
অনেকের কাছেই এটা অনেক কঠিন কিছু। কিন্তু বাস্তবে তা নয়। আমি নিচে এটা সম্পর্কে বিস্তারিত গাইডলাইন দিচ্ছি JAVA Android এর জন্য।
1. AndroidManifest.xml-এ DeepLink সেটআপ
প্রথমে AndroidManifest.xml ফাইলে intent-filter যুক্ত করুন:
এখানে:
Custom Scheme: shohozboi://product/details?product_id=123
HTTP/HTTPS: https://www.shohozboi.com/product/123
এগুলো ব্যবহার করলে ProductDetailActivity খুলবে।
---
2. Intent থেকে DeepLink Data রিসিভ করা (Java Code)
আপনার ProductDetailActivity.java ফাইলে নিচের মতো কোড লিখুন:
public class ProductDetailActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_product_detail);
// Intent থেকে DeepLink URL রিসিভ করুন
Uri data = getIntent().getData();
if (data != null) {
String productId = null;
// Custom Scheme থেকে Data Extract করা
if ("shohozboi".equals(data.getScheme())) {
productId = data.getQueryParameter("product_id");
}
// HTTP/HTTPS থেকে Data Extract করা
if ("www.shohozboi.com".equals(data.getHost())) {
List pathSegments = data.getPathSegments();
if (!pathSegments.isEmpty()) {
productId = pathSegments.get(pathSegments.size() - 1);
}
}
// পণ্য আইডি পেলে পেজ আপডেট করুন
if (productId != null) {
loadProductDetails(productId);
}
}
}
private void loadProductDetails(String productId) {
Toast.makeText(this, "Product ID: " + productId, Toast.LENGTH_SHORT).show();
// এখানে API Call বা Database Query করে Product Data লোড করুন
}
}
---
3. DeepLink তৈরি ও শেয়ার করা
private void shareDeepLink(String productId) {
String deepLinkUrl = "shohozboi://product/details?product_id=" + productId;
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Check out this product: " + deepLinkUrl);
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, "Share via"));
}
---
4. Website থেকে App-এ রিডাইরেক্ট করার জন্য assetlinks.json ফাইল সেটআপ
আপনার ডোমেইন ও অ্যাপের মধ্যে অ্যাসোসিয়েশন তৈরি করতে /well-known/assetlinks.json ফাইল তৈরি করতে হবে।
(১) assetlinks.json ফাইল তৈরি করুন
একটি ফাইল তৈরি করুন এবং নিচের মতো কোড লিখুন:
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.ebook.sohozboi",
"sha256_cert_fingerprints": ["A1:B2:C3:D4:E5:F6:G7:H8:I9:J0:K1:L2:M3:N4:O5:P6:Q7:R8:S9:T0"]
}
}
]
(২) এই ফাইলটি আপনার ওয়েবসাইটের নিচের লোকেশনে আপলোড করুন:
https://www.shohozboi.com/.well-known/assetlinks.json
> Note:
package_name: আপনার অ্যাপের প্যাকেজ নেম (com.ebook.sohozboi)
sha256_cert_fingerprints: আপনার অ্যাপের SHA256 ফিঙ্গারপ্রিন্ট
---
5. SHA256 Certificate Fingerprint বের করার পদ্ধতি
আপনার অ্যাপের SHA256 Fingerprint বের করতে Android Studio Terminal-এ নিচের কমান্ডটি চালান:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android
Production (Release) Keystore এর জন্য:
keytool -list -v -keystore YOUR_RELEASE_KEYSTORE_PATH -alias YOUR_KEY_ALIAS -storepass YOUR_KEYSTORE_PASSWORD
---
6. অ্যাপের res/xml/ ফোল্ডারে ডোমেইন ভেরিফিকেশন ফাইল যুক্ত করা
আপনার res/xml/ ফোল্ডারে app_links.xml নামে একটি XML ফাইল তৈরি করুন এবং নিচের কোড লিখুন:
এরপর AndroidManifest.xml-এ meta-data যুক্ত করুন:
---
সারসংক্ষেপ
✔ AndroidManifest.xml-এ intent-filter দিয়ে DeepLink সেট করুন
✔ Intent থেকে DeepLink Data রিসিভ করুন
✔ DeepLink তৈরি ও শেয়ার করুন
✔ Website থেকে App-এ Redirect করার জন্য assetlinks.json ফাইল সেট করুন
✔ SHA256 Fingerprint বের করে সেটআপ করুন
✔ res/xml/app_links.xml ফাইলে ওয়েবসাইট ডোমেইন ভেরিফিকেশন যুক্ত করুন
কোনো সমস্যায় পড়লে কমেন্ট করুন।