অ্যাপ লিঙ্কিং বৈশিষ্ট্য বাস্তবায়ন করার সময়, সিস্টেমটি আপনার ওয়েবসাইটগুলির সাথে আপনার অ্যাপকে সংযুক্ত করতে পারে এবং আপনার প্রত্যাশা অনুযায়ী ইউআরএল অনুরোধগুলি পরিচালনা করতে পারে তা নিশ্চিত করতে আপনার লিঙ্ক করার কার্যকারিতা পরীক্ষা করা উচিত।
একটি বিদ্যমান স্টেটমেন্ট ফাইল পরীক্ষা করতে, আপনি স্টেটমেন্ট লিস্ট জেনারেটর এবং টেস্টার টুল ব্যবহার করতে পারেন।
নিম্নলিখিত বিভাগগুলি বর্ণনা করে যে কীভাবে আপনার অ্যাপ লিঙ্ক যাচাইকরণ ম্যানুয়ালি পরীক্ষা করবেন। আপনি চাইলে প্লে ডিপ লিঙ্ক টুল বা অ্যান্ড্রয়েড স্টুডিও অ্যাপ লিঙ্ক অ্যাসিস্ট্যান্ট থেকে যাচাইকরণ পরীক্ষা করতে পারেন।
যাচাই করতে হোস্টের তালিকা নিশ্চিত করুন
পরীক্ষা করার সময়, আপনাকে সংশ্লিষ্ট হোস্টের তালিকা নিশ্চিত করতে হবে যা সিস্টেমটি আপনার অ্যাপের জন্য যাচাই করবে। সমস্ত ইউআরএলগুলির একটি তালিকা তৈরি করুন যার সংশ্লিষ্ট অভিপ্রায় ফিল্টারগুলিতে নিম্নলিখিত বৈশিষ্ট্য এবং উপাদানগুলি অন্তর্ভুক্ত রয়েছে:
-
android:scheme
http
বাhttps
এর মান সহ স্কিম বৈশিষ্ট্য -
android:host
বৈশিষ্ট্য -
android.intent.action.VIEW
অ্যাকশন এলিমেন্ট -
android.intent.category.BROWSABLE
বিভাগ উপাদান
প্রতিটি নামযুক্ত হোস্ট এবং সাবডোমেনে একটি ডিজিটাল সম্পদ লিঙ্ক JSON ফাইল সরবরাহ করা হয়েছে তা পরীক্ষা করতে এই তালিকাটি ব্যবহার করুন৷
ডিজিটাল সম্পদ লিঙ্ক ফাইল নিশ্চিত করুন
প্রতিটি ওয়েবসাইটের জন্য, ডিজিটাল সম্পদ লিঙ্কস এপিআই ব্যবহার করে নিশ্চিত করুন যে ডিজিটাল সম্পদ লিঙ্ক JSON ফাইলটি সঠিকভাবে হোস্ট করা এবং সংজ্ঞায়িত করা হয়েছে:
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
একটি স্থিতি দেখায়৷ এই স্থিতির পরে হেক্সাডেসিমেল সংখ্যাটি ব্যবহারকারীর অ্যাপ লিঙ্কেজ পছন্দগুলির Android সিস্টেমের রেকর্ডের সাথে সম্পর্কিত৷ এই মান যাচাই করা সফল হয়েছে কিনা তা নির্দেশ করে না।
পরীক্ষার উদাহরণ
অ্যাপ লিঙ্ক যাচাইকরণ সফল হওয়ার জন্য, সিস্টেমটি অবশ্যই আপনার অ্যাপটিকে প্রতিটি ওয়েবসাইটের সাথে যাচাই করতে সক্ষম হতে হবে যা আপনি একটি প্রদত্ত অভিপ্রায় ফিল্টারে নির্দিষ্ট করেছেন যা অ্যাপ লিঙ্কগুলির মানদণ্ড পূরণ করে। নিম্নলিখিত উদাহরণটি সংজ্ঞায়িত বেশ কয়েকটি অ্যাপ লিঙ্ক সহ একটি ম্যানিফেস্ট কনফিগারেশন দেখায়:
<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)
বিবৃতি তালিকা সম্পর্কে আরও জানতে, একটি বিবৃতি তালিকা তৈরি করা দেখুন