Настройка значка push-уведомлений для различных версий ОС Android - PullRequest
1 голос
/ 18 октября 2019

Прежде чем пометить это как дубликат, пожалуйста, прочитайте мои вопросы.

У меня есть 5 тестовых телефонов Android, на каждом из которых установлена ​​своя версия ОС (5.1, 6.1, 7.1,8 и 9). Я получаю один из двух разных значков push-уведомлений для отображения - в зависимости от версии ОС. Значок моего приложения имеет шестиугольную форму.

Samsung Grand Prime, 5.1.1 = значок реального приложения - с цветами

Samsung Galaxy S5, 6.0.1 = значок реального приложения - сцвета

LG K20 Plus, 7,0 = белый шестиугольный значок

LG K20 Plus, 8,0 = белый шестиугольный значок

Google Pixel 3a, 9,0 = белый шестиугольный значок

Я использую cordova-plugin-firebasex (https://github.com/dpa99c/cordova-plugin-firebasex#android-notification-icons) и создал все соответствующие notification_icon s в соответствующих папках для рисования (mdpi / hdpi / xdpi / xxhdpi / xxxhdpi) - значки всемини-версии значков моего реального приложения (с цветами). Я читал во многих темах / блогах, что над Lollipop (5.0) реальные значки приложений / цветов не доступны для push-уведомлений. Однако мое настоящее приложение / цветные значки отображаются какзначок push-уведомлений на тестовых телефонах Android 5.1.1 и 6.1.

У меня следующие вопросы:

  1. Если Android 5 и выше - только прозрачный pushзначки уведомлений - тогда как эти два тестателефоны, показывающие настоящий цветной значок?

  2. Правильно ли я понимаю это правильно ... ИЛИ возможно ли заставить реальный значок приложения отображаться в виде значка push-уведомлений для Android 7, 8 и 9? ? Если так ... как? Что еще я должен сделать, кроме стандартных шагов, определенных в приведенных выше (также ниже) направлениях Firebasex?

  3. Если это невозможно ... может кто-нибудь ответить, ПОЧЕМУ Google прекратил поддержку цветных / реальных приложенийзначки уведомлений? iOS поддерживает значки мини-приложений в виде значка push-уведомлений во всех версиях их ОС. Цветные значки действительно помогают пользователям точно знать, какое приложение только что уведомило их, не предпринимая никаких дальнейших действий. Белый значок, как правило, не очень узнаваем, и из-за этого становится сложнее определить, какое приложение только что отправило сообщение

  4. Если это невозможно, то мне потребуется создать прозрачные значки для 7, 8 и9 - но как сделать, чтобы нижние версии по-прежнему отображали значки реальных приложений, а верхние версии отображали прозрачные значки? У меня есть один базовый config.xml - какой внутренний код мне нужно добавить, чтобы протестировать разные версии для предоставления реального значка против прозрачного значка?

Текущая конфигурация config.xmlдля определения значков push-уведомлений:

<platform name="android">
    <resource-file src="res/android/drawable-mdpi/notification_icon.png" target="app/src/main/res/drawable-mdpi/notification_icon.png" />
    <resource-file src="res/android/drawable-hdpi/notification_icon.png" target="app/src/main/res/drawable-hdpi/notification_icon.png" />
    <resource-file src="res/android/drawable-xhdpi/notification_icon.png" target="app/src/main/res/drawable-xhdpi/notification_icon.png" />
    <resource-file src="res/android/drawable-xxhdpi/notification_icon.png" target="app/src/main/res/drawable-xxhdpi/notification_icon.png" />
    <resource-file src="res/android/drawable-xxxhdpi/notification_icon.png" target="app/src/main/res/drawable-xxxhdpi/notification_icon.png" />
    <config-file target="AndroidManifest.xml" parent="/manifest/application">
        <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/notification_icon" />
    </config-file>
</platform>

Опять же, notification_icon в каждой из доступных для рисования папок - это мини-версия соответствующего реального размера моего реального приложения / цветной значок.

1 Ответ

1 голос
/ 21 октября 2019
  1. Потому что они давали разработчикам определенный промежуток времени для обновления своих приложений. На этот раз закончился Android 7. Однако, хотя в этих телефонах вы можете видеть цветной значок на панели уведомлений, вы наверняка получаете контур белого значка только в подробной панели уведомлений (начиная с Android 5)

  2. Ты не можешьВы должны использовать белый значок с прозрачностью PNG вместе со значением полезной нагрузки push color, чтобы получить белый значок с цветным фоном на панели подробных уведомлений.

  3. Я думаю, они перестали поддерживать это, потому что разработчики, как правило, создают очень уродливые иконки, которые в небольшом размере (18x18 или около того) выглядят еще хуже. В этом случае лучше видеть только контур значка, также более эстетически согласованный ... это более разумно, чем призывать разработчиков создавать значки с тем же стилем и рекомендациями. Ключевым моментом здесь является наличие правильного логотипа , простого, но уникального, без особой детализации. Рассмотрим значок «f» из Facebook или конверт из Gmail: эти значки всегда можно идентифицировать и связать с соответствующим приложением даже в монохромной палитре. Если вашему логотипу нужно разрешение 256x256, чтобы уместить все детали, самое время вызвать графического дизайнера для создания нового логотипа.

  4. Единственный способ показать разные значки для разных версий Android,это изменить icon полезную нагрузку на стороне сервера перед отправкой push. Вы можете (и должны) сохранить версию ОС Android вместе с идентификатором push-регистрации для каждого пользователя. Тем не менее, я бы не советовал вам продолжать эту идею с различными значками, потому что:

    • Значок будет неправильно показан в деталях уведомлений при запуске Android 5
    • Вы создаете стильнесоответствие между пользователями и устройствами.
    • Ваша цель должна быть прямо противоположной;чтобы все пользователи и все устройства могли видеть один и тот же значок в одном стиле.

Что касается последнего пункта, пользователи в Android 4 выигралиНе вижу цвета bg, который вы установили в толчке, они увидят значок прозрачности PNG с черным фоном по умолчанию.

Я надеюсь, что мое сообщение пролило свет на все ваши сомнения в значках push, дайте мне знать иначе.

...