يصف هذا الدليل المشاكل الشائعة وكيفية تحديد المشاكل وحلّها. يمكنك أيضًا استخدام أدوات تحديد المشاكل وحلّها في صفحة "الروابط لصفحات معيّنة" في Play Console أو "مساعد روابط التطبيقات" في استوديو Android. لمزيد من المعلومات، يمكنك الاطّلاع على أدوات المطوّرين لروابط التطبيقات.
فتح رابط التطبيق في المتصفّح بدلاً من التطبيق
- المشكلة: تنقر على رابط من المفترض أن يفتح تطبيقك، ولكن يتم فتحه في متصفّح ويب أو يظهر مربّع حوار لإزالة الغموض.
- الحلّ:
- التحقّق من
assetlinks.json: تأكَّد من أنّ الملف هو ملف JSON صالح، ويمكن الوصول إليه علىhttps://<your-domain>/.well-known/assetlinks.json، ويتم عرضه عبر HTTPS بدون عمليات إعادة توجيه. استخدِم أداة تحقّق على الإنترنت. - التحقّق من صحة الملف المرجعي لمعيار SHA-256: تأكَّد من أنّ
sha256_cert_fingerprintsفيassetlinks.jsonتتطابق تمامًا مع الملف المرجعي لمفتاح توقيع إصدار تطبيقك (استخدِم الملف المرجعي من Play Console إذا كنت تستخدم ميزة "توقيع التطبيق" من Play). يجب أن يكون التوقيع بأحرف كبيرة. - التحقّق من
autoVerify: تأكَّد من أنّ<intent-filter>فيAndroidManifest.xmlيتضمّنandroid:autoVerify="true". - التحقّق من عمليات إعادة التوجيه من جهة الخادم: يمكن أن تؤدي عمليات إعادة التوجيه من
httpإلىhttpsأو من نطاق غير يبدأ بـ `www` إلى نطاق يبدأ بـwwwإلى فشل عملية التحقّق. - فرض إعادة التحقّق: نفِّذ أوامر Android Debug Bridge (ADB) في دليل اختبار روابط التطبيقات للحصول على نتيجة تحقّق جديدة.
- التحقّق من
عدم تعديل القواعد الديناميكية على الإصدار 15 أو الإصدارات الأحدث من نظام التشغيل Android
- المشكلة: عدّلت القواعد في ملف
assetlinks.json، ولكن التطبيق لا يتعامل مع الروابط الجديدة. - الحلّ:
- فرض إعادة التحقّق: الطريقة الأكثر موثوقية لاختبار التغييرات هي
فرض عملية إعادة جلب باستخدام
adb shell pm verify-app-links --re-verify. <your-package-name>. - البحث عن الأخطاء الإملائية: راجِع أدوات مطابقة الأنماط بعناية في قواعدك بحثًا عن أي أخطاء في البنية.
- التحقّق من قواعد intent filter في البيان: راجِع قواعد intent filter في بيان التطبيق للتأكّد من عدم فلترة مسار الرابط. إذا تم فلترة الرابط، قلِّل من تقييد intent filter في بيان التطبيق.
- فرض إعادة التحقّق: الطريقة الأكثر موثوقية لاختبار التغييرات هي
فرض عملية إعادة جلب باستخدام
تحديد أخطاء التنفيذ الشائعة وحلّها
إذا تعذّر عليك التحقّق من روابط التطبيقات على Android، ابحث عن الأخطاء الشائعة التالية. يستخدم هذا القسم example.com كنطاق نائب؛ عند إجراء عمليات التحقّق هذه، استبدِل example.com باسم النطاق الفعلي لخادمك.
- إعداد غير صحيح لـ intent filter
- تحقَّق مما إذا كنت قد أدرجت عنوان URL لا يملكه تطبيقك في عنصر
<intent-filter>.
- إعداد غير صحيح للخادم
تحقَّق من إعداد JSON الخاص بخادمك وتأكَّد من أنّ قيمة SHA صحيحة.
تأكَّد أيضًا من أنّ
example.com.(مع النقطة في النهاية) يعرض المحتوى نفسه الذي يعرضهexample.com.- عمليات إعادة التوجيه من جهة الخادم
لا يتحقّق النظام من أي روابط تطبيقات على Android لتطبيقك إذا أعددت عملية إعادة توجيه، مثل ما يلي:
http://example.comإلىhttps://example.comexample.comإلىwww.example.com
يحمي هذا السلوك أمان تطبيقك.
- متانة الخادم
تحقَّق مما إذا كان بإمكان تطبيقات العميل الاتصال بخادمك.
- روابط لا يمكن التحقّق منها
لأغراض الاختبار، قد تضيف عمدًا روابط لا يمكن التحقّق منها. ضَع في اعتبارك أنّه على الإصدار 11 من نظام التشغيل Android والإصدارات الأقدم، تتسبب هذه الروابط في عدم تحقّق النظام من جميع روابط التطبيقات على Android لتطبيقك.
- توقيع غير صحيح في assetlinks.json
تأكَّد من أنّ توقيعك صحيح ويتطابق مع التوقيع المستخدَم لتوقيع تطبيقك. تشمل الأخطاء الشائعة ما يلي:
- توقيع التطبيق باستخدام شهادة تصحيح الأخطاء وإدراج توقيع الإصدار فقط في
assetlinks.json - إدراج توقيع بأحرف صغيرة في
assetlinks.jsonيجب أن يكون التوقيع بأحرف كبيرة. - إذا كنت تستخدم ميزة "توقيع التطبيق" من Play، تأكَّد من استخدام التوقيع الذي تستخدمه Google لتوقيع كل إصدار من إصداراتك. يمكنك التحقّق من هذه التفاصيل، بما في ذلك مقتطف JSON كامل، باتّباع التعليمات حول الإعلان عن عمليات الربط بالمواقع الإلكترونية.
- توقيع التطبيق باستخدام شهادة تصحيح الأخطاء وإدراج توقيع الإصدار فقط في
تسجيل تقرير الأخطاء
بالنسبة إلى المشاكل المعقّدة التي يصعب إعادة إنتاجها، سجِّل تقرير أخطاء وحلِّله. يمكن أن يوفّر ذلك إحصاءات قيّمة حول عملية التحقّق وأي أخطاء على مستوى النظام.