그로스 액션 푸시 UI 직접 구성하기 [Android]
팔로우
시작하기
본 가이드는 그로스 액션 푸시 UI를 직접 구성하기 위한 내용을 안내합니다.
푸시 기본 연동 및 설정하기
푸시UI를 직접 구성하기 전에 푸시 전송을 위한 기본 연동 및 설정이 진행되어야 합니다.
아래의 가이드를 참고하여 기본 연동 및 설정을 진행해주세요.
[[인용:안내:보통]] 푸시UI를 직접 구성하지 않는다면!!!
푸시UI를 직접구성하지 않고 디파이너리가 제공하는 템플릿을 그대로 사용하기를 원하신다면 본 가이드가 아니라 위 링크의 가이드를 참고해주세요.
푸시 데이터 파싱하기
앱에 구성하신 푸시 리시버를 통해 수신한 푸시 페이로드를 SDK의 parsePushData API에 전달하여 모델링된 디파이너리 푸시 페이로드를 얻을 수 있습니다.
ParsePushData API
이 API는 전달된 페이로드를 검사하여 AdBrixRm.AbxRemotePushModel로 변환된 데이터를 리턴합니다.
아래의 샘플 코드는 파이어베이스의 푸시 수신 리시버 함수 안에서 ParsePushData API를 이용하여 그로스액션 푸시 페이로드를 얻는 것을 나타냅니다.
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
try {
AdBrixRm.AbxRemotePushModel pushModel = AdBrixRm.parsePushData(remoteMessage);
} catch (JSONException e) {
e.printStackTrace();
}
}
[[인용:안내:보통]] 참고해주세요!
API에 전달된 페이로드가 디파이너리의 푸시가 아닌 경우에는 JSON 예외가 발생합니다.
API에 전달된 페이로드 안의 번들 키가 abx:gf:fcm으로 시작하지 않을 경우, AbxRemotePushModel 안의 정보가 모두 비어서 넘어옵니다. 이에 JSONException이 발생하지 않았을 때, 최종 사용 시 pushModel의 내용을 반드시 확인하고 사용해 주시기 바랍니다.
푸시 페이로드 모델 정의
푸시 페이로드 모델의 항목은 다음과 같습니다.
항목 | 설명 | 비고 |
---|---|---|
title | 일반 푸시의 타이틀입니다. | |
body | 일반 푸시의 메시지 내용입니다. | |
bigTextTitle | 리치 푸시의 타이틀입니다. | |
bigTextBody | 리치 푸시의 메시지 내용입니다. | |
summaryText | 리치 푸시의 메시지 요약 내용입니다. | |
imageUrl | 리치 푸시의 이미지URL 입니다. | |
largeIconUrl | 리치 푸시의 라지 아이콘 이미지 URL입니다. | |
genWhileRun | 앱 실행 중 푸시 노출 여부입니다. | |
genVibe | 푸시 수신 시 진동 여부입니다. | |
genSound | 푸시 수신 시 사운드 재생 여부입니다. | |
campaignId | 그로스액션 푸시캠페인 아이디입니다. | |
campaignRevisionNo | 그로스 시나리오의 리비전 넘버입니다. | |
stepId | 그로스 시나리오의 스텝 아이디입니다. | |
cycleTime | 그로스 시나리오의 사이클 타임입니다. | |
deeplinkUrl | 푸시 캠페인에 설정된 딥링크URL 입니다. |
푸시 페이로드 모델 샘플
푸시 페이로드 모델 샘플 데이터입니다. 아래 데이터를 이용하여 미리 룩앤필을 구성해보실 수 있습니다.
AbxRemotePushModel{
title='default-title',
body='default-body',
bigTextTitle='123456789 123456789 123456789',
bigTextBody='<html><body><p>텍스트</p><p style="color:red;">빨강</p><p style="color:blue;">블루</p><p style="font-size:50px;">사이즈</p></body></html>',
summaryText='summaryText',
imageUrl='https://c.files.bbci.co.uk/12A9B/production/_111434467_gettyimages-1143489763.jpg',
largeIconUrl='Url',
campaignId='12345',
campaignRevisionNo=2,
stepId='b2',
cycleTime='2019092008',
deeplinkUrl='scheme://host?key=value'
}
푸시 오픈 이벤트 분석
푸시UI를 직접 구성하시는 경우에는 반드시 푸시 오픈 이벤트를 디파이너리로 전달하여야 합니다.
유저가 푸시를 클릭하는 시점에 아래와 같이 openPush API를 호출합니다.
try {
AdBrixRm.AbxRemotePushModel abxRemotePushModel = AdBrixRm.parsePushData(remoteMessage);
Log.d("logtag", abxRemotePushModel.toString());
AdBrixRm.openPush(abxRemotePushModel);
}
[[인용:위험:보통]] 주의하세요!!!
openPush API를 적절하게 연동하지 않은 경우에, 푸시 오픈률 등의 리포팅을 확인하지 못할 수 있습니다.