Nano Hash - криптовалюты, майнинг, программирование

Push-уведомление Firebase, как установить значок? Использование Admin SDK в .NET

В основном я хочу установить значок в push-уведомлении с помощью Firebase. Я использую их Firebase Admin .NET SDK. Что на самом деле работает просто отлично, за исключением одной незначительной детали, я не могу установить значок. Используя класс FirebaseAdmin.Messaging.Message, затем указав атрибут Token, а затем указав объект Notification (который имеет три атрибута):

  1. Тело
  2. URL изображения
  3. Заголовок

После их установки push-уведомление работает нормально, но ImageUrl — это фактическое изображение с сообщением, а не со значком. Я хочу установить значок. Просмотрев документы, я заметил, что Message имеет атрибут Webpush типа WebpushConfig, у которого есть атрибут Notification типа WebpushNotification, и бум! вот они, куча настроек типа Плитка, Тело, Вибрация и другие, но тот, который мне действительно нужен, находится там Icon. К сожалению, установка атрибутов для WebpushNotification ничего не дает. Вот мой код.

    public async Task Push(string token)
    {
        await messaging.SendAsync(new Message() { 
            Token = token,
            Notification = new Notification() {
              //Title = "This Title works",
              //Body = "This body works",
              //ImageUrl = "someUrlThatWorks"
            },
            Webpush = new WebpushConfig()
            {
                Notification = new WebpushNotification
                {
                    Title = "This title does not work",
                    Body = "This body does not work",
                    Icon = "thisIconDoesNotWork.png"
                }
            }
        });
    }

В основном только три атрибута из FirebaseAdmin.Messaging.Notification work.

А вот атрибуты из FirebaseAdmin.Messaging.WebpushNotification не могу заставить работать, хочу только Icon оттуда.

Вот документы

Спасибо.


Ответы:


1

добавьте следующее в файл AndroidManifest.xml

<!-- Set custom default icon. This is used when no icon is set for incoming notification messages. -->
<meta-data
    android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@drawable/ic_stat_ic_notification" />
<!-- Set color used with incoming notification messages. This is used when no color is set for the incoming
     notification message. -->
<meta-data
    android:name="com.google.firebase.messaging.default_notification_color"
    android:resource="@color/colorAccent" />

28.09.2020
  • или установите свойство значка перед отправкой уведомления: var msg = new Message() { Token = token, Notification = new Notification() { Body = notificationBody, Title = title, }, Android = new AndroidConfig() { Notification = new AndroidNotification() { ClickAction = "FLUTTER_NOTIFICATION_CLICK", Icon= "ic_launcher" } }, }; 28.09.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..