Android Bot в панели уведомлений вместо значка запуска - FCM

Я использую ionic3 для создания гибридного приложения и использую этот плагин cordova push-уведомлений fcm для получение уведомления

Мне удалось добиться отправки уведомлений на запускаемое устройство и приложение (с такими данными, как заголовок, тело, пользовательские и т. Д.)

Но всякий раз, когда уведомление доставляется, значок уведомления отображается как бот Android. например введите здесь описание изображения

Значок My Launcher - это другой значок, который отлично работает

Чтобы инициировать уведомление, я отправляю запрос curl на https://fcm.googleapis.com/fcm/send со следующим json:

{ 
    "to":"device_token",
    "priority":"high",
    "notification":{ 
        "title":"New Notification!", 
        "body":"Test", 
        "sound":"default", 
        "click_action":"FCM_PLUGIN_ACTIVITY", 
        "icon": "icon" //optional piece 
    }, 
}

Значок icon.png присутствует во всех android/res/mipmap* каталогах.

Кроме того, я добавил следующую мета в свой справочник по AndroidManifest.xml

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/icon" />

Кроме того, я попытался прочитать logcat с устройства. Всякий раз, когда я передаю параметр значка в json, который я публикую в fcm, я вижу следующий журнал

06-12 23:43:38.457 22257 22303 W FirebaseMessaging: Icon resource icon not found. Notification will use default icon.

Но всякий раз, когда я не передаю значок в json, я не вижу вышеуказанного сообщения в logcat.

Я думаю, что где-то упускаю простую вещь, но не могу ее понять. Пожалуйста, помогите мне с некоторыми указателями, указаниями о том, где я могу ошибаться

заранее спасибо


person Dhaval Shah    schedule 12.06.2019    source источник


Ответы (1)


Наконец я смог понять проблему. Мне пришлось глубже изучить журналы ADB, чтобы найти следующее:

06-18 20:46:59.898 11432 11470 E FirebaseMessaging: Icon with id: 2131165319 uses an invalid gradient. Using fallback icon.

Затем я получил ссылку на это

При дальнейшем исследовании я обнаружил, что мои project.properties и FCMPlugin.gradle указывали на firebase 11.8.0.

Изменив это на 11.0.1 в обоих местах и ​​перестроив приложение, я смог получить уведомление со значком

person Dhaval Shah    schedule 18.06.2019