سوالات و مشکلات
سوال مورد نظر شما در لیست نیست؟ در گیتهاب به دنبال آن بروید و در صورت نیافتن در آنجا مورد جدیدی مطرح کنید.
مرتبط با امکانات
رویداد زمانی که اپ باز است دوبار صدا زده میشود
دو بار صدا زده شدن بدین معنیست که پلاگین دوبار رجیسترشده است.
برای حل این مساله باید بررسی کنید که چرا دوبار رجیسترشدن اتفاق میافتد.
در صورتی که در مانیفیست اندروید برنامه flutterEmbedding
دارای مقدار 2
است اما در فایل MainActivity
تابع GeneratedPluginRegistrat.registerWith
صدا زده شده، بایستی آن را حذف کنید، زیرا این کار خودکار انجام میشود.
تابع اعلان در بکگراند صدا زده نمیشود
حتما بایستی اپلیکیشن override شده و به مانیفست اندروید معرفی شود. در صورتی که این اتفاق نیفتد، توابع رویداد در صورتی دریافت کالبک، مطلع نخواند شد.
مرتبط با نمایش نوتیفیکیشن
آیکن نوتیفیکیشن مربعی سفید و یا خاکستری است
هنگام رسیدن اعلان به دیوایس، کتابخانهی پوشه وجود آیکن در اعلان دریافتی را بررسی میکند؛ در صورتی که آیکن (small icon) در پنل ارسال نوتیفیکشن و یا از طریق API تعیین شده باشد، آن را قرار میدهد و در غیر اینصورت:
- در صورتی که Android دستگاه بالای 5.1 باشد ابتدا به دنبال آیکن جایگزینی به نام ic_silhouette میگردد.
- در صورتی که آیکنی با نام ic_silhouette در اپ شما وجود نداشته باشد آیکن برنامه را به عنوان آیکن کوچک نوتیفیکیشن قرار میدهد.
دلیل سفید دیده شدن آیکن کوچک نوتیفیکیشن چیست؟
در اندروید 5 به بالا، آیکن کوچک نوتیفیکیشن باید تماما سفید و بدون بکگراند باشد. به عبارت دیگر بکگراند transparent داشته باشد. در غیر اینصورت آیکن نمایش داده شده حالت درستی نخواهد داشت و سفید یا خاکستری دیده میشود.
در صورتی که آیکنی در پنل ارسال نوتیفیکیشن و یا از طریق API مشخص نشده باشد، آیکن جایگزینی با نام (ic_silhouette
) در اپ شما وجود نداشته باشد و آیکن برنامهی شما نیز سفید بدون بکگراند نباشد که معمولا آیکن برنامه اینطوری نیست، این مورد رخ خواهد داد.
راهحل: میتوانید یکی از موارد زیر را در نظر داشته باشید.
هنگام ارسال نوتیفیکیشن همیشه آیکن کوچک تنظیم کنید (small icon).
آیکنی برای اعلان به صورت سفید بدون بکگراند یا در واقع بکگراند transparent طراحی کنید و با نام
ic_silhouette
در drawable برنامهی خود ذخیره کنید. در صورتی که مشکلی وجود داشته باشد پوشه از این آیکن استفاده میکند. سایز آیکنی که برای نوتیفیکیشن استفاده میکنید باید به صورت جدول زیر باشد.
MDPI | HDPI | XHDPI | XXHDPI | XXXHDPI |
---|---|---|---|---|
24px | 36px | 48px | 72px | 96px |
- آیکن برنامهی شما سفید بدون بکگراند باشد. غالبا این راهحل کاربرد چندانی ندارد به خاطر اینکه آیکن برنامه معمولا یک آیکن سفید بدون بکگراند نیست و برای نوتیفیکیشن از آیکن متفاوتی استفاده میشود.
اعلان دارای عکس یا لینک دریافت نمیشود و یا بدون عکس است
در صورتی که دستگاه دریافت کننده دارای android 9 یا بالاتر باشد، ترافیکهای Http در برنامه انجام نمیشود و فقط ریکوئستهای Https قابل انجام است.
راهحل: یکی از راههای زیر را انتخاب کنید:
- همیشه از لینکهای Https استفادهکنید و عکسها نیز از سرور Https باشند.
- برای تغییر تنظیمات اینکه ریکوئستهای Http نیز کار کنند، این فیلد را در مانیفست خود قرار دهید:
<application
android:usesCleartextTraffic="true"
... />