Flutter SDK Uninstall tracking 설정가이드
개요
에어브릿지는 앱 이벤트를 최근 6개월 동안 1번이라도 트래킹한 유저를 대상으로 사일런트 푸시를 매일 KST(한국표준시) 0시~1시 사이에 보내서 앱 삭제 여부를 확인합니다.
Fluttter SDK 사용시 Firebase_messaging 을 사용한 uninstall tracking 설정을 위해 가이드를 제공합니다.
앱 삭제 추적 설정은 Airbridge Flutter SDK v3.0.2 이후 버전 부터 사용 가능합니다.
- Airbridge Android SDK v2.6.0
- Airbridge iOS SDK v1.28.2
Firebase console 설정
- Firebase console 에서 프로젝트 설정 > 클라우드 메세징 에 APN 인증키(.p8) 를 등록합니다.
- 프로젝트 설정 > 일반
- google-services.json 를 android/app 에 copy
- GoogleService-Info.plist 를 ios/Runner 에 copy
Airbridge 대시보드 설정
- Settings > Uninstall tracking 에 정보를 입력합니다.
- android
- 서버 키
- 발신자 ID
- iOS
- APNs 인증키
- Key ID
- Bundle ID
- Team ID (App ID Prefix)
- android
Code snippet
Firebase 를 먼저 초기화 시킨 후 platform 별로 token 을 받아서 Airbridge.registerPushToken 을 통해 Airbridge 에 push token 을 등록 한다.
void main() {
WidgetsFlutterBinding.ensureInitialized();
init();
runApp(App());
}
Future<void> init() async {
await Firebase.initializeApp();
String? token;
if (defaultTargetPlatform == TargetPlatform.iOS) {
await FirebaseMessaging.instance.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true,
);
token = await FirebaseMessaging.instance.getAPNSToken();
} else {
token = await FirebaseMessaging.instance.getToken();
}
if (token != null) {
Airbridge.registerPushToken(token);
}
}
Push 를 받아서 처리하는 쪽에 아래와 같은 코드를 추가 하여 uninstall-tracking silent push 일 경우 무시할 수 있도록 처리한다.
Future<void> _firebaseMessagingHandler(RemoteMessage message) async {
if(message.data.containsKey("airbridge-uninstall-tracking")) {
// ignored uninstall-tracking silent push message
} else {
// TODO: code here
}
}