我正在我的 Android 应用程序中实现推送通知。我们正在使用 OneSignal 发送推送通知。我们有一个 API 可以跟踪所有设备,API 决定哪些设备发送推送通知。
API 请求 OneSignal 和 OneSignal 向设备发送通知。
从 Android 中,我使用保存在 API 上的以下代码获取设备令牌,并使用它来发送推送通知。
public String getGCMTokenForPushNotification(){
String token = "";
try {
InstanceID instanceID = InstanceID.getInstance(this);
token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Log.i(TAG, "GCM Registration Token: " + token);
return token;
}catch (Exception e) {
Log.d(TAG, "Failed to complete token refresh", e);
}
return token;
}
R.string.gcm_defaultSenderId 是在 Firebase 控制台上注册 Android 应用程序时的 SENDER ID。
到目前为止,我已经在 Android 应用程序上设置了 OneSignal,使用
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OneSignal.startInit(this)
.setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
.init();
}
https://documentation.onesignal.com/docs/android-sdk-setup
如果 API 决定并在 onesignal 上初始化设备并发送推送通知。我认为我不需要在 android 应用上设置 OneSignal。是对的吗?如果我从 android 应用程序中删除 OneSignal。我应该用什么来处理通过的通知。
背后的原因是,到目前为止,我们正在使用 OneSignal,并且将来如果我们更改提供程序,我们不必在应用程序端做任何事情。
请问有什么通用的方法来处理android上的通知。
感谢您的帮助。R