애드브릭스 그로스액션 (Growth Action) 연동하기 [Android - Kotlin]
팔로우
시작하기 전에
애드브릭스 그로스 액션 기능을 연동하기 위해서는 adbrix 기본 SDK와 Firebase Cloud Messaging SDK (이하 FCM) 연동이 필요합니다.
adbrix 기본 SDK 는 최소 연동 단계까지 완료해야 그로스액션 연동이 가능합니다.
- adbrix 기본 SDK - 애드브릭스 Android 연동하기 [Kotlin]
- FCM SDK - Android에서 Firebase 클라우드 메시징 클라이언트 앱 설정
[[인용:안내:보통]] 그로스 액션을 사용하기 위하여
_ 애드브릭스 그로스 액션은 타게팅&시나리오 기반 푸시 발송 기능을 제공합니다. [자세히 보기]
_ 그로스액션을 이용하기 위해서는 애드브릭스 유료플랜 이용이 필요합니다. [이용 문의하기]
그로스 액션 기본 설정
Firebase Server Key, Sender ID 등록
adbrix 그로스 액션 이용을 위해서는 adbrix 콘솔에 Firebase Server Key / Sender ID 를 등록해야 합니다.
Firebase Server Key / Server ID 는 Firebase 콘솔 -> 설정 -> 클라우드 메시징 에서 확인하실 수 있습니다.
a. Firebase 콘솔에서 Firebase Server Key, Sender ID 를 확인합니다.
b. adbrix 콘솔의 Growth Action - Settings 메뉴에 확인한 키값을 입력합니다.
AndroidManifest.xml 수정
AndroidManifest.xml 에 아래 리시버를 등록합니다.
<receiver android:name="com.igaworks.v2.core.push.notification.AbxPushReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE"/> <action android:name="com.igaworks.v2.core.pushServiceImplement.CLIENT_PUSH_RECEIVE"/> </intent-filter> </receiver>
Token 값 설정
adbrix에 Firebase 의 Token 값을 설정하기 위해서는 FirebaseMessagingService 에 아래와 같이 Token 값을 추가합니다.
class MyFirebaseMessagingService : FirebaseMessagingService(){ override fun onNewToken(token: String?) { Log.d(TAG, "Refreshed token: $token") // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the // Instance ID token to your app server. // Send token data to Adbrix AdBrixRm.setRegistrationId(token) } }
Push on / off
adbrix 그로스액션 서비스를 이용하기 위해서는 반드시 연동해야하는 필수 API 입니다. 이 API 로 푸시 서비스를 관리할 수 있습니다.
AdBrixRm.setPushEnable(true) // Push On AdBrixRm.setPushEnable(false) // Push Off
[[인용:경고:보통]]기본 설정값 확인
애드브릭스의 기본 설정값은 'Push off' 입니다.
따라서 그로스 액션 연동 완료 후 사용자들에게 푸시 수신 동의를 받은 후 Push On API 를 호출해야 합니다.
기존에 푸시 수신 동의를 받은 사용자들 역시 푸시 수신을 위해서 Push On API 를 호출해야 합니다.
[[인용:안내:보통]] 축하합니다~!
애드브릭스 그로스액션 서비스를 위한 기본 연동이 완료되었습니다.
이후부터 서버 푸시 수신이 가능하며, 로컬 푸시 및 기타 푸시 메시지 옵션 설정을 위해서는 계속 연동을 진행해 주시길 바랍니다.
그로스 액션 서비스 추가 설정
푸시 아이콘 및 색상 설정
푸시 수신시 노출되는 아이콘 및 앱 이름의 색상을 설정합니다.
AdBrixRm.setPushIconStyle(this,"smallicon","largeicon",Color.argb(1,255,0,0)) //Using Color class ARGB AdBrixRm.setPushIconStyle(this,"smallicon","largeicon",AdBrixRm.PushColor.Yellow) // Using AdBrixRm class
이렇게 설정된 푸시 아이콘은 아래와 같이 노출 됩니다.
[[인용:위험:보통]]주의사항
1) 이미지 파일 이름은 확장자를 뺀 이름만 입력합니다.
2) 모든 해상도의 Drawable 폴더에 해당 이름의 이미지를 모두 추가해야 합니다.
3) 서버 푸시에서 largeIcon 을 설정하였다면 해당 아이콘이 우선적으로 노출됩니다.
4) ARGB 설정은 앱 이름의 색상을 변경합니다.
5) ARGB는 Color 클래스의 ARGB 형식을 지원합니다.
6) ARGB는 AdbrixRm 클래스에 정의된 PushColor 형식을 지원합니다.
푸시 알림 설정
푸시 알림의 노출 정도를 설정합니다.
AdBrixRm.setNotificationOption(this,NotificationCompat.PRIORITY_MIN,NotificationCompat.VISIBILITY_SECRET)
헤드업 알림 설정 (PRIORITY)
- PRIORITY_MAX : 헤드업 알림 사용
- PRIORITY_HIGH : 헤드업 알림 사용
- PRIORITY_DEFAULT : 헤드업 알림을 사용하지 않음
- PRIORITY_LOW : 헤드업 알림을 사용하지 않음
- PRIORITY_MIN : 헤드업 알림을 사용하지 않음
잠금화면 알림 설정 (VISIBILITY)
- VISIBILITY_SECRET : 잠금화면 알림을 사용하지 않음
- VISIBILITY_PRIVATE : 잠금화면 알림은 표시되나, 내용은 표시되지 않음
- VISIBILITY_PUBLIC : 전체 내용을 잠금화면에 표시
푸시 알림 리스너
로컬 / 서버 푸시에 대한 리스너를 설정합니다.
class MyApplication: Application(), AdBrixRm.onTouchRemotePushListener,AdBrixRm.onTouchLocalPushListener{ override fun onCreate() { super.onCreate() AdBrixRm.setRemotePushMessageListener(this) // Server Push AdBrixRm.setLocalPushMessageListener(this) // Local Push } // Local Push Listener override fun onTouchLocalPush(onTouchLocalPushString: String?) { Log.d("my_tag", "onReceiveLocakPushmessage" + onTouchLocalPushString) } // Remote Push Listener override fun onTouchRemotePush(onTouchRemotePushString: String?) { Log.d("my_tag", "onReceiveRemotePushMessage" + onTouchRemotePushString) } }
[[인용:위험:보통]]주의사항
푸시 리스너는 Application Class 에 추가하는 것을 권장합니다.
해당 리스너는 푸시를 클릭했을 때 동작하며 클릭시 아래의 정보를 전달합니다.
- 로컬 푸시 : 푸시에 설정된 모든 정보
- 서버 푸시 : 푸시에 설정된 딥링크
[[인용:위험:보통]]주의사항
서버푸시 리스너 (onTouchRemotePush) 의 경우 푸시 설정시 단순 AppOpen 을 선택했을 경우 아무런 값을 전달하지 않습니다. 그러므로 이에 대한 예외처리를 부탁드립니다.
로컬 푸시 설정
텍스트 푸시
텍스트로 이루어진 로컬 푸시를 설정 합니다.
val bigTextPushMessageProperties = AdBrixRm.BigTextPushProperties() .setTitle("PushTest") .setContentText("This is ContentText") .setBigContentTitle("BigContentTitle") .setSummaryText("Summary Text") .setBigText("This is big Text.This is big Text.This is big Text.This is big Text.This is big Text.") .setSecond(5) .setEventId(12345) .setDeepLinkUri("adbrixrm://main") AdBrixRm.setBigTextClientPushEvent(this,bigTextPushMessageProperties, true)
프로퍼티 값
- setSecond : n 초 후 푸시 노출 설정
- setEventId : 로컬 푸시 제어를 위한 이벤트 ID
- setDeeplinkUri : 푸시 클릭시 이동할 딥링크 주소
- bool alwaysShown : 앱이 동작 중일 때도 푸시를 노출 시킬지 여부
이미지 푸시
텍스트 + 이미지로 구성된 푸시 메시지를 설정합니다.
val bigPicturePushProperties = AdBrixRm.BigPicturePushProperties() .setTitle("ImagePushTest") .setContentText("This is ContentText") .setBigContentTitle("BigContentTitle") .setSummaryText("Summary Text") .setBigPictureUrl("http://myimage/image.png") .setResourceId(R.drawable.adbrix_image) .setSecond(10) .setEventId(67890) .setDeepLinkUri("adbrixrm://main") AdBrixRm.setBigPictureClientPushEvent(this,bigPicturePushProperties,true)
프로퍼티 값
- setBigPictureUrl
_ 푸시에 넣을 이미지 URL
_ setResourceId 가 동시에 설정되어 있다면 setResourceId의 이미지가 우선적으로 노출됩니다. - setResourceId
_ 푸시에 넣을 이미지 리소스 ID
_ setBigPictureUrl 이 동시에 설정되어 있다면 setResourceId의 이미지가 우선적으로 노출됩니다. - setSecond : n 초 후 푸시 노출 설정
- setEventId : 로컬 푸시 제어를 위한 이벤트 ID
- setDeeplinkUri : 푸시 클릭시 이동할 딥링크 주소
- bool alwaysShown : 앱이 동작 중일 때도 푸시를 노출 시킬지 여부
[[인용:경고:보통]] 이미지는 2:1 비율에 최대 1350x675 사이즈의 이미지 사용을 권장합니다.
로컬 푸시 제어
현재 설정된 로컬 푸시에 대한 관리 및 제어를 위해 사용합니다.
val localPushList = AdBrixRm.getPushEventList() // Current Local push List(JSON Array) AdBrixRm.cancelClientPushEvent(this,67890) // Cancel the Local Push with EventId 67890
- getPushEventList : 현재 예정된 로컬 푸시 리스트를 확인합니다. 리스트는 JSON Array 로 표시됩니다.
- cancelClientPushEvent : 해당 이벤트 ID 로 설정된 로컬 푸시의 전송을 취소합니다.
댓글
댓글 0개
댓글을 남기려면 로그인하세요.