اعلان ردیاب نمی‌آید؟ رویداد، Push و تنظیمات گوشی را جدا کنید

۰ دیدگاه ۱۲ دقیقه مطالعه ۱۶۷ بازدید
تصویر پرهام سبحان اردکانی
نویسنده

پرهام سبحان اردکانی

نویسنده وبلاگ رهگارد

تصویر شاخص مقاله اعلان ردیاب نمی‌آید؟ رویداد، Push و تنظیمات گوشی را جدا کنید

پاسخ کوتاه: نیامدن اعلان ردیاب را از تنظیمات گوشی شروع نکنید. نخست در گزارش رویدادها ببینید همان اتفاق در زمان موردنظر ثبت شده است یا نه. اگر رویدادی ساخته نشده، مشکل در شرط هشدار یا داده ردیاب است. اگر رویداد وجود دارد اما اعلان برای شما ارسال نشده، قانون اعلان، کاربر گیرنده و کانال Push را بررسی کنید. فقط وقتی رویداد و مقصد درست‌اند، سراغ مجوز اعلان، Focus، کانال‌های Android و تنظیمات پس‌زمینه گوشی بروید.

«رویداد»، «ارسال Push»، «رسیدن پیام به اپ» و «نمایش بنر توسط سیستم‌عامل» چهار شاهد جدا هستند. موفقیت هر مرحله، مرحله بعد را تضمین نمی‌کند. بنابراین نتیجه‌ای مانند «سرور ارسال کرد» به‌تنهایی ثابت نمی‌کند کاربر بنر را دیده است؛ همان‌طور که نبود بنر روی یک گوشی، ثابت نمی‌کند ردیاب رویداد را تولید نکرده است.

زنجیره اعلان را به پنج لایه تقسیم کنید

زنجیره اعلان را به پنج لایه تقسیم کنید
شاهد لازم برای هر لایه اعلان
لایهپرسششاهد
۱. رویدادآیا شرط هشدار واقعاً رخ داده؟نوع رویداد، خودرو و زمان ثبت در سامانه
۲. قانون اعلانآیا این رویداد برای این خودرو و کاربر به Push متصل است؟نوع اعلان، دامنه دستگاه، مخاطب و برنامه زمانی
۳. ارسالآیا پیام برای سرویس Push صف یا تحویل واسط شد؟گزارش فنی زمان‌دار، در صورت دسترسی تیم پشتیبانی
۴. دریافت اپآیا نصب و حساب فعلی پیام را دریافت می‌کند؟مقایسه یک حساب/گوشی شاهد و وضعیت ورود
۵. نمایش سیستم‌عاملآیا Android یا iOS اجازه نمایش بنر و صدا داده؟مجوز اپ، کانال، Focus و محل‌های نمایش

این جدول ترتیب عیب‌یابی است، نه فهرست علت‌های قطعی. از پایین‌بودن باتری، اینترنت ضعیف یا «مشکل سرور» بدون شاهد نتیجه نگیرید. یک نمونه زمان‌دار بسازید و فقط یک متغیر را در هر نوبت تغییر دهید.

قدم اول: وجود خود رویداد را ثابت کنید

قدم اول: وجود خود رویداد را ثابت کنید

در بازه کوتاه پیرامون زمان آزمایش، گزارش رویدادها را برای همان خودرو و همان نوع هشدار باز کنید. مستندات رسمی Traccar درباره Events رویداد را رکوردی می‌داند که از وضعیت دستگاه یا قواعد سامانه ساخته می‌شود؛ صفحه Notifications در Traccar نیز کانال اطلاع‌رسانی را مرحله‌ای جدا از رویداد توضیح می‌دهد. این معماری عمومی است و نام دقیق منوها در نسخه فعلی رهگارد باید از خود رابط تأیید شود.

اگر رویداد وجود ندارد، مجوز گوشی چیزی را اصلاح نمی‌کند. برای علت تخصصی به صفحه مالک همان رویداد بروید: هشدار سرعت، حرکت یا یدک‌کشی، ژئوفنس، روشن‌شدن خودرو یا قطع برق ردیاب. این مقاله فقط زنجیره عمومی تحویل اعلان را پوشش می‌دهد و درباره سیم‌کشی یا منطق هر رویداد حکم نمی‌دهد.

قدم دوم: قانون اعلان، خودرو و گیرنده را تطبیق دهید

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

  • نوع رویداد ثبت‌شده را با نوع انتخاب‌شده در قانون مقایسه کنید؛
  • مطمئن شوید خودروی آزمایش داخل دامنه همان قانون است؛
  • حساب واردشده در گوشی را با گیرنده قانون تطبیق دهید؛
  • Push را از SMS، ایمیل یا اعلان درون‌برنامه‌ای جدا ثبت کنید؛
  • اگر چند قانون مشابه وجود دارد، خطر حذف یا اعلان تکراری را بررسی کنید.

برای عیب‌یابی، قانون موجود را بی‌هدف حذف و از نو نسازید. ابتدا از تنظیمات غیرحساس یادداشت بگیرید تا بتوانید تغییر را برگردانید. در ناوگان نیز تغییر یک قانون مشترک می‌تواند بر کاربران دیگر اثر بگذارد؛ یک مورد آزمایشی محدود امن‌تر است.

قدم سوم: «ارسال شد» را با «نمایش داده شد» یکی نگیرید

مستند رسمی Firebase Cloud Messaging درباره تحویل پیام میان پیام صف‌شده یا تحویل‌شده به سرویس واسط و دریافت/نمایش روی دستگاه تفاوت می‌گذارد. برخی شاخص‌های تحویل نیز تجمیعی‌اند و ممکن است با تأخیر گزارش شوند. بنابراین گزارش ارسال برای تیم فنی مفید است، اما رسیدن بنر به یک گوشی خاص را به‌تنهایی ثابت نمی‌کند.

مستند انواع پیام FCM نیز توضیح می‌دهد که رفتار پیام‌های Notification و Data و وضعیت Foreground یا Background می‌تواند متفاوت باشد. پیاده‌سازی دقیق اپ رهگارد از این صفحه عمومی قابل استنتاج نیست؛ تنها نتیجه امن این است که نمایش در حالت بازبودن اپ و بسته/پس‌زمینه بودن آن را جدا آزمایش کنیم.

Android: مجوز کلی و کانال اعلان را جدا ببینید

طبق مستند رسمی Android، از Android 13 یا API 33 به بعد برنامه برای اعلان‌های غیرمعاف به مجوز زمان اجرا POST_NOTIFICATIONS نیاز دارد. اگر کاربر «اجازه نده» را انتخاب کند، اعلان‌های اپ در کشوی اعلان نمایش داده نمی‌شوند، مگر استثناهای محدود سیستم. در تنظیمات گوشی، Notifications اپ رهگارد را پیدا و مجوز کلی را بررسی کنید.

در Android، کانال‌های اعلان نیز می‌توانند جداگانه خاموش یا بی‌صدا باشند. نام و تعداد کانال‌ها را از گوشی خود بخوانید؛ مقاله نمی‌تواند وجود کانال مشخصی را برای همه نسخه‌ها تضمین کند. حالت مزاحم نشوید، محدودیت باتری، Data Saver و سیاست‌های سازنده گوشی نیز ممکن است بر پردازش پس‌زمینه اثر بگذارند، اما مسیر منو در برندهای مختلف یکسان نیست.

  1. نسخه Android، نسخه اپ و مدل گوشی را ثبت کنید.
  2. مجوز کلی Notifications و کانال‌های موجود را بررسی کنید.
  3. یک بار اپ در پیش‌زمینه و یک بار در پس‌زمینه باشد.
  4. Focus/Do Not Disturb و Battery Saver را فقط برای یک آزمون کنترل‌شده ثبت یا تغییر دهید.
  5. پس از هر تغییر همان رویداد، خودرو و حساب را دوباره آزمایش کنید.

پاک‌کردن Data یا نصب مجدد را قدم اول نگذارید؛ این کار نشست و تنظیمات محلی را حذف می‌کند و ممکن است شاهد قبلی را از بین ببرد. اگر به نصب مجدد رسیدید، ابتدا از دسترسی امن به حساب مطمئن شوید و رمز یا OTP را در گزارش عیب‌یابی ثبت نکنید.

iPhone: Allow Notifications، محل نمایش و Focus را بررسی کنید

راهنمای جاری Apple Support برای تنظیم اعلان‌های iPhone مسیر Settings > Notifications > [App] را برای Allow Notifications و انتخاب محل نمایش مانند Lock Screen، Notification Center و Banner توضیح می‌دهد. اگر اعلان فقط در Notification Center دیده می‌شود اما بنر ندارید، این با نرسیدن کامل پیام یکسان نیست.

Focus می‌تواند اعلان‌ها را ساکت یا به تأخیر بیندازد و Scheduled Summary نیز می‌تواند زمان مشاهده برخی اعلان‌ها را تغییر دهد. تنظیمات دقیق به نسخه iOS وابسته است. یک آزمایش کوتاه با ثبت وضعیت Focus و Summary انجام دهید؛ غیرفعال‌کردن دائمی تنظیمات شخصی کاربر هدف عیب‌یابی نیست.

اگر Apple Watch یا دستگاه دیگری در مسیر اعلان نقش دارد، محل ظاهرشدن اعلان را نیز ثبت کنید. نبود صدا، نبود بنر و نبود رکورد در Notification Center سه نتیجه متفاوت‌اند و باید جدا نوشته شوند.

حساب، نصب اپ و گوشی دوم چه چیزی را روشن می‌کنند؟

اگر همان رویداد برای حساب دیگری می‌رسد، ساخت رویداد و بخشی از مسیر ارسال کار می‌کند؛ اما هنوز ممکن است قانون گیرنده، نشست اپ یا تنظیمات گوشی اول مشکل داشته باشد. اگر همان حساب روی گوشی شاهد اعلان می‌گیرد ولی گوشی اصلی نمی‌گیرد، بررسی سیستم‌عامل و نصب اولویت بیشتری پیدا می‌کند. این مقایسه علت را اثبات نمی‌کند، اما دامنه جست‌وجو را کوچک می‌کند.

پس از خروج از حساب، تعویض گوشی یا نصب مجدد، اطلاعات ثبت Push ممکن است تازه شود. کاربر نباید توکن Push را استخراج یا در پیام عمومی ارسال کند. اگر تیم فنی به شناسه فنی نیاز دارد، آن را از مسیر پشتیبانی خصوصی و با حداقل داده لازم بررسی کند. برای مشکل ورود یا نشست از راهنمای ورود اپ ردیاب و برای مسیرهای عمومی از راهنمای اپ رهگارد استفاده کنید.

یک آزمون کنترل‌شده و بی‌خطر طراحی کنید

رویدادی را انتخاب کنید که بدون رانندگی پرخطر، دستکاری سیم‌کشی یا قطع ایمنی قابل تولید باشد. اگر نسخه فعلی سامانه گزینه آزمون اعلان رسمی دارد، فقط پس از مشاهده آن در رابط از همان استفاده کنید؛ وجود چنین گزینه‌ای برای همه نسخه‌ها فرض نشده است. زمان گوشی را خودکار نگه دارید و این موارد را ثبت کنید:

  • خودرو، نوع رویداد و زمان واقعی وقوع؛
  • زمان ثبت رویداد در سامانه؛
  • حساب گیرنده و کانال Push؛
  • حالت اپ: باز، پس‌زمینه یا بسته؛
  • وضعیت شبکه، Focus و مجوز اعلان؛
  • زمان دیده‌شدن بنر یا رکورد Notification Center.

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

از نتیجه آزمون، شاخه بعدی را انتخاب کنید

نتیجه و اقدام بعدی
نتیجهشاخه بعدی
رویداد ساخته نشدهتنظیم/داده همان هشدار تخصصی را بررسی کنید
رویداد هست، اما گیرنده یا Push در قانون نیستقانون اعلان را با دامنه محدود اصلاح و دوباره آزمایش کنید
برای گوشی شاهد می‌رسد، برای گوشی اصلی نهمجوز، کانال، Focus، نشست و پس‌زمینه گوشی اصلی
در اپ باز دیده می‌شود، در پس‌زمینه نهپیاده‌سازی/تنظیم پس‌زمینه و محدودیت سیستم‌عامل
هیچ گیرنده‌ای اعلان نمی‌گیرد، اما رویدادها ثبت‌اندنمونه زمان‌دار برای بررسی قانون و مسیر ارسال توسط پشتیبانی
اعلان تکراری می‌آیدقوانین، گیرنده‌ها و کانال‌های هم‌پوشان را بررسی کنید

آزمون پذیرش پس از رفع مشکل

  • رویداد مورد انتظار با نوع، خودرو و زمان درست ثبت شود؛
  • قانون فقط گیرنده و کانال موردنظر را هدف بگیرد؛
  • اعلان در دو تکرار با اپ در پس‌زمینه دیده شود؛
  • رفتار اپ در پیش‌زمینه جدا ثبت شود؛
  • اعلان تکراری یا اعلان برای خودروی خارج از دامنه ایجاد نشود؛
  • زمان رویداد، ثبت، دریافت و نمایش برای مقایسه نگه داشته شود.

در ناوگان، اصلاح را ابتدا روی یک خودرو و یک کاربر شاهد بسنجید. تغییر هم‌زمان قوانین مشترک یا تنظیم همه کاربران، تشخیص اثر واقعی را سخت می‌کند.

بسته پشتیبانی بدون افشای اطلاعات حساس

مدل گوشی، نسخه سیستم‌عامل و اپ، زمان و منطقه زمانی، نوع رویداد، وجود یا نبود رکورد رویداد، حساب گیرنده به‌شکل حداقلی، حالت اپ، نوع شبکه و نتیجه گوشی شاهد را ارسال کنید. اسکرین‌شات فقط باید تنظیم مرتبط را نشان دهد و اطلاعات غیرضروری خودرو و مکان پوشانده شود. رمز، OTP، توکن Push، مختصات دقیق، مسیر روزانه و پاسخ خام سرویس‌ها را در کانال عمومی نفرستید؛ راهنمای حریم خصوصی موقعیت مرزهای داده مکانی را توضیح می‌دهد.

جمع‌بندی؛ از رویداد به نمایش حرکت کنید

اگر نوتیفیکیشن ردیاب نمی‌آید، ترتیب درست این است: رویداد را پیدا کنید، قانون و گیرنده را تطبیق دهید، شاهد ارسال را از نمایش جدا کنید و بعد تنظیمات Android یا iOS را بررسی کنید. با این ترتیب، مجوز گوشی را برای رویدادی که اصلاً ساخته نشده تغییر نمی‌دهید و نبود بنر را به‌اشتباه به خرابی ردیاب نسبت نمی‌دهید.

یک آزمون بی‌خطر، دو تکرار، یک متغیر در هر مرحله و ثبت چهار زمان، گزارش قابل پیگیری می‌سازد. هدف فقط ظاهرشدن یک اعلان نیست؛ زنجیره باید برای خودروی درست، کاربر درست و بدون اعلان تکراری قابل تکرار باشد.

سوالات متداول

قانون اعلان، دامنه خودرو، حساب گیرنده، کانال Push و برنامه زمانی را بررسی کنید. سپس مجوز و تنظیمات گوشی را بسنجید؛ وجود رویداد به‌تنهایی تحویل و نمایش را تضمین نمی‌کند.

اپ برای اعلان‌های غیرمعاف به مجوز زمان اجرای POST_NOTIFICATIONS نیاز دارد. در تنظیمات Notifications اپ، مجوز کلی و کانال‌های موجود را جدا بررسی کنید.

Allow Notifications، محل‌های نمایش مانند Lock Screen و Banner، Focus و Scheduled Summary را بررسی کنید. نبود بنر همیشه به معنی نرسیدن کامل اعلان نیست.

خیر. محدودیت باتری می‌تواند متغیر مؤثر باشد، اما بدون آزمون علت قطعی نیست. آن را همراه نسخه گوشی ثبت و فقط یک متغیر را در هر نوبت تغییر دهید.

رفتار Foreground و Background می‌تواند به نوع پیام، پیاده‌سازی اپ و سیاست سیستم‌عامل وابسته باشد. هر دو حالت را جدا ثبت و برای پشتیبانی نمونه زمان‌دار فراهم کنید.

نه. ابتدا رویداد، قانون، گیرنده و مجوزها را بررسی کنید. نصب مجدد نشست و تنظیمات محلی را تغییر می‌دهد و باید پس از حفظ شواهد و اطمینان از دسترسی حساب انجام شود.

یک رویداد بی‌خطر و قابل تکرار انتخاب کنید یا فقط اگر در رابط فعلی گزینه رسمی تست وجود دارد از آن استفاده کنید. رانندگی خطرناک یا دستکاری سیم‌کشی برای تست مناسب نیست.

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

مقاله‌های مرتبط

دیدگاه کاربران (۰)

هنوز دیدگاهی ثبت نشده. اولین نفر باشید!