提示
卸载追踪在 Airbridge Android SDK 2.6.0 及以上版本可用。
Attention
为了使用Uninstall Tracking Feature,必须使用Firebase和Firebase Cloud Messaging。
Airbridge通过Google的Firebase Messaging Service针对最近6个月内注册的设备进行应用程序是否已安装测量。
应用卸载检测数据将通过Actuals Report、Raw Data Export接入等方式提供给客户。
转到Firebase Console页面,按上图所示创建相应应用程序的项目。
Firebase Console 페이지로 이동하여 상단의 화면과 같이 해당 앱의 프로젝트를 생성합니다.
转到先前创建的项目,再转到左侧面板的项目设置页面,就可以在上图所示的位置查看服务器密钥。
请参考Firebase Cloud Messaging官方文档完成应用程序的基本设置。
请在AndroidManifest.xml
中添加以下内容。
<service
android:name="${packageName}.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
请把Firebase Cloud Messaging设置生成的Push Token
通过Airbridge SDK按照如下方式传递给Airbridge。
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
super.onMessageReceived(remoteMessage)
}
override fun onNewToken(token: String) {
super.onNewToken(token)
Airbridge.registerPushToken(token)
}
}
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}
@Override
public void onNewToken(String token) {
super.onNewToken(token);
Airbridge.registerPushToken(token);
}
}
之前可能已经通过Firebase Cloud Messaging Service发放了Push Token
。
请添加如下设置,以便把先前创建的Push Token
也传递给Airbridge。
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
...
FirebaseMessaging.getInstance()
.token
.addOnSuccessListener {
Airbridge.registerPushToken(it)
}
...
}
}
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseMessaging.getInstance()
.getToken()
.addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String token) {
Airbridge.registerPushToken(token);
}
});
}
}
注意
请确保在 Airbridge SDK 初始化操作之后调用此函数。
应用卸载通知作为无声(Slient)通知发送,但根据Firebase Messaging Service的onMessageReceived
实现,该通知也可能显示给用户。
通过添加以下处理,确保应用卸载通知在用户端不可见。
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)
}
}
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (remoteMessage.getData().containsKey("airbridge-uninstall-tracking")) {
return;
} else {
// handleNotification(remoteMessage);
}
}
@Override
public void onNewToken(String token) {
super.onNewToken(token);
Airbridge.registerPushToken(token);
}
}
Morpheus Push SDK Troubleshooting guide: 预计以后提供。
Was this page helpful?