این راهنما مشکلات رایج و نحوه عیبیابی آنها را شرح میدهد. همچنین میتوانید از ابزارهای عیبیابی در صفحه پیوندهای عمیق کنسول 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 کامل را تأیید کنید.
- امضای برنامه با گواهی اشکالزدایی و فقط داشتن امضای انتشار در