앱 아이콘 배지 구현 방법

사용자가 휴대폰의 잠금을 해제하면 일부 앱 아이콘의 오른쪽 상단 모서리에 빨간색 타원형 또는 원이 표시되는 경우가 많습니다. 이 빨간색 개체를 앱 아이콘 배지라고 하며 그 안의 숫자를 배지 수라고 합니다. 앱 아이콘 배지는 사용자에게 앱에 읽지 않은 메시지가 몇 개 있는지 직관적으로 알려주므로 사용자에게 긴박감을 주고 메시지를 읽으려면 앱 아이콘을 탭하도록 권장합니다. 적절하게 사용하면 아이콘 배지는 인앱 메시지의 탭률을 개선하여 앱의 사용자 충성도를 개선하는 데 도움이 될 수 있습니다.



HMS Core Push Kit 앱 아이콘 배지를 구성하기 위한 API를 제공하고 개발자가 푸시된 메시지에 배지 매개변수를 캡슐화할 수 있도록 합니다. 그렇다면 앱 아이콘 배지를 구현하려면 어떻게 해야 할까요? 자세한 절차는 다음과 같습니다.

I. 클라이언트 API를 사용하여 앱 아이콘 배지 설정



지원되는 플랫폼:


  • OS 버전: EMUI 4.1 이상
  • 화웨이 홈 버전: 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에서 예외가 발생합니다. 개발자는 API가 호출되는 위치에 try … catch(Exception e) 문을 추가하여 앱 충돌을 방지할 수 있습니다.

    II. 푸시 SDK를 사용하여 앱 아이콘 배지 설정



    푸시킷의 다운링크 메시징 API에서 BadgeNotification의 세 가지 매개변수를 사용하여 배지 표시 여부와 배지에 표시되는 번호를 설정합니다.


    모수
    필수적인
    유형
    설명


    add_num

    정수
    1에서 99까지의 정수인 누적 배지 번호입니다. 예를 들어 앱에 현재 N개의 읽지 않은 메시지가 있습니다. 이 매개변수를 3으로 설정하면 이 매개변수가 포함된 메시지를 수신할 때마다 앱 배지에 표시되는 숫자가 3씩 증가합니다. 즉, 숫자는 N+3입니다.

    수업


    앱 패키지 이름 + 앱 항목 활동 형식의 클래스 이름입니다. 예: com.example.hmstest.MainActivity

    set_num

    정수
    배지 번호는 0부터 99까지의 정수입니다. 예를 들어 이 매개변수를 10으로 설정하면 앱 배지에 표시되는 숫자는 수신 메시지 수에 관계없이 10입니다. set_num과 add_num을 모두 설정하면 set_num의 값이 사용됩니다.


    이러한 매개변수를 설정할 때 다음 사항에 주의하십시오.


  • 클래스 값은 앱 패키지 이름+앱 항목 활동 형식이어야 합니다. 그렇지 않으면 배지를 표시할 수 없습니다.
  • add_num 매개변수를 사용하려면 EMUI 버전이 8.0.0 이상이고 푸시 서비스 버전이 8.0.0 이상이어야 합니다.
  • set_num 매개변수를 사용하려면 EMUI 버전이 10.0.0 이상이고 푸시 서비스 버전이 10.1.0 이상이어야 합니다.
  • 기본적으로 배지 번호는 사용자가 앱을 시작하거나 알림 메시지를 탭하고 지울 때 지워지지 않습니다. 앱에서 배지 번호를 지우려면 앱 개발자가 해당 배지 개발 가이드에 따라 개발을 수행해야 합니다.
  • class 매개변수는 필수이며 add_num 및 set_num 매개변수는 선택사항입니다.
    add_num과 set_num이 모두 비어 있으면 기본적으로 배지 번호가 1씩 증가합니다.
  • 좋은 웹페이지 즐겨찾기