Сервис push-сообщений, что такое huawei

Обновлено: 23.11.2024

В этом руководстве предполагается, что вы уже настроили свой проект Huawei в приложении для Android и включили PushKit в AppGallery.
Если вы этого не сделали, следуйте инструкциям Huawei по началу работы. руководство. Затем включите API PushKit на панели инструментов AppGalery.

Чтобы включить поддержку push-уведомлений, для пакетной службы требуется com.huawei.hms:push 5.3.0 или выше. Мы настоятельно рекомендуем использовать последнюю версию, когда это возможно. Добавьте следующее в свой build.gradle, если он еще не присутствует:

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

Если вы хотите, чтобы пакетная служба получала ваш рекламный идентификатор и упрощала отладку интеграции, вы также можете включить com.huawei.hms:ads-identifier . Не волнуйтесь, это совершенно необязательно.

Обратите внимание, что добавление этого в ваши приложения активирует сбор рекламных идентификаторов в как HMS, так и пакетной службе. Ваше приложение должно предоставить политику конфиденциальности, чтобы соответствовать правилам Play Store. Вы всегда можете отключить сбор рекламных идентификаторов в пакетной службе, вызвав setCanUseAdvertisingID(false) в объекте конфигурации пакетной службы. Чтобы узнать, как его отключить, обратитесь к документации Firebase.

Тестирование интеграции

Поздравляем с завершением основной части интеграции!

После развертывания сборки на устройстве или в симуляторе с поддержкой Google Play откройте вкладку Logcat в Android Studio. Вы должны увидеть следующие журналы:

Ваше первое уведомление

<р>1. Настройте свои учетные данные Huawei

Чтобы иметь возможность отправлять уведомления с помощью HMS, пакетная служба должна знать ваши учетные данные. Эта настройка происходит на приборной панели. Нажмите здесь, чтобы получить инструкции.

<р>2. Получение токена вашего устройства

Токен вашего устройства можно найти с помощью инструмента отладки или найдя токен. Пакет публикует сообщения в logcat (дополнительную информацию см. здесь):

Если вы не видите push-токен, в журналах может быть ошибка, описывающая, что произошло. Дополнительные сведения см. в нашей документации по устранению неполадок.

Примечание. Push-уведомления поддерживаются не во всех эмуляторах. Чтобы протестировать их, используйте физическое устройство или эмулятор Google API/Google Play.

<р>3. Получение идентификатора установки

Затем вы можете получить идентификатор установки, который соответствует установке вашего приложения на устройстве, вызвав следующий метод:

В то время как пакетная служба печатает это в консоли отладки при запуске, отображение его в настройках или на странице сведений позволяет пользователям отправлять вам этот идентификатор. Это полезно для отладки, отправки тестовых уведомлений и т. д.

<р>4. Отправка тестового push-уведомления

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

Для этого откройте панель инструментов и выберите ⚙ Настройки → Отладка. Введите свой идентификатор установки, нажмите «Отладка», а затем нажмите «Отправить тестовую отправку».

Вы должны получить уведомление на свое устройство. В противном случае или если вы не можете найти свой идентификатор установки, SDK может быть настроен неправильно.

Если вам необходимо регулярно отправлять push-уведомления на ваше устройство, вам следует добавить свой идентификатор в качестве тестового устройства, нажав кнопку "Сохранить как тестовое устройство".

Использование пользовательской службы HmsMessageService

Этот шаг необязателен и требуется только в том случае, если вы хотите использовать собственную службу HmsMessageService.

Во-первых, вам нужно удалить пакет HmsMessageService, который добавляется в ваш манифест:

Затем обязательно вызовите BatchHms в новой службе следующим образом:

Переопределение идентификатора приложения HMS

При использовании HMS пакетная служба автоматически определяет идентификатор приложения для использования с идентификатором, установленным в вашем файле agconnect-services.json.

Если по какой-либо причине вы хотите указать другой идентификатор отправителя, добавьте следующую строку в файл AndroidManifest.xml в разделе:

Затем добавьте соответствующий ресурс String с идентификатором приложения, которое вы хотите использовать:

(Вам не нужно называть вашу строку ressource batch_hms_app_id , это может быть что угодно, если на него есть ссылка в метаданных манифеста.)

Я не получаю токен

  • Push Kit не включен при подключении AppGallery.
  • Ваш файл agconnect-services.json неверен.
  • Отпечаток вашего сертификата SHA-256 не настроен в AppGallery Connect или не соответствует отпечатку, который использовался для подписи вашей сборки.

Ваш logcat должен регистрировать дополнительную информацию об ошибке. Пожалуйста, посетите справочную страницу кодов ошибок Huawei для получения более подробной информации о том, что означают коды ошибок.

Новые телефоны, произведенные Huawei, оснащены мобильными сервисами Huawei (HMS) — сервисом, используемым для доставки push-уведомлений вместо Google Firebase Cloud Messaging (FCM).

В этом руководстве показано, как настроить интеграцию Huawei с Android для отправки push-уведомлений через Braze и использования всех существующих функций Braze, включая сегментацию, аналитику, Canvas и многое другое!

Шаг 1. Зарегистрируйте учетную запись разработчика Huawei

Прежде чем начать, вам необходимо зарегистрироваться и настроить учетную запись разработчика Huawei. В своей учетной записи Huawei выберите «Мои проекты» > «Настройки проекта» > «Информация о приложении» и запишите идентификатор приложения и секрет приложения .

Шаг 2. Создайте новое приложение Huawei на панели управления Braze

На панели инструментов Braze перейдите в раздел «Управление настройками», указанный в разделе «Настройки».

Нажмите + Добавить приложение, укажите имя (например, My Huawei App), выберите Android в качестве платформы и выберите Huawei (HMS) в качестве поставщика push-уведомлений.

После того как ваше новое приложение Braze будет создано, вы найдете ключ API своего идентификатора приложения и раздел для настроек push-уведомлений, где вы можете ввести свой идентификатор приложения Huawei и секрет приложения Huawei.

Шаг 3. Интегрируйте SDK Huawei для обмена сообщениями в свое приложение

Huawei предоставила кодовую лабораторию интеграции с Android, в которой подробно описана интеграция службы обмена сообщениями Huawei в ваше приложение. Чтобы начать, выполните следующие действия.

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

После добавления пользовательской службы push-уведомлений добавьте в файл AndroidManifest.xml следующее:

Шаг 4. Отправьте push-уведомление Huawei

На этом этапе вы создали новое приложение Huawei для Android на панели управления Braze, настроили его с помощью учетных данных разработчика Huawei и интегрировали Braze и SDK Huawei в свое приложение.

Затем мы можем протестировать интеграцию, протестировав новую push-кампанию в Braze.

Создать новую кампанию push-уведомлений

На странице "Кампании" создайте новую кампанию и выберите Push-уведомление в качестве типа сообщения.

После того, как вы назовете свою кампанию, выберите Android Push в качестве платформы push-уведомлений.

Затем составьте свою push-кампанию с заголовком и сообщением.

Отправить тестовый push

На вкладке "Тест" введите свой идентификатор пользователя, который вы установили в своем приложении с помощью метода changeUser(USER_ID_STRING), и нажмите "Отправить тест", чтобы отправить тестовый push-уведомление.

На этом этапе вы должны получить тестовое push-уведомление на ваше устройство Huawei (HMS) от Braze.

Настройка сегментации Huawei (необязательно)

Поскольку ваше приложение Huawei на панели инструментов Braze построено на платформе Android push-уведомлений, у вас есть возможность отправлять push-уведомления всем пользователям Android (Firebase Cloud Messaging и мобильные сервисы Huawei), или вы можете сегментировать аудиторию своей кампании по определенные приложения.

Чтобы отправлять push-уведомления только приложениям Huawei, создайте новый сегмент и выберите свое приложение Huawei в разделе "Приложения".

Конечно, если вы хотите отправить одну и ту же push-уведомление всем поставщикам push-уведомлений Android, вы можете не указывать приложение, которое будет отправлять все приложения Android, настроенные в текущей группе приложений.

Аналитика

После того как ваша кампания будет запущена, вы увидите аналитику по вашей кампании или Canvas, собранные для push-уведомлений Android. Дополнительную информацию об аналитике и настройках push-уведомлений Android см. в нашем руководстве пользователя.

Добро пожаловать в центр разработчиков OneSignal New IA. Вы найдете исчерпывающие руководства и документацию, которые помогут вам начать работу с OneSignal New IA как можно быстрее, а также поддержку, если вы застряли. Давайте сразу!

Руководство по установке OneSignal Huawei SDK для Android Studio.

Следуйте этим инструкциям, если ваше приложение распространяется через Huawei AppGallery.

    .
  • Ваш идентификатор приложения OneSignal, доступный в разделе "Настройки" > "Ключи и идентификаторы".
  • Устройство Huawei с установленной галереей приложений Huawei.

Следуйте руководству по установке OneSignal Android SDK.Настройка Firebase/Google не требуется для сборок приложений, размещенных в Huawei AppGallery.

Вы можете пропустить этот шаг, если у вас уже есть Huawei agconnect-services.json в вашем проекте Android Studio из настройки другого сервиса Huawei.
3.1 Из списка проектов AppGallery Connect выберите свое приложение.

3.2 Нажмите кнопку "agconnect-services.json", чтобы загрузить этот файл.

3.3. Поместите этот файл в папку вашего приложения в Android Studio.

Вы можете пропустить этот шаг, если вы уже добавили отпечаток пальца сертификата SHA-256 на панель инструментов Huawei для другого сервиса Huawei.

4.1 В Android Studio выберите View > Tool Windows > Gradle

4.2. Здесь выберите приложение > Задачи > android > signingReport

4.3. Скопируйте SHA-256 для своего варианта выпуска.

4.4 В списке проектов AppGallery Connect выберите свое приложение.

4.5. Прокрутите вниз и найдите поле "Отпечаток сертификата SHA-256", в которое следует ввести ключи.

5.1 Откройте корневой файл build.gradle (Project: ) в Android Studio и добавьте maven в buildscript и все проекты

5.2 В buildscript < зависимости >добавьте classpath 'com.huawei.agconnect:agcp:1.3.1.300'

5.3 В вашем корневом файле build.gradle должно быть всего 3 новые строки, выделенные ниже.

5.4 Откройте файл app/build.gradle и добавьте реализацию com.huawei.hms:push:5.3.0.304 в разделе зависимостей.

5.5. Также в файл app/build.gradle добавьте плагин apply: 'com.huawei.agconnect' в самый низ файла.

5.6 В файле app/build.gradle должно быть всего 2 новые строки, выделенные ниже.

👍

Синхронизировать Gradle

Обязательно нажмите "Синхронизировать сейчас" на всплывающем баннере после сохранения!

Это требуется только в том случае, если вы должны сохранить другой сторонний пакет SDK или библиотеку HMS push в своем приложении в дополнение к OneSignal или у вас есть собственный HmsMessageService .

6.1 Создайте класс, унаследованный от HmsMessageService , если у вас его еще нет, и добавьте следующие методы.

🚧

расширяет HmsMessageService

Если у вас уже есть класс, расширяющий HmsMessageService, добавьте две новые строки OneSignalHmsEventBridge вместо создания другого класса.

Это необходимо для пересылки onNewToken и onMessageReceived в OneSignal через OneSignalHmsEventBridge .

6.2 Если у вас не было класса, расширяющего HmsMessageService, обязательно добавьте его в свой AndroidManifest.xml под тегом.

Запустите приложение на реальном устройстве Huawei, чтобы убедиться, что ваше устройство подписано на уведомления как устройство Huawei и может получать уведомления, отправленные с панели управления OneSignal.

📘

Устранение неполадок

Если у вас возникнут какие-либо проблемы, обратитесь к нашему руководству по устранению неполадок Android

Вы можете увидеть полностью реализованный пример проекта на Github.

Это руководство по использованию Huawei Push Kit для получения уведомлений от Stream Chat.

Чтобы иметь возможность получать уведомления от Stream, вам необходимо предоставить свои учетные данные Huawei для Stream.

Перейдите в консоль Huawei и выберите проект, к которому относится ваше приложение.

Если у вас еще нет проекта Huawei, вам придется создать новый.

Нажмите «Настройки проекта» и перейдите на вкладку «Общая информация». В разделе Информация о приложении найдите идентификатор приложения и секрет приложения и скопируйте их:

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

На этом настройка панели управления завершена. Затем вам нужно добавить интеграцию на стороне клиента.

Для начала добавьте Huawei в свой проект Android. Вам нужно только настроить зависимости Huawei Push Kit и добавить файл agconnect-services.json в исходный каталог вашего проекта.

Android SDK для Stream Chat содержит артефакт, позволяющий быстро интегрировать сообщения Huawei Push Kit. Добавьте следующую зависимость в файл build.gradle вашего приложения:

Затем добавьте HuaweiPushDeviceGenerator в свой NotificationConfig и передайте его в ChatClient.Builder при инициализации SDK:

ChatClient должен быть инициализирован перед обработкой push-уведомлений. Мы рекомендуем настроить его в классе Application.

Это все, что вам нужно сделать, чтобы интегрировать артефакт поставщика push-уведомлений Huawei!

Артефакт поставщика push-уведомлений Stream Huawei содержит реализацию HuaweiMessagingService, которая отправляет новые токены Huawei в Stream и перенаправляет входящие push-сообщения в ChatClient для обработки.

Если вы используете уведомления Huawei для других целей в своем приложении, вам потребуется собственная настраиваемая служба, чтобы заменить это. Здесь вам нужно вызвать методы registerHuaweiToken и handleRemoteMessage класса HuaweiMessagingDelegate, например:

Ваша специальная служба должна иметь приоритет выше -1, чтобы заменить нашу службу по умолчанию. (По умолчанию этот приоритет равен 0.)

Читайте также: