gpt4 book ai didi

ios - 解析云推送通知正在推送给所有用户而不是目标用户

转载 作者:行者123 更新时间:2023-11-29 01:46:43 25 4
gpt4 key购买 nike

我无法将推送通知定位到单个用户。现在,无论哪个用户登录设备,我的测试设备都会收到推送通知。即使当我向当前注销的 _User 发送推送并且设备使用完全不同的 _User 登录时,它也会收到推送通知。

我已经使用 parse.com 设置了云代码,以便能够向用户发送推送通知。我在安装类中有一个“用户”指针,它指向要接收推送通知的相应_User。

示例:_用户“Sam”已登录到移动设备。我从 Xcode 中的 iOS 模拟器向 _User“steve”发送推送。即使“Sam”已登录,移动设备也会收到推送。即使没有用户登录,移动设备也会收到推送。

当我检查 Push control on parse 时,似乎云正在正确查询安装中与 _User 类的 objectId 匹配的“用户”指针,如下所示:

user advanced operator ($inQuery {"className"=>"_User", "objectId"=>"LJQXaJDzkU"}) 
SENDING TIME
August 5th, 2015 at 3:01 PM

EXPIRATION
None

FULL TARGET
{
"user": {
"$inQuery": {
"className": "_User",
"objectId": "LJQXaJDzkU"
}
}
}

FULL DATA

这是查询用户并从解析云发送推送的云代码。 recipientUserId 接收接收推送的 _User 的 objectId 字符串。

Parse.Cloud.define("sendPush", function(request, response) {
var senderUser = request.user
var recipientUserId = request.params.recipientId;
var senderUserId = request.params.senderId;
var message = senderUserId + " sent a message"

var recipientUser = new Parse.User();
recipientUser.id = recipientUserId;
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.matchesQuery('user', recipientUser);

Parse.Push.send ({
where: pushQuery,
data: {
aps: {
alert: message,
badge: "Increment",
sound: "cow-moo1.wav"
}
}
}, {
success: function() {
response.success("Success!");
},
error: function(error) {
response.error(error);
}

});

});

推送没有问题,我可以在设备上打开它们,但我真的不知道为什么即使被查询的用户甚至没有登录设备,推送也会被发送到设备。任何关于正在发生的事情的想法将不胜感激。谢谢!!!

最佳答案

编辑您的代码,以便在您注销时从安装中删除用户。

编辑 - 下面的评论中提到了这一点,所以我想确保在这里提到它,以防它是有效的解决方案。 OP 使用了 matchesQuery,它需要传入查询,但传入的是 Parse.User 对象。我建议他使用 equalTo 而不是 matchesQuery。

关于ios - 解析云推送通知正在推送给所有用户而不是目标用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31835809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com