Как внедрить значки значков приложений

Когда пользователи разблокируют свои телефоны, они часто видят красный овал или круг в правом верхнем углу значков некоторых приложений. Этот красный объект называется значком значка приложения, а число внутри него — количеством значков. Значки значков приложений интуитивно сообщают пользователям о количестве непрочитанных сообщений в приложении, создавая у пользователей ощущение срочности и побуждая их нажать на значок приложения, чтобы прочитать сообщения. При правильном использовании значки значков могут помочь улучшить показатель прочтения сообщений в приложении, тем самым повышая привязанность пользователей к приложению.

HMS Core Push Kit предоставляет API для настройки значков приложений и позволяет разработчикам инкапсулировать параметр значка в передаваемые сообщения. Итак, как же нам реализовать бейджи значков приложений? Подробная процедура выглядит следующим образом.

I. Установка значка значка приложения с помощью клиентского API

Поддерживаемые платформы:

  • Версия ОС: EMUI 4.1 или более поздняя версия
  • Версия Huawei Home: 6.3.29
  • Поддерживаемые устройства: Устройства Huawei

Разработка значка:

1) Объявите необходимые разрешения.

< uses - permission android: name = "android.permission.INTERNET" / >
    <
    uses - permission android: name = "com.huawei.android.launcher.permission.CHANGE_BADGE " / >
Вход в полноэкранный режим Выход из полноэкранного режима

2) Передайте данные приложению Huawei Home, чтобы отобразить значок для указанного приложения.

Bundle extra = new Bundle();
extra.putString("package", "xxxxxx");
extra.putString("class", "yyyyyyy");
extra.putInt("badgenumber", i);
context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, extra);
Вход в полноэкранный режим Выход из полноэкранного режима

Основные параметры:

  • пакет: имя пакета приложения.
  • класс: класс активности входа приложения, которому необходимо отобразить бейдж.
  • badgenumber: номер, отображаемый в бейдже.
boolean mIsSupportedBade = true;
if (mIsSupportedBade) {
    setBadgeNum(num);
}
/** set badge number*/
public void setBadgeNum(int num) {
    try {
        Bundle bunlde = new Bundle();
        // com.test.badge is your package name
        bunlde.putString("package", "com.test.badge"); 
        // com.test. badge.MainActivity is your apk main activity
        bunlde.putString("class", "com.test. badge.MainActivity");
        bunlde.putInt("badgenumber", num);                
        this.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, bunlde);
    } catch (Exception e) {
        mIsSupportedBade = false;
    }
}
Вход в полноэкранный режим Выход из полноэкранного режима

Особые ситуации:

1) Продолжать ли отображать бейдж при открытии и закрытии приложения, зависит от переданного значения badgenumber. (Бейдж не отображается, если значение badgenumber равно 0, и отображается, если значение badgenumber больше 0).
2) Если пакет или класс приложения меняется, разработчику необходимо передать новый пакет или класс приложения.
3) Перед вызовом API бейджа разработчику не нужно проверять, поддерживает ли Huawei Home функцию бейджа. Если Huawei Home не поддерживает функцию бейджа, API выдаст исключение. Разработчик может добавить оператор try … catch(Exception e) в место вызова API для предотвращения сбоев приложения.

II. Установка значка значка приложения с помощью Push SDK

В API обмена сообщениями Push Kit три параметра в BadgeNotification используются для настройки отображения значка и номера, отображаемого в значке.

Параметр Обязательный Тип Описание
add_num Да целое число Накопительный номер бейджа, представляющий собой целое число в диапазоне от 1 до 99. Например, в настоящее время приложение имеет N непрочитанных сообщений. Если этот параметр установлен в 3, то при каждом получении сообщения, содержащего этот параметр, число, отображаемое в бейдже приложения, увеличивается на 3, то есть число равно N+3.
класс Да string Имя класса в формате имя пакета приложения+активность входа в приложение. Пример: com.example.hmstest.MainActivity
set_num Да целое число Номер бейджа, который представляет собой целое число от 0 до 99. Например, если этот параметр установлен в 10, то число, отображаемое на бейдже приложения, будет равно 10 независимо от количества полученных сообщений. Если заданы и set_num, и add_num, будет использоваться значение set_num.

При установке этих параметров обратите внимание на следующее:

  1. Значение class должно быть в формате Имя пакета приложения+Активность входа в приложение. В противном случае бейдж не сможет быть отображен.
  2. Параметр add_num требует, чтобы версия EMUI была 8.0.0 или более поздней, а версия службы push — 8.0.0 или более поздней.
  3. Параметр set_num требует, чтобы версия EMUI была 10.0.0 или более поздней, а версия push-сервиса — 10.1.0 или более поздней.
  4. По умолчанию номер бейджа не очищается, когда пользователь запускает приложение или нажимает и очищает сообщение уведомления. Чтобы приложение могло очищать номер бейджа, разработчику приложения необходимо выполнить разработку на основе соответствующего руководства по разработке бейджей.
  5. Параметр class является обязательным, а параметры add_num и set_num — необязательными. Если оба параметра add_num и set_num оставлены пустыми, номер бейджа по умолчанию увеличивается на 1.

Оцените статью
Procodings.ru
Добавить комментарий