java - 如何在 java Firestore 聊天应用程序中发送 Multible FCM 推送通知
问题描述
现在我已成功一对一发送 FCM 推送通知
问题是:
我不能从一个用户到多个用户 <==
就像群聊中的一个成员发送消息一样,我需要通过消息内容为该组中的每个成员发送通知。
我当前的代码:
private void sendNotification(String receiver, final String username, String senderImage, final String message) {
noteListener1 = refToken.document(receiver).addSnapshotListener(new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.d(" MyFirebaseMessag", "error" + e);
return;
}
if (documentSnapshot != null && documentSnapshot.exists()) {
Token token = documentSnapshot.toObject(Token.class);
Data data = new Data(currentUserEmail, R.mipmap.ic_launcher, username, ": " + message, "New Message",
OtherUsersEmail, senderImage, chatType, chatRoomId,membersCanWrite);
assert token != null;
Sender sender = new Sender(data, token.getToken());
apiService.sendNotification(sender)
.enqueue(new Callback<MyResponse>() {
@Override
public void onResponse(@NonNull Call<MyResponse> call, @NonNull Response<MyResponse> response) {
if (response.code() == 200) {
assert response.body() != null;
if (response.body().success != 1) {
Toast.makeText(MessagesActivity.this, "Failed!", Toast.LENGTH_SHORT).show();
}
} else {
Log.d(" MyFirebaseMessag", "response.code() != 200");
}
}
@Override
public void onFailure(@NonNull Call<MyResponse> call, @NonNull Throwable t) {
}
});
} else {
Log.d(" MyFirebaseMessag", "documentSnapshot null");
}
}
});
}
解决方案
推荐阅读
- r - 尝试创建一个确保列表长度为 2 的函数
- jquery - 如何使用 css、javascript 和 html 扩展下拉菜单?
- javascript - js不同的变量相同的值
- protocol-buffers - Yocto 中的 Protobuf 构建失败
- rust - 如何在宏中编译期间列出给定类型的所有实现特征?
- scala - 分解多个不同长度的相同类型的列
- r - `.Random.seed` 和 `ls()` 之间有什么关系?
- java - JAXB 在 ChildA 继承中引用 ChildB
- java - 2018 替代 Timer 和 TimerTasks
- javascript - 一键开启/关闭页面链接:toggle()两个功能