Marketap Android SDK는 Jitpack을 통해 배포되고 있습니다. React Native 프로젝트의 android 디렉토리 최상단 build.gradle 파일에 아래 repository를 추가해주세요.
이어서, AndroidManifest.xml 파일에 아래 권한들을 추가합니다. 각각 푸시 발송, 이벤트 및 유저정보 수집을 목적으로 합니다.
3.1 푸시 연동
Marketap은 안드로이드 푸시를 지원하기 위해서 Firebase Cloud Messaging을 사용하고 있습니다. 따라서 Flutter 프로젝트의 안드로이드 의존성에 Firebase가 추가되어야 합니다. 자세한 내용은 구글의 가이드 문서를 참고해주세요.
푸시를 수신하기 위해서는 FirebaseMessagingService 설정이 필요합니다.
Marketap은 FCM 기반 푸시 메시지를 수신하고 클릭을 처리하기 위한 전용 서비스를 제공합니다. MarketapFirebaseMessagingService 클래스를 AndroidManifest.xml 파일에 등록해 주세요.
이미 앱에서 FirebaseMessagingService를 사용 중이라면, Marketap에서 제공하는 MarketapFirebaseMessagingService.handleMarketapRemoteMessage() 메서드를 통해 Marketap 푸시만 안전하게 처리할 수 있습니다.
4. 클릭 액션 커스텀하기 (선택)
푸시 캠페인에 클릭 액션 URL이 설정되어 있는 경우, 마켓탭 SDK는 OS별 기본 동작으로 URL을 처리합니다.
target 'Runner' do
...
# 추가한 NotificationServiceExtension 타겟 이름을 넣어주세요.
target 'DummyNotificationServiceExtension' do
inherit! :search_paths
pod 'MarketapSDKNotificationServiceExtension', '1.0.9'
end
end
// Kotlin 예시
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
super.onMessageReceived(remoteMessage)
if (MarketapFirebaseMessagingService.handleMarketapRemoteMessage(this, remoteMessage)) {
// Marketap 메시지를 처리했습니다.
// 추가 처리는 필요하지 않습니다.
} else {
// Marketap 메시지가 아닙니다.
// 다른 푸시 핸들러가 있다면 이 메시지를 전달하세요.
}
}
}
// Java 예시
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (MarketapFirebaseMessagingService.handleMarketapRemoteMessage(this, remoteMessage)) {
// Marketap 메시지를 처리했습니다.
// 추가 처리는 필요하지 않습니다.
} else {
// Marketap 메시지가 아닙니다.
// 다른 푸시 핸들러가 있다면 이 메시지를 전달하세요.
}
}
}