আপনার অ্যাপ খুলছে না এমন ইউনিভার্সাল লিঙ্কগুলো কীভাবে ডিবাগ করবেন

ইউনিভার্সাল লিঙ্ক কেন আপনার iOS অ্যাপ খুলছে না তা সমাধানের একটি বিস্তৃত গাইড, যা AASA ফাইল, অ্যাপ কনফিগারেশন এবং ডিভাইস-নির্দিষ্ট ডিবাগিং-এ সাধারণ সমস্যাগুলিকে অন্তর্ভুক্ত করে।

Intermediate
আপনার অ্যাপ খুলতে ব্যর্থ হওয়া ইউনিভার্সাল লিঙ্কগুলির ডিবাগিং একটি পদ্ধতিগত প্রক্রিয়া, যার মধ্যে আপনার অ্যাপের কনফিগারেশন এবং আপনার ওয়েব সার্ভার সেটআপ—উভয়ই পরীক্ষা করা অন্তর্ভুক্ত। এখানে একটি বিস্তৃত গাইড দেওয়া হলো: ১. মৌলিক সেটআপ ও পরীক্ষা পরিবেশ যাচাই করুন বাস্তব ডিভাইস, সিমুলেটর নয়: ইউনিভার্সাল লিঙ্কগুলো প্রায়ই সিমুলেটরে ভিন্নভাবে কাজ করে। সবসময় একটি বাস্তব iOS ডিভাইসে পরীক্ষা করুন। অ্যাপ মুছে পুনরায় ইনস্টল করুন: পরিবর্তন করার পর, সবসময় আপনার ডিভাইস থেকে অ্যাপটি মুছে দিয়ে পুনরায় ইনস্টল করুন। এটি iOS-কে apple-app-site-association (AASA) ফাইলটি পুনরায় ডাউনলোড করতে বাধ্য করে। উপযুক্ত উৎস থেকে পরীক্ষা করুন: আপনি যদি সরাসরি ব্রাউজারের URL বারে ইউনিভার্সাল লিঙ্ক পেস্ট করেন, তাহলে এটি কাজ করবে না। Notes, Mail, iMessage, বা Slack-এর মতো অন্যান্য অ্যাপ থেকে লিঙ্কে ট্যাপ করে পরীক্ষা করুন। Instagram, Twitter, বা Facebook-এর মতো কিছু অ্যাপ সরাসরি ইউনিভার্সাল লিঙ্ক সমর্থন নাও করতে পারে। ২. apple-app-site-association (AASA) ফাইল পরীক্ষা করুন AASA ফাইলটি ইউনিভার্সাল লিঙ্কগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ। iOS এই ফাইলটি আপনার ওয়েব সার্ভার থেকে ডাউনলোড করে নির্ধারণ করে যে আপনার অ্যাপ কোন লিঙ্কগুলি হ্যান্ডেল করতে পারে। ফাইলের অবস্থান: AASA ফাইলটি অবশ্যই https://yourdomain.com/apple-app-site-association অথবা https://yourdomain.com/.well-known/apple-app-site-association এ হোস্ট করা থাকতে হবে। HTTPS এবং কোনো পুনঃনির্দেশ নেই: ফাইলটি HTTPS-এ পরিবেশন করতে হবে এবং কোনো 3xx পুনঃনির্দেশ ছাড়াই। Content-Type হেডার: নিশ্চিত করুন সার্ভার AASA ফাইলের জন্য সঠিক Content-Type হেডার ফেরত দিচ্ছে। JSON বৈধতা: AASA ফাইলটি একটি বৈধ JSON হতে হবে এবং নির্দিষ্ট স্কিমা অনুসরণ করতে হবে। আপনি এর সঠিকতা যাচাই করতে অনলাইন ভ্যালিডেটর (যেমন Branch.io-এর AASA ভ্যালিডেটর) ব্যবহার করতে পারেন। appID এবং Paths: নিশ্চিত করুন আপনার AASA ফাইলে থাকা appID আপনার অ্যাপের Team ID এবং Bundle Identifier (যেমন, ABC123DEF.com.example.app) এর সাথে মিলছে। এছাড়াও, নিশ্চিত করুন যে paths অ্যারে সঠিকভাবে আপনার অ্যাপের হ্যান্ডেল করার URL পথগুলো নির্দিষ্ট করছে। সার্ভার লগ: আপনার ওয়েব সার্ভারের HTTPS লগগুলো পরীক্ষা করুন যাতে নিশ্চিত হতে পারেন যে আপনার অ্যাপ ইনস্টল হওয়ার সময় iOS দ্বারা AASA ফাইলটি ডাউনলোড হচ্ছে। ৩. Xcode-এ অ্যাপ কনফিগারেশন Associated Domains Entitlement: আপনার Xcode প্রকল্পে "Signing & Capabilities" ট্যাবে যান এবং নিশ্চিত করুন "Associated Domains" সক্ষম আছে। applinks:yourdomain.com ফরম্যাটে আপনার ডোমেইন যোগ করুন। Debug বনাম Release: ডেভেলপমেন্টে ডিবাগিং করার সময় নিশ্চিত করুন যে আপনি "Signing & Capabilities"-এর Debug সংস্করণটি সম্পাদনা করছেন। ডেভেলপমেন্টে Apple Universal Links CDN বাইপাস করতে, আপনার ডিবাগ ডোমেইনগুলো applinks:yourdomain.com?mode=developer এর মতো কনফিগার করুন। অ্যাপ ডেলিগেট/সিন ডেলিগেট: যাচাই করুন আপনার অ্যাপের AppDelegate (অথবা iOS 13+ এর জন্য SceneDelegate) সঠিকভাবে application(_:continueUserActivity:restorationHandler:) মেথড ইমপ্লিমেন্ট করেছে কি না, যাতে Universal Links-এর জন্য ইনকামিং NSUserActivity অবজেক্টগুলো হ্যান্ডেল করা যায়। ৪. ডিভাইস-নির্দিষ্ট ডিবাগিং কনসোল লগ: আপনার ডিভাইসটি Xcode-এ সংযুক্ত করুন এবং Console খুলুন (Window > Devices and Simulators > [আপনার ডিভাইস] > Open Console)। আপনার Universal Link রেজিস্টার সফল হয়েছে কিনা দেখতে "swcd" (Shared Web Credentials Daemon) লগগুলো ফিল্টার করুন। Developer Settings (iOS 13+): Settings > Privacy & Security > Developer Mode-এ "Developer Mode" চালু করুন। Settings > Developer > Universal Links-এ "Associated Domains Development" চালু করুন। Universal Links সেকশনে "Diagnostics" টুল ব্যবহার করে আপনার Universal Link URL এন্টার করুন এবং এটি বৈধ কিনা পরীক্ষা করুন। Settings > Developer > Universal Links-এ "Associated Domains Development" চালু করুন। Universal Links সেকশনে "Diagnostics" টুল ব্যবহার করে আপনার Universal Link URL প্রবেশ করান এবং এটি আপনার ইনস্টল করা অ্যাপের জন্য বৈধ কিনা পরীক্ষা করুন। ডিভাইস রিস্টার্ট করুন: আপনার ডিভাইস রিস্টার্ট করলে iOS ইউনিভার্সাল লিঙ্ক ক্যাশ পরিষ্কার হয়ে সমস্যা সমাধান হতে পারে। বিভিন্ন ডিভাইস/iOS সংস্করণে পরীক্ষা করুন: এতে ডিভাইস-নির্দিষ্ট কনফিগারেশন সমস্যাগুলো বাদ দিতে সাহায্য করে। ইউনিভার্সাল লিঙ্ক পুনরায় সক্রিয় করুন: যদি আগে Safari-তে কোনো ইউনিভার্সাল লিঙ্ক খোলা থাকে, তবে সেটি ঐ নির্দিষ্ট লিঙ্কের জন্য নিষ্ক্রিয় হয়ে যেতে পারে। Notes-এর মতো কোনো অ্যাপে লিঙ্কটি দীর্ঘক্ষণ চেপে ধরে "Open in [Your App Name]" নির্বাচন করে এটি পুনরায় সক্রিয় করুন। যদি Safari-তে Smart App Banner দেখেন, তাহলে ব্যানারে "OPEN" ট্যাপ করেও Universal Links পুনরায় সক্রিয় করা যায়। ৫. উন্নত সমস্যা সমাধান sysdiagnose লগস: আরও গভীর অন্তর্দৃষ্টির জন্য, আপনি আপনার iOS ডিভাইসে sysdiagnose লগস (Settings > Privacy & Security > Analytics & Improvements > Analytics Data) অ্যাক্সেস করতে পারেন। এই লগসগুলো iOS কীভাবে আপনার ইউনিভার্সাল লিঙ্কগুলো প্রক্রিয়া করছে সে সম্পর্কে বিস্তারিত তথ্য প্রদান করতে পারে। তৃতীয় পক্ষের টুলস: আপনার ওয়েবসাইটের কনফিগারেশন যাচাই করতে অ্যাপলের অ্যাপ সার্চ API ভ্যালিডেটেশন টুল বা অন্যান্য তৃতীয় পক্ষের ভ্যালিডেটর ব্যবহার করুন। এই ধাপগুলো পদ্ধতিগতভাবে অনুসরণ করে, আপনি আপনার অ্যাপ খুলতে বাধা দিচ্ছে এমন বেশিরভাগ সমস্যা সনাক্ত ও সমাধান করতে পারবেন।