본문 바로가기
Android 개발/Android

Notification Channel (알림 채널) 생성해서 적용하는 방법

by Developer88 2019. 6. 12.
반응형

안드로이드 Oreo (API26 , Android8.0) 버전부터는 노티채널을 만들어 주어야 하는데요.

채널을 만드는 것부터 하나씩 보도록 하겠습니다.

1. Notification Channel

노티피케이션 채널은 노티를 할 때마다 만들어야 하는 것은 아니구요.

앱에서 한번만 생성하면 되므로,

android.app.Application을 상속받은 Applicaiton.class에서 하도록 하였습니다.

 

코드를 보면서 정리해 보겠습니다.

NotificationChannel을 생성할 때는 다음의 사항들을 인자로 넣어주어야 합니다.

  • id: 임의의 채널 id
  • name: 알람 이름
  • importance level:  알람의 중요도

 

id와 이름은 임의의 문자로 정해주면 되지만,

importance level은 정해진 상수를 사용해야 하는데요.

NotificationManager.IMPORTANCE_HIGH 가 가장 긴급하고 중요함을 의미합니다.

 

 

한가지 주의할 것은 Notification Channel을 생성해서 사용할 때는,

Oreo버전이상인지 확인하는 조건문으로 반드시 감싸주어야 한다는 점 입니다.

Notification Channel 객체는 서포트 라이브러리에 들어있지 않기 때문입니다.

 

 

 

노티를 알릴때에, 아래와 같이 빛이라든가 진동이 되도록 설정해 줄 수 있습니다.

주의할 점은 이러한 설정은 한번 해 놓으면, 이후에는 앱에서 바꿀수 없구요.

유저만이 이것을 키거나 끌 수 있습니다.

 

 

2. 채널 적용하기

위에서 생성한 채널은, 노티피케이션을 생성해 사용할 때 적용해 주어야 하는데요.

notification 을 생성할 때,

channel id를 두번째 인자로 주지 않으면, deprecated되었다고 줄이 그어지는 것을 볼 수 있습니다.

아래와 같이, 인자로 위에서 채널을 생성할 때 만든 id와 같은 id를 넣어줍니다.

 

 

이렇게 하면 노티채널을 생성하고, 알림시에 그 채널을 이용할 수 있습니다.

 

3. 정리

그렇게 많은 공수가 들어가는 작업은 아니지만,

Oreo버전 이후부터는 채널을 생성하지 않으면,

알람을 받을 수 없으므로 잊지말고 꼭 해야하겠습니다.

특히, 개발시에 낮은 버전의 폰으로 작업하시는 분들도 많이 있으실 텐데요.

꼭 노티채널을 생성하고 안드로이드 높은 버전의 폰으로 테스트해 볼 필요가 있을 것 같습니다.

 

728x90

댓글