এই নির্দেশিকায় সাধারণ সমস্যা এবং সেগুলোর সমাধান করার উপায় বর্ণনা করা হয়েছে। আপনি প্লে কনসোল ডিপ লিঙ্কস পেজ বা অ্যান্ড্রয়েড স্টুডিও অ্যাপ লিঙ্কস অ্যাসিস্ট্যান্ট-এ থাকা ট্রাবলশুটিং টুলগুলোও ব্যবহার করতে পারেন। আরও তথ্যের জন্য, অ্যাপ লিঙ্কস ডেভেলপার টুলস দেখুন।
অ্যাপ লিঙ্কটি অ্যাপের পরিবর্তে ব্রাউজারে খোলে।
- সমস্যা : আপনি এমন একটি লিঙ্কে ক্লিক করেন যা আপনার অ্যাপটি খোলার কথা, কিন্তু সেটি একটি ওয়েব ব্রাউজারে খোলে অথবা একটি দ্ব্যর্থতা নিরসনকারী ডায়ালগ বক্স দেখায়।
- সমাধান :
-
assetlinks.jsonযাচাই করুন : নিশ্চিত করুন যে ফাইলটি একটি বৈধ JSON ফাইল, যাhttps://<your-domain>/.well-known/assetlinks.jsonঠিকানায় অ্যাক্সেসযোগ্য এবং কোনো রিডাইরেক্ট ছাড়াই HTTPS-এর মাধ্যমে পরিবেশিত হচ্ছে। একটি অনলাইন ভ্যালিডেটর ব্যবহার করুন। - SHA-256 ফিঙ্গারপ্রিন্ট যাচাই করুন : পুনরায় পরীক্ষা করে দেখুন যে
assetlinks.jsonএ থাকাsha256_cert_fingerprintsআপনার অ্যাপ রিলিজের সাইনিং কী-এর ফিঙ্গারপ্রিন্টের সাথে হুবহু মেলে কিনা (আপনি যদি প্লে অ্যাপ সাইনিং ব্যবহার করেন তবে প্লে কনসোল থেকে প্রাপ্তটি ব্যবহার করুন)। স্বাক্ষরটি অবশ্যই বড় হাতের অক্ষরে (uppercase) হতে হবে। -
autoVerifyযাচাই করুন : নিশ্চিত করুন যে আপনারAndroidManifest.xmlএর<intent-filter>-এandroid:autoVerify="true" অন্তর্ভুক্ত আছে। - সার্ভার-সাইড রিডাইরেক্ট পরীক্ষা করুন :
httpথেকেhttpsএ অথবাwwwছাড়া অন্য কোনো ডোমেইনে রিডাইরেক্ট হলে ভেরিফিকেশন ব্যর্থ হতে পারে। - পুনরায় যাচাইকরণ বাধ্যতামূলক করুন : নতুন যাচাইকরণ ফলাফল পেতে টেস্ট অ্যাপ লিঙ্কস গাইডে দেওয়া ADB কমান্ডগুলো চালান।
- লিঙ্ক রেজোলিউশন নির্ণয় করুন (অ্যান্ড্রয়েড ১৭+) : কোন কোন সম্ভাব্য অ্যাপ, ম্যানিফেস্ট ইন্টেন্ট ফিল্টার এবং ডাইনামিক অ্যাপ লিঙ্ক রুল URL-টির সাথে মেলে তা পরীক্ষা করতে
adb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"চালান। বিস্তারিত জানতে, ডিবাগ-লিঙ্ক ফ্ল্যাগ ব্যবহার করে লিঙ্ক রেজোলিউশন নির্ণয় দেখুন।
-
অ্যান্ড্রয়েড ১৫+ এ ডাইনামিক রুলগুলো আপডেট হচ্ছে না।
- সমস্যা: আপনি আপনার
assetlinks.jsonফাইলে নিয়মগুলো আপডেট করেছেন, কিন্তু অ্যাপটি নতুন লিঙ্কগুলো গ্রহণ করছে না। - সমাধান :
- জোরপূর্বক পুনঃ-যাচাই : পরিবর্তনগুলি পরীক্ষা করার সবচেয়ে নির্ভরযোগ্য উপায় হল
adb shell pm verify-app-links --re-verify <your-package-name>. কমান্ডের মাধ্যমে জোরপূর্বক পুনরায় ফেচ করা। - বানান ভুল পরীক্ষা করুন : আপনার নিয়মের মধ্যে থাকা প্যাটার্ন ম্যাচিং অংশগুলোতে কোনো সিনট্যাক্স ত্রুটি আছে কিনা তা মনোযোগ সহকারে পর্যালোচনা করুন।
- ম্যানিফেস্ট ফিল্টার নিয়মগুলো পরীক্ষা করুন : অ্যাপ ম্যানিফেস্টে থাকা ইন্টেন্ট ফিল্টার নিয়মগুলো পর্যালোচনা করে নিশ্চিত করুন যে লিঙ্ক পাথটি ফিল্টার হয়ে যাচ্ছে না। যদি লিঙ্কটি ফিল্টার হয়ে যায়, তাহলে অ্যাপ ম্যানিফেস্টে থাকা ইন্টেন্ট ফিল্টারটিকে কম কঠোর করুন।
- ম্যাচিং রুলগুলো নির্ণয় করুন (অ্যান্ড্রয়েড ১৭+) : কোন রুলগুলো মূল্যায়ন করা হয়েছে তা পরীক্ষা করতে এবং কোনো এক্সক্লুশন রুল (
allow = 1) অ্যাপটি খুলতে বাধা দিচ্ছে কিনা তা নির্ধারণ করতেadb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"কমান্ডটি চালান । debug-link ফ্ল্যাগ ব্যবহার করে লিঙ্ক রেজোলিউশন নির্ণয় দেখুন।
- জোরপূর্বক পুনঃ-যাচাই : পরিবর্তনগুলি পরীক্ষা করার সবচেয়ে নির্ভরযোগ্য উপায় হল
সাধারণ বাস্তবায়ন ত্রুটিগুলি ঠিক করুন
আপনি যদি আপনার অ্যান্ড্রয়েড অ্যাপ লিঙ্কগুলি যাচাই করতে না পারেন, তাহলে নিম্নলিখিত সাধারণ ত্রুটিগুলি পরীক্ষা করুন। এই বিভাগে example.com একটি প্লেসহোল্ডার ডোমেইন নাম হিসাবে ব্যবহৃত হয়েছে; এই পরীক্ষাগুলি করার সময়, example.com এর পরিবর্তে আপনার সার্ভারের আসল ডোমেইন নামটি ব্যবহার করুন।
- ভুল ইন্টেন্ট ফিল্টার সেট আপ
-
<intent-filter>এলিমেন্টে আপনি এমন কোনো URL অন্তর্ভুক্ত করেছেন কিনা তা পরীক্ষা করে দেখুন, যেটির মালিক আপনার অ্যাপ নয়। - ভুল সার্ভার কনফিগারেশন
আপনার সার্ভারের JSON কনফিগারেশন পরীক্ষা করুন এবং নিশ্চিত করুন যে SHA ভ্যালুটি সঠিক আছে।
এছাড়াও, যাচাই করে দেখুন যে
example.com.(শেষের ডট সহ) এবংexample.comএকই কন্টেন্ট পরিবেশন করে কি না।- সার্ভার-সাইড রিডাইরেক্ট
আপনি যদি নিম্নলিখিতের মতো কোনো রিডাইরেক্ট সেট আপ করেন, তাহলে সিস্টেম আপনার অ্যাপের জন্য কোনো অ্যান্ড্রয়েড অ্যাপ লিঙ্ক যাচাই করে না:
-
http://example.comথেকেhttps://example.com -
example.comথেকেwww.example.com
এই আচরণটি আপনার অ্যাপের নিরাপত্তা রক্ষা করে।
-
- সার্ভারের দৃঢ়তা
আপনার ক্লায়েন্ট অ্যাপগুলো আপনার সার্ভারের সাথে সংযোগ করতে পারছে কিনা তা যাচাই করুন।
- যাচাইযোগ্য নয় এমন লিঙ্ক
পরীক্ষার উদ্দেশ্যে, আপনি ইচ্ছাকৃতভাবে যাচাই-অযোগ্য লিঙ্ক যোগ করতে পারেন। মনে রাখবেন যে, অ্যান্ড্রয়েড ১১ এবং এর পূর্ববর্তী সংস্করণগুলিতে, এই লিঙ্কগুলির কারণে সিস্টেম আপনার অ্যাপের সমস্ত অ্যান্ড্রয়েড অ্যাপ লিঙ্ক যাচাই করে না।
- assetlinks.json-এ ভুল স্বাক্ষর
আপনার স্বাক্ষরটি সঠিক এবং আপনার অ্যাপে স্বাক্ষর করতে ব্যবহৃত স্বাক্ষরের সাথে মেলে কিনা তা যাচাই করুন। সাধারণ ভুলগুলোর মধ্যে রয়েছে:
- অ্যাপটিকে একটি ডিবাগ সার্টিফিকেট দিয়ে সাইন করা এবং
assetlinks.jsonএ শুধুমাত্র রিলিজ সিগনেচার রাখা। -
assetlinks.jsonফাইলে সিগনেচারটি ছোট হাতের অক্ষরে রয়েছে। সিগনেচারটি বড় হাতের অক্ষরে হওয়া উচিত। - আপনি যদি প্লে অ্যাপ সাইনিং ব্যবহার করেন, তাহলে নিশ্চিত করুন যে আপনি সেই স্বাক্ষরটিই ব্যবহার করছেন যা গুগল আপনার প্রতিটি রিলিজ স্বাক্ষর করতে ব্যবহার করে। ওয়েবসাইট অ্যাসোসিয়েশন ঘোষণা করার নির্দেশাবলী অনুসরণ করে আপনি একটি সম্পূর্ণ JSON স্নিপেট সহ এই বিবরণগুলি যাচাই করতে পারেন।
- অ্যাপটিকে একটি ডিবাগ সার্টিফিকেট দিয়ে সাইন করা এবং
একটি বাগ রিপোর্ট ক্যাপচার করুন
যেসব জটিল সমস্যা পুনরায় ঘটানো কঠিন, সেগুলোর জন্য একটি বাগ রিপোর্ট তৈরি করুন এবং তা বিশ্লেষণ করুন। এর মাধ্যমে যাচাইকরণ প্রক্রিয়া এবং সিস্টেম-স্তরের যেকোনো ত্রুটি সম্পর্কে মূল্যবান ধারণা পাওয়া যেতে পারে।