عیب یابی لینک های اپلیکیشن

این راهنما مشکلات رایج و نحوه عیب‌یابی آنها را شرح می‌دهد. همچنین می‌توانید از ابزارهای عیب‌یابی در صفحه پیوندهای عمیق کنسول Play یا دستیار پیوندهای برنامه اندروید استودیو استفاده کنید. برای اطلاعات بیشتر، به ابزارهای توسعه‌دهنده پیوندهای برنامه مراجعه کنید.

  • مشکل : شما روی لینکی کلیک می‌کنید که باید برنامه شما را باز کند، اما برنامه در یک مرورگر وب باز می‌شود یا یک کادر ابهام‌زدایی نمایش داده می‌شود.
  • راه حل :
    • بررسی assetlinks.json : مطمئن شوید که فایل JSON معتبر است، از طریق https://<your-domain>/.well-known/assetlinks.json قابل دسترسی است و از طریق HTTPS و بدون ریدایرکت ارائه می‌شود. از یک اعتبارسنج آنلاین استفاده کنید.
    • تأیید اثر انگشت SHA-256 : دوباره بررسی کنید که sha256_cert_fingerprints در assetlinks.json دقیقاً با اثر انگشت کلید امضای نسخه برنامه شما مطابقت داشته باشد (اگر از امضای برنامه Play استفاده می‌کنید، از اثر انگشت موجود در کنسول Play استفاده کنید). امضا باید با حروف بزرگ باشد.
    • تأیید autoVerify : مطمئن شوید که <intent-filter> در AndroidManifest.xml شما شامل android:autoVerify="true " باشد.
    • بررسی ریدایرکت‌های سمت سرور : ریدایرکت از http به https یا از دامنه‌ای بدون www به www می‌تواند باعث عدم موفقیت در تأیید شود.
    • تأیید مجدد اجباری : دستورات ADB را در راهنمای پیوندهای برنامه آزمایشی اجرا کنید تا نتیجه تأیید جدید دریافت شود.

قوانین پویا در اندروید ۱۵+ به‌روزرسانی نمی‌شوند

  • مشکل: شما قوانین موجود در فایل assetlinks.json خود را به‌روزرسانی کرده‌اید، اما لینک‌های جدید توسط برنامه مدیریت نمی‌شوند.
  • راه حل :
    • تأیید مجدد اجباری : مطمئن‌ترین راه برای آزمایش تغییرات، واکشی مجدد اجباری با adb shell pm verify-app-links --re-verify. <your-package-name> .
    • بررسی غلط‌های املایی : تطبیق‌دهنده‌های الگو را در قوانین خود با دقت بررسی کنید تا هرگونه خطای نحوی را بیابید.
    • بررسی قوانین فیلتر مانیفست : قوانین فیلتر اینتنت را در مانیفست برنامه بررسی کنید تا مطمئن شوید که مسیر لینک فیلتر نشده است. اگر لینک فیلتر شده است، محدودیت فیلتر اینتنت را در مانیفست برنامه کمتر کنید.

رفع خطاهای رایج پیاده‌سازی

اگر نمی‌توانید پیوندهای برنامه اندروید خود را تأیید کنید، خطاهای رایج زیر را بررسی کنید. در این بخش از example.com به عنوان نام دامنه جایگزین استفاده می‌شود؛ هنگام انجام این بررسی‌ها، example.com با نام دامنه واقعی سرور خود جایگزین کنید.

فیلتر intent نادرست تنظیم شده است
بررسی کنید که آیا URL ای را که برنامه شما ندارد در عنصر <intent-filter> قرار داده‌اید یا خیر.
پیکربندی نادرست سرور

پیکربندی JSON سرور خود را بررسی کنید و مطمئن شوید که مقدار SHA صحیح است.

همچنین، بررسی کنید که example.com. (با نقطه انتهایی) همان محتوای example.com را ارائه می‌دهد.

تغییر مسیرهای سمت سرور

اگر ریدایرکتی مانند زیر تنظیم کرده باشید، سیستم هیچ لینک برنامه اندروید را برای برنامه شما تأیید نمی‌کند:

  • از http://example.com به https://example.com
  • example.com به www.example.com

این رفتار از امنیت برنامه شما محافظت می‌کند.

استحکام سرور

بررسی کنید که آیا برنامه‌های کلاینت شما می‌توانند به سرور شما متصل شوند یا خیر.

لینک‌های غیرقابل تأیید

برای اهداف آزمایشی، ممکن است عمداً پیوندهای غیرقابل تأیید اضافه کنید. به خاطر داشته باشید که در اندروید ۱۱ و پایین‌تر، این پیوندها باعث می‌شوند سیستم تمام پیوندهای برنامه اندروید را برای برنامه شما تأیید نکند.

امضای نادرست در assetlinks.json

تأیید کنید که امضای شما صحیح است و با امضایی که برای امضای برنامه خود استفاده کرده‌اید مطابقت دارد. اشتباهات رایج عبارتند از:

  • امضای برنامه با گواهی اشکال‌زدایی و فقط داشتن امضای انتشار در assetlinks.json .
  • داشتن امضای حروف کوچک در assetlinks.json . امضا باید با حروف بزرگ باشد.
  • اگر از امضای برنامه Play استفاده می‌کنید، مطمئن شوید که از امضایی استفاده می‌کنید که گوگل برای امضای هر یک از نسخه‌های شما استفاده می‌کند. می‌توانید با دنبال کردن دستورالعمل‌های مربوط به اعلام وابستگی‌های وب‌سایت ، این جزئیات، از جمله یک قطعه کد JSON کامل را تأیید کنید.