我有一个名为的类User,我创建了一个List<User> users;,现在我需要将此列表添加到 Firestore,我所做的是遍历列表并单独添加每个对象,因为 Firestore 仅接受 HashMaps 或对象,这是代码
for (User user:users){
db.collection("Users").document(user.getUserNumber()).set(user)
.addOnCompleteListener(MainActivity.this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
Log.e(TAG, "DocumentSnapshot added with ID: " + task.getResult());
}else Log.e(TAG, "Error adding document", task.getException());
}
});
}
Run Code Online (Sandbox Code Playgroud)
我的问题是有什么方法可以通过一个请求将整个列表添加到 Firestore,而不是像列表大小一样多次调用 api?
我有FCM的问题,当我收到通知时,我希望它打开特定的活动,默认情况下,当我不添加click_action它时打开应用程序的主要活动,但是当我添加click_action并单击通知时它不会不执行任何动作.
这是我在Web服务中使用的JSON:
{
"registration_ids": [
"f4............LL"
],
"notification": {
"title": "Rebate Confirmation",
"text": "Please Confirm",
"sound": "default",
"click_action": ".Activities.CustomerRebateConfirmation"
},
"data": {
"merchant_id": "20",
"customer_id": "1",
"points": "10",
"totalpoints": "100",
"message": "Please Confirm",
"type": "customer_points_rebate_confirmation"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的onMessageReceived方法:
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.e(TAG, "From: " + remoteMessage.getFrom());
customerRebateDetails = new String[5];
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.e(TAG, "Message data payload: " + remoteMessage.getData());
Log.e(TAG, "Message …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用了 firebase 存储,并且我正在使用我自己的用户名和密码身份验证服务,我已将规则更改为公开以便我可以上传和下载数据,但现在它给了我这个警告
您的安全规则设置为公开。任何人都可以读取或写入您的存储分区
如何在不使用任何 Firebase 登录或身份验证方法的情况下保护应用数据?