카테고리 없음

Android Push Background Data 사용 Tip

85chong 2019. 12. 13. 17:39
728x90
반응형
SMALL

(이미 Messaging 셋팅이 완료된 상태로 가정함)

 

{ 
  "to": "(FCM 토큰)", 
   "notification":{ 
       "title" : "타이틀" 
       "body" : "바디"

       "android_channel_id" : "(Mesassing 세팅시 지정했던 chanel_id)"
       "click_action" : "(클릭액션 action name =".MainActivity")" 
   }, 
   "data": { 
       "title":"타이틀이다.", 
       "message":"메쎄지다.", 
   } 
} 

 

* 앱 외부는 notification 만 받고, 

* 앱 내부에서는 notification , data 다 받음

 

 

(oreo 이상 부터는 android_channel_id가 정확하게 사용이 된다. 이게 안맞으면 푸시올때 절대! 헤드업 안뜬다)

앱 외부에서 notification 있을때 : 헤드업 됨, 클릭액션 가능

앱 외부에서 notification 없을때 : 헤드업 됨 , 클릭액션 불가능

 

 

 

* 앱 외부에서 들어온 값은 notification에 담겨져 온다. 이때 이 값들을 제어 할수있는 방법은 없고, AndroidManifest.xml 에서 action name 값으로 별도의 Activity 를 지정해주고, 해당 Activitiy 안에서 값들을 받아와서 사용 할 수 있다.

 

* 위와 같은 push 가 내려온다 가정했을때, 앱 외부에서 푸시를 클릭하면 MainActivity 로 이동하게 된다. 

이때 MainActivity 에서 받는 방법은 

 

위의 get_value 값은 "타이틀이다" 가 들어오게 된다. 

받아올때에는 제일 대가리에 있는 data 의 key 값은 이미 들어온 상태이고, 그 안의 key 값을 이용해서

값을 가져와야 한다.

public class MainActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstatnceState){
               Bundle bundle = getIntent( ).getExtras( );
               if(bundle!=null){
                   String get_value =  bundle.getString("title"); 
               }
        }
}

 

 

<Android Push 절대적 명령어>

매개변수사용량설명

title 선택사항, 문자열

알림의 제목입니다.

body 선택사항, 문자열

알림의 본문입니다.

android_channel_id 선택사항, 문자열

Android O에서 새로 추가된 알림의 채널 ID입니다.

이 채널 ID가 있는 알림을 받으려면 앱에서 이 채널 ID로 채널을 만들어야 합니다.

요청에서 이 채널 ID를 보내지 않거나 제공된 채널 ID가 앱에서 아직 만들어지지 않은 경우 FCM은 앱 매니페스트에 지정된 채널 ID를 사용합니다.

icon 선택사항, 문자열

알림 아이콘입니다.

드로어블 리소스 myicon에 대한 알림 아이콘을 myicon으로 설정합니다. 요청에서 이 키를 전송하지 않으면 FCM은 앱 매니페스트에 지정된 런처 아이콘을 표시합니다.

sound 선택사항, 문자열

기기가 알림을 수신하면 재생할 알림음입니다.

"default" 또는 앱에 번들로 포함된 사운드 리소스의 파일 이름을 지원합니다. 사운드 파일은 /res/raw/에 있어야 합니다.

tag 선택사항, 문자열

알림 창에서 기존 알림을 대체하는 데 사용되는 식별자입니다.

지정하지 않으면 각 요청이 새 알림을 만듭니다.

지정하면 태그가 동일한 알림이 이미 표시되고 있는 경우 새 알림이 알림 창의 기존 알림을 대체합니다.

color 선택사항, 문자열

#rrggbb 형식으로 표현한 알림 아이콘 색상입니다.

click_action 선택사항, 문자열

사용자의 알림 클릭과 관련된 작업입니다.

지정하면 사용자가 알림을 클릭할 때 일치하는 인텐트 필터가 있는 활동이 실행됩니다.

body_loc_key 선택사항, 문자열

앱의 문자열 리소스에서 본문을 사용자의 현재 지역으로 현지화하는 데 사용할 본문 문자열의 키입니다.

자세한 내용은 문자열 리소스를 참조하세요.

body_loc_args 선택사항, 문자열인 JSON 배열

본문을 사용자의 현재 지역으로 현지화하는 데 사용할 body_loc_key의 형식 지정자 대신 사용될 변수 문자열 값입니다.

자세한 내용은 형식 및 스타일 지정을 참조하세요.

title_loc_key 선택사항, 문자열

앱의 문자열 리소스에서 제목을 사용자의 현재 지역으로 현지화하는 데 사용할 제목 문자열의 키입니다.

자세한 내용은 문자열 리소스를 참조하세요.

title_loc_args 선택사항, 문자열인 JSON 배열

제목을 사용자의 현재 지역으로 현지화하는 데 사용하기 위해 title_loc_key의 형식 지정자 대신 사용할 변수 문자열 값입니다.

자세한 내용은 형식 및 스타일 지정을 참조하세요.