앱 삭제 트래킹 설정하기 - 안드로이드 SDK

에어브릿지는 앱 이벤트를 최근 6개월 동안 1번이라도 트래킹한 유저를 대상으로 사일런트 푸시를 매일 KST(한국표준시간) 0시~1시 사이에 보내서 앱 삭제 여부를 확인합니다. 앱 삭제 이벤트는 에어브릿지 리포트와 로우 데이터 등으로 확인할 수 있습니다.

파이어베이스 클라우드 메시징(FCM)을 사용해 안드로이드 환경에서 발생한 앱 삭제를 트래킹합니다.

알립니다

에어브릿지 안드로이드 SDK가 v2.6.0 이상이어야 합니다.

인증 정보 입력하기

파이어베이스 인증 정보를 에어브릿지 대시보드에 입력하면 안드로이드 환경에서 발생한 앱 삭제를 트래킹할 수 있습니다.

구글 클라우드 콘솔에서 커스텀 역할 만들기

아래 순서에 따라 안드로이드 앱 삭제 트래킹에 필요한 구글 클라우드 IAM 커스텀 역할을 만들어 주세요.

1. 구글 클라우드 콘솔에 로그인합니다. 드롭다운 목록에서 커스텀 역할을 만드는 프로젝트를 선택합니다.

2. [IAM 및 관리자]>[역할]로 이동합니다. ‘역할 만들기’를 클릭합니다.

3. 역할의 제목, ID, 역할 실행 단계를 아래와 같이 설정합니다.

  • 제목: Airbridge Uninstalls

  • ID: abr_uninstalls

  • 역할 실행 단계: 일반 안정화 버전

4. ‘권한 추가’를 클릭합니다.

5. ‘속성 이름 또는 값 입력’을 클릭합니다. cloudmessaging.messages.create를 검색하고 선택합니다. 체크박스를 클릭하고 ‘추가’를 클릭합니다.

6. ‘만들기’를 클릭하면 커스텀 역할이 만들어집니다.

구글 클라우드 콘솔에서 서비스 계정 만들기

아래 순서에 따라 비공개 키를 생성하는 서비스 계정을 만들어 주세요.

1. [IAM 및 관리자]>[서비스 계정]으로 이동합니다. ‘서비스 계정 만들기’를 클릭합니다.

2. 서비스 계정 이름을 ABR Uninstall Service Account로 설정합니다. ‘만들고 계속하기’를 클릭합니다.

3. ‘역할 선택’ 드롭다운 목록에서 Airbridge Uninstalls를 검색하고 선택합니다. ‘계속’을 클릭합니다.

4. ‘완료’를 클릭하면 서비스 계정이 만들어집니다.

구글 클라우드 콘솔에서 비공개 키 파일 생성하기

아래 순서에 따라 인증 정보가 포함된 비공개 키 파일을 생성해 주세요.

1. [IAM 및 관리자]>[서비스 계정]으로 이동합니다. 서비스 계정 목록에서 이름이 ABR Uninstall Service Account인 서비스 계정의 이메일을 클릭합니다.

2. [키] 탭을 선택합니다. ‘키 추가’를 클릭하고 ‘새 키 만들기’를 선택합니다.

3. 키 유형을 JSON으로 선택하고 ‘만들기’를 클릭하면 비공개 키가 포함된 JSON 파일이 다운로드됩니다. JSON 파일을 안전한 위치에 저장합니다.

에어브릿지에서 인증 정보 입력하기

아래 순서에 따라 인증 정보를 입력해 주세요.

1. 에어브릿지 대시보드 [Settings]>[Uninstall Tracking]로 이동합니다.

2. [안드로이드] 탭에 구글 클라우드 콘솔에서 다운로드한 JSON 파일을 업로드합니다.

3. 파일을 드롭하거나 클릭으로 파일을 선택할 수 있습니다.

사일런트 푸시 테스트하기

사일런트 푸시 테스트로 사일런트 푸시가 디바이스에 정상적으로 전송되는지 확인할 수 있습니다. 테스트를 진행하기 위해서는 ‘사일런트 푸시 테스트’를 클릭하고 테스트 디바이스의 FCM 등록 토큰을 입력해야 합니다. FCM 등록 토큰을 확인하는 방법은 파이어베이스 가이드를 참고해 주세요.

사일런트 푸시가 디바이스에 정상적으로 전송되면 앱을 설치한 디바이스에 대해 성공 메시지를 확인할 수 있습니다. 또는 앱을 삭제한 디바이스에 대해 404 에러 코드를 확인할 수 있습니다.

안드로이드 환경의 사일런트 푸시 테스트로 확인할 수 있는 주요 에러 코드는 아래와 같습니다. 에러 코드에 관한 자세한 내용은 파이어베이스 가이드를 참고해 주세요.

사일런트 푸시 테스트는 에어브릿지에서 확인할 수 있는 앱 삭제 이벤트 수치에 어떠한 영향도 주지 않습니다. 따라서 사일런트 푸시 테스트로는 에어브릿지 리포트 또는 로우 데이터 추출에서 앱 삭제 이벤트 발생 여부를 확인할 수 없습니다.

에어브릿지 SDK 설정하기

앱 삭제를 트래킹하기 위해서는 에어브릿지 SDK 설정을 완료해야 합니다. AndroidManifest.xml 에 아래처럼 추가해 주세요

1234567
<service
    android:name="${packageName}.MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

파이어베이스 클라우드 메시징(Firebase Cloud Messaging, FCM)에서 생성된 푸시 토큰(push token)을 에어브릿지 SDK를 통해 전달합니다.

1234567891011
class MyFirebaseMessagingService : FirebaseMessagingService() {

    override fun onMessageReceived(remoteMessage: RemoteMessage) {
        super.onMessageReceived(remoteMessage)
    }

    override fun onNewToken(token: String) {
        super.onNewToken(token)
        Airbridge.registerPushToken(token)
    }
}

이미 파이어베이스 클라우드 메시징에서 푸시 토큰이 발급됐을 수 있습니다. 아래 설정을 추가해 기존 푸시 토큰도 함께 전달해 주세요.

12345678910111213
class MyApplication : Application() {

    override fun onCreate() {
        super.onCreate()
        ...
        FirebaseMessaging.getInstance()
            .token
            .addOnSuccessListener {
                Airbridge.registerPushToken(it)
            }
        ...
    }
}

주의하세요

반드시 해당 함수가 Airbridge SDK의 초기화 작업 이후에 호출 될 수 있도록 작성해 주세요.

사일런트 푸시로 별도 데이터 없이 사일런트 알림이 전송됩니다. 하지만 파이어베이스 클라우드 메시징의 onMessageReceived 구현에 따라 사일런트 푸시의 알림이 유저에게 노출될 수 있습니다. 아래 예외 처리를 추가하면 사일런트 푸시가 유저에게 노출되지 않습니다.

12345678910111213141516
class MyFirebaseMessagingService : FirebaseMessagingService() {

    override fun onMessageReceived(remoteMessage: RemoteMessage) {
        super.onMessageReceived(remoteMessage)
        if (remoteMessage.data.containsKey("airbridge-uninstall-tracking")) {
            return
        } else {
                // handleNotification(remoteMessage) 
        }
    }

    override fun onNewToken(token: String) {
        super.onNewToken(token)
        Airbridge.registerPushToken(token)
    }
}

앱 삭제 트래킹 시작하기

에어브릿지 대시보드에 인증 정보를 입력하고 에어브릿지 SDK 설정을 마치면 앱 삭제 트래킹 토글을 활성화할 수 있습니다. 토글을 활성화하면 앱 삭제 트래킹이 시작됩니다.

앱 삭제에 관한 자세한 내용은 에어브릿지 가이드에서 확인해 주세요.

도움이 되었나요?

더 필요한 내용이 있나요?