我们可以使用 Firebase 的 UID 而不是注册令牌在 android 中发送通知吗?
Can we send notifications in android using Firebase's UID instead of registration token?
我的单个 firebase 项目中有两个 android 应用程序。那个项目属于车联网。一个应用程序适用于 driver,另一个应用程序适用于乘客。因此,每当乘客请求乘车时,都需要将请求通知 driver。那么有什么方法可以使用 firebase UID 而不是 FCM 注册令牌向 driver 发送通知。
我想知道注册令牌是否会针对特定用户修复,还是会 refresh/change 随着时间的推移。
是的,您可以,使用它来将 UID 注册为主题:
FirebaseMessaging.getInstance()
.subscribeToTopic(appUser.getUid());
现在发送通知的时候,可以使用这个话题来发送通知。给特定用户。
Token不定时刷新,您定义的主题不会改变。每个定义了主题的设备都会收到通知。
NOTE:
Registering too many topics will raise
messaging/too-many-topics
error. Details here. Hence, token
registration in the preferred way.
获取并跟踪令牌:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
// Save the new token here in a place from where you want to fetch it and send notification
Log.e("NEW_TOKEN",s);
}
}
答案是No
。 FCM 令牌是设备生成的令牌,它是在
时生成的
- 应用已安装
- 应用程序数据已清除
和 UID
是从特定用户帐户生成的唯一标识。两者互不相关。
根据您的问题,您需要将令牌存储到 UID,然后使用它来发送通知。或者您可以为单独的用户组使用订阅令牌。这是我看到的唯一选择。
我的单个 firebase 项目中有两个 android 应用程序。那个项目属于车联网。一个应用程序适用于 driver,另一个应用程序适用于乘客。因此,每当乘客请求乘车时,都需要将请求通知 driver。那么有什么方法可以使用 firebase UID 而不是 FCM 注册令牌向 driver 发送通知。
我想知道注册令牌是否会针对特定用户修复,还是会 refresh/change 随着时间的推移。
是的,您可以,使用它来将 UID 注册为主题:
FirebaseMessaging.getInstance()
.subscribeToTopic(appUser.getUid());
现在发送通知的时候,可以使用这个话题来发送通知。给特定用户。
Token不定时刷新,您定义的主题不会改变。每个定义了主题的设备都会收到通知。
NOTE:
Registering too many topics will raise
messaging/too-many-topics
error. Details here. Hence, token registration in the preferred way.
获取并跟踪令牌:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
// Save the new token here in a place from where you want to fetch it and send notification
Log.e("NEW_TOKEN",s);
}
}
答案是No
。 FCM 令牌是设备生成的令牌,它是在
- 应用已安装
- 应用程序数据已清除
和 UID
是从特定用户帐户生成的唯一标识。两者互不相关。
根据您的问题,您需要将令牌存储到 UID,然后使用它来发送通知。或者您可以为单独的用户组使用订阅令牌。这是我看到的唯一选择。