অ্যাপ লিঙ্কিং বৈশিষ্ট্যটি বাস্তবায়নের সময়, আপনার লিঙ্কিং কার্যকারিতা পরীক্ষা করা উচিত যাতে নিশ্চিত করা যায় যে সিস্টেমটি আপনার অ্যাপটিকে আপনার ওয়েবসাইটের সাথে সংযুক্ত করতে পারে এবং আপনার প্রত্যাশা অনুযায়ী URL অনুরোধগুলি পরিচালনা করতে পারে।
একটি বিদ্যমান স্টেটমেন্ট ফাইল পরীক্ষা করার জন্য, আপনি স্টেটমেন্ট লিস্ট জেনারেটর এবং টেস্টার টুল ব্যবহার করতে পারেন।
নিম্নলিখিত বিভাগগুলিতে বর্ণনা করা হয়েছে কিভাবে আপনার অ্যাপ লিংক যাচাইকরণ ম্যানুয়ালি পরীক্ষা করবেন। আপনি যদি চান, তাহলে Play Deep Links টুল অথবা Android Studio App Links Assistant থেকে যাচাইকরণ পরীক্ষা করতে পারেন।
যাচাই করার জন্য হোস্টের তালিকা নিশ্চিত করুন
পরীক্ষা করার সময়, সিস্টেমের দ্বারা আপনার অ্যাপের জন্য যাচাই করা উচিত এমন সংশ্লিষ্ট হোস্টগুলির তালিকা নিশ্চিত করা উচিত। সমস্ত URL-এর একটি তালিকা তৈরি করুন যার সংশ্লিষ্ট ইন্টেন্ট ফিল্টারগুলিতে নিম্নলিখিত বৈশিষ্ট্য এবং উপাদানগুলি অন্তর্ভুক্ত থাকে:
-
android:schemehttpঅথবাhttpsএর মান সহ স্কিম অ্যাট্রিবিউট - ডোমেন URL প্যাটার্ন সহ
android:hostঅ্যাট্রিবিউট -
android.intent.action.VIEWঅ্যাকশন এলিমেন্ট -
android.intent.category.BROWSABLEক্যাটাগরি এলিমেন্ট
প্রতিটি নামযুক্ত হোস্ট এবং সাবডোমেনে একটি ডিজিটাল অ্যাসেট লিঙ্ক JSON ফাইল সরবরাহ করা আছে কিনা তা পরীক্ষা করতে এই তালিকাটি ব্যবহার করুন।
ডিজিটাল অ্যাসেট লিংক ফাইলগুলি নিশ্চিত করুন
প্রতিটি ওয়েবসাইটের জন্য, ডিজিটাল অ্যাসেট লিংকস JSON ফাইলটি সঠিকভাবে হোস্ট এবং সংজ্ঞায়িত করা হয়েছে কিনা তা নিশ্চিত করতে ডিজিটাল অ্যাসেট লিংকস API ব্যবহার করুন:
https://digitalassetlinks.googleapis.com/v1/statements:list?
source.web.site=https://<var>domain.name</var>:<var>optional_port</var>&
relation=delegate_permission/common.handle_all_urls
ডায়নামিক অ্যাপ লিঙ্কের জন্য, আপনি রিলেশন এক্সটেনশনগুলিও পরীক্ষা করতে পারেন।
https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://www.example.com&relation=delegate_permission/common.handle_all_urls&return_relation_extensions=true
লিঙ্ক নীতিগুলি পরীক্ষা করুন
আপনার পরীক্ষার প্রক্রিয়ার অংশ হিসেবে, আপনি লিঙ্ক হ্যান্ডলিং এর জন্য বর্তমান সিস্টেম সেটিংস পরীক্ষা করতে পারেন। আপনার সংযুক্ত ডিভাইসে সমস্ত অ্যাপের জন্য বিদ্যমান লিঙ্ক-হ্যান্ডলিং নীতিগুলির একটি তালিকা পেতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
adb shell dumpsys package domain-preferred-apps
নিম্নলিখিত কমান্ডটি একই কাজ করে:
adb shell dumpsys package d
এই কমান্ডটি ডিভাইসে সংজ্ঞায়িত প্রতিটি ব্যবহারকারী বা প্রোফাইলের একটি তালিকা প্রদান করে, যার পূর্বে নিম্নলিখিত বিন্যাসে একটি হেডার থাকে:
App linkages for user 0:
এই হেডার অনুসরণ করে, আউটপুটটি ব্যবহারকারীর জন্য লিঙ্ক-হ্যান্ডলিং সেটিংস তালিকাভুক্ত করতে নিম্নলিখিত ফর্ম্যাটটি ব্যবহার করে:
Package: com.android.vending
Domains: play.google.com market.android.com
Status: always : 200000002
এই তালিকাটি নির্দেশ করে যে কোন অ্যাপগুলি সেই ব্যবহারকারীর জন্য কোন ডোমেনের সাথে সম্পর্কিত:
-
Package- একটি অ্যাপকে তার প্যাকেজের নাম দিয়ে শনাক্ত করে, যেমনটি এর ম্যানিফেস্টে ঘোষণা করা হয়েছে। -
Domains- এই অ্যাপটি যেসব হোস্টের ওয়েব লিঙ্ক পরিচালনা করে তাদের সম্পূর্ণ তালিকা দেখায়, ফাঁকা স্থানগুলিকে ডিলিমিটার হিসেবে ব্যবহার করে। -
Status- এই অ্যাপের বর্তমান লিঙ্ক-হ্যান্ডলিং সেটিং দেখায়। যে অ্যাপটি যাচাইকরণে উত্তীর্ণ হয়েছে এবং যার ম্যানিফেস্টেandroid:autoVerify="true"রয়েছে, সেটিalwaysএর স্থিতি দেখায়। এই স্থিতির পরে হেক্সাডেসিমেল সংখ্যাটি ব্যবহারকারীর অ্যাপ লিঙ্কেজ পছন্দগুলির অ্যান্ড্রয়েড সিস্টেমের রেকর্ডের সাথে সম্পর্কিত। এই মানটি যাচাইকরণ সফল হয়েছে কিনা তা নির্দেশ করে না।
পরীক্ষার উদাহরণ
অ্যাপ লিঙ্ক যাচাইকরণ সফল হওয়ার জন্য, সিস্টেমকে অবশ্যই আপনার অ্যাপটি একটি নির্দিষ্ট ইনটেন্ট ফিল্টারে নির্দিষ্ট করা প্রতিটি ওয়েবসাইটের সাথে যাচাই করতে সক্ষম হতে হবে যা অ্যাপ লিঙ্কের মানদণ্ড পূরণ করে। নিম্নলিখিত উদাহরণটি বেশ কয়েকটি অ্যাপ লিঙ্ক সংজ্ঞায়িত করে একটি ম্যানিফেস্ট কনফিগারেশন দেখায়:
<activity android:name=”MainActivity”>
<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" />
<data android:scheme="https" />
<data android:host="www.example.com" />
<data android:host="mobile.example.com" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:host="www.example2.com" />
</intent-filter>
</activity>
<activity android:name=”SecondActivity”>
<intent-filter>
<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" />
<data android:host="account.example.com" />
</intent-filter>
</activity>
<activity android:name=”ThirdActivity”>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="https" />
<data android:host="map.example.com" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="market" />
<data android:host="example.com" />
</intent-filter>
</activity>
</application>
পূর্ববর্তী ম্যানিফেস্ট থেকে প্ল্যাটফর্মটি যে হোস্টগুলি যাচাই করার চেষ্টা করবে তার তালিকা হল:
www.example.com
mobile.example.com
www.example2.com
account.example.com
পূর্ববর্তী ম্যানিফেস্ট থেকে প্ল্যাটফর্মটি যে হোস্টগুলি যাচাই করার চেষ্টা করবে না তার তালিকা হল:
map.example.com (it does not have android.intent.category.BROWSABLE)
market://example.com (it does not have either an "http" or "https" scheme)
বিবৃতি তালিকা সম্পর্কে আরও জানতে, একটি বিবৃতি তালিকা তৈরি করা দেখুন