java - 我们可以使用 Firebase 的 UID 而不是注册 token 在 android 中发送通知吗?

标签 java android firebase firebase-cloud-messaging android-notifications

我的单个 firebase 项目中有两个 android 应用程序。那个项目属于车联网。一个应用程序供司机使用,另一个应用程序供乘客使用。因此,无论何时乘客请求乘车,都需要将请求通知司机。那么有什么方法可以使用 firebase UID 而不是 FCM 注册 token 向驱动程序发送通知。

我想知道注册 token 是针对特定用户固定的还是会随着时间刷新/更改。

最佳答案

是的,您可以,使用它来将 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.

获取和跟踪 token :

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);
    }
}

关于java - 我们可以使用 Firebase 的 UID 而不是注册 token 在 android 中发送通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57567560/

相关文章:

Android: DateUtils.formatDateTime 改变日期和时间顺序

ios - Firebase,离开我的调试器控制台

java - mockito 和 jetty-client : receiving NullPointerException when start() and stop() methods are invoked

java - 无法使用 static var 在 java 线程中获得预期输出

java - 如何提高 Graphics2D 中的图像旋转质量?

mysql - Firebase token 结构和存储

javascript - 在 firebase 上使用 Dialogflow Fulfillment Library v2 结束对话?

java - 当条件引用嵌入属性时无法解析属性

android - 从 View 中获取上下文是安全的

java - Codenameone构建服务器报错java.lang.NullPointerException