تحديد المشاكل في روابط التطبيقات وحلّها

يصف هذا الدليل المشاكل الشائعة وكيفية تحديد المشاكل وحلّها. يمكنك أيضًا استخدام أدوات تحديد المشاكل وحلّها في صفحة "الروابط لصفحات معيّنة" في 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.com
  • example.com إلى www.example.com

يحمي هذا السلوك أمان تطبيقك.

متانة الخادم

تحقَّق مما إذا كان بإمكان تطبيقات العميل الاتصال بخادمك.

روابط لا يمكن التحقّق منها

لأغراض الاختبار، قد تضيف عمدًا روابط لا يمكن التحقّق منها. ضَع في اعتبارك أنّه على الإصدار 11 من نظام التشغيل Android والإصدارات الأقدم، تتسبب هذه الروابط في عدم تحقّق النظام من جميع روابط التطبيقات على Android لتطبيقك.

توقيع غير صحيح في assetlinks.json

تأكَّد من أنّ توقيعك صحيح ويتطابق مع التوقيع المستخدَم لتوقيع تطبيقك. تشمل الأخطاء الشائعة ما يلي:

  • توقيع التطبيق باستخدام شهادة تصحيح الأخطاء وإدراج توقيع الإصدار فقط في assetlinks.json
  • إدراج توقيع بأحرف صغيرة في assetlinks.json يجب أن يكون التوقيع بأحرف كبيرة.
  • إذا كنت تستخدم ميزة "توقيع التطبيق" من Play، تأكَّد من استخدام التوقيع الذي تستخدمه Google لتوقيع كل إصدار من إصداراتك. يمكنك التحقّق من هذه التفاصيل، بما في ذلك مقتطف JSON كامل، باتّباع التعليمات حول الإعلان عن عمليات الربط بالمواقع الإلكترونية.

تسجيل تقرير الأخطاء

بالنسبة إلى المشاكل المعقّدة التي يصعب إعادة إنتاجها، سجِّل تقرير أخطاء وحلِّله. يمكن أن يوفّر ذلك إحصاءات قيّمة حول عملية التحقّق وأي أخطاء على مستوى النظام.