پاسخ کوتاه: نیامدن اعلان ردیاب را از تنظیمات گوشی شروع نکنید. نخست در گزارش رویدادها ببینید همان اتفاق در زمان موردنظر ثبت شده است یا نه. اگر رویدادی ساخته نشده، مشکل در شرط هشدار یا داده ردیاب است. اگر رویداد وجود دارد اما اعلان برای شما ارسال نشده، قانون اعلان، کاربر گیرنده و کانال 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 و سیاستهای سازنده گوشی نیز ممکن است بر پردازش پسزمینه اثر بگذارند، اما مسیر منو در برندهای مختلف یکسان نیست.
- نسخه Android، نسخه اپ و مدل گوشی را ثبت کنید.
- مجوز کلی Notifications و کانالهای موجود را بررسی کنید.
- یک بار اپ در پیشزمینه و یک بار در پسزمینه باشد.
- Focus/Do Not Disturb و Battery Saver را فقط برای یک آزمون کنترلشده ثبت یا تغییر دهید.
- پس از هر تغییر همان رویداد، خودرو و حساب را دوباره آزمایش کنید.
پاککردن 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 را بررسی کنید. با این ترتیب، مجوز گوشی را برای رویدادی که اصلاً ساخته نشده تغییر نمیدهید و نبود بنر را بهاشتباه به خرابی ردیاب نسبت نمیدهید.
یک آزمون بیخطر، دو تکرار، یک متغیر در هر مرحله و ثبت چهار زمان، گزارش قابل پیگیری میسازد. هدف فقط ظاهرشدن یک اعلان نیست؛ زنجیره باید برای خودروی درست، کاربر درست و بدون اعلان تکراری قابل تکرار باشد.
هنوز دیدگاهی ثبت نشده. اولین نفر باشید!