Skip to main content

مشکل مورد نظر شما در لیست نیست؟ در گیت‌هاب به دنبال آن بگردید و در صورت نیافتن در آنجا مورد جدیدی مطرح کنید.

مرتبط با نمایش نوتیفیکیشن

آیکن نوتیفیکیشن مربعی سفید و یا خاکستری‌ است

هنگام رسیدن اعلان به دیوایس، کتابخانه‌ی پوشه وجود آیکن در اعلان دریافتی را بررسی می‌کند؛ در صورتی که آیکن (small icon) در پنل ارسال نوتیفیکشن و یا از طریق API تعیین شده باشد، آن را قرار می‌دهد و در غیر اینصورت:

  • در صورتی که Android دستگاه بالای 5.1 باشد ابتدا به دنبال آیکن جایگزینی به نام ic_silhouette می‌گردد.
  • در صورتی که آیکنی با نام ic_silhouette در اپ شما وجود نداشته باشد آیکن برنامه را به عنوان آیکن کوچک نوتیفیکیشن قرار می‌دهد.

دلیل سفید دیده شدن آیکن کوچک نوتیفیکیشن چیست؟

در اندروید 5 به بالا، آیکن کوچک نوتیفیکیشن باید تماما سفید و بدون بک‌گراند باشد. به عبارت دیگر بک‌گراند transparent داشته باشد. در غیر اینصورت آیکن نمایش‌ داده شده حالت درستی نخواهد داشت و سفید یا خاکستری دیده می‌شود.

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

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

  • هنگام ارسال نوتیفیکیشن همیشه آیکن کوچک تنظیم کنید (small icon).

  • آیکنی برای اعلان به صورت سفید بدون بک‌گراند یا در واقع بک‌گراند transparent طراحی‌ کنید و با نام ‌ic_silhouette در drawable برنامه‌ی خود ذخیره‌ کنید. در صورتی که مشکلی وجود‌ داشته باشد پوشه از این آیکن استفاده می‌کند. سایز آیکنی که برای نوتیفیکیشن استفاده می‌کنید باید به صورت جدول زیر باشد.

MDPIHDPIXHDPIXXHDPIXXXHDPI
24px36px48px72px96px
  • آیکن برنامه‌ی شما سفید بدون بک‌گراند باشد. غالبا این راه‌حل کاربرد چندانی ندارد به خاطر اینکه آیکن برنامه معمولا یک آیکن سفید بدون بک‌گراند نیست و برای نوتیفیکیشن از آیکن متفاوتی استفاده می‌شود.

اعلان دارای عکس یا لینک دریافت نمی‌شود و یا بدون عکس است

در صورتی که دستگاه دریافت کننده دارای android 9 یا بالاتر باشد، ترافیک‌های Http در برنامه انجام نمی‌شود و فقط ریکوئست‌های Https قابل انجام است.

راه‌حل: یکی از راه‌های زیر را انتخاب کنید:

  • همیشه از لینک‌های Https استفاده‌کنید و عکس‌ها نیز از سرور Https باشند.
  • برای تغییر تنظیمات اینکه ریکوئست‌های Http نیز کار کنند، این فیلد را در مانیفست خود قرار دهید:
<application
android:usesCleartextTraffic="true"
... />