gpt4 book ai didi

ios - 使用 CloudCode 发送有针对性的推送通知

转载 作者:行者123 更新时间:2023-11-29 12:10:37 24 4
gpt4 key购买 nike

我试着写了一个云代码功能,发送有针对性的推送通知。我传递的 user id 存在于 Parse数据库,但是当我运行这段代码时,我得到了响应、成功和我的日志显示发送的通知结果为真。

推送日志中存在通知,但是当我查看推送时详细信息,它针对对用户对象的无效查询返回 102 错误。

这是完整的目标:

    { 
"deviceType": "ios",
"user": {
"$exists": true,
"$inQuery": {
"className": "_User",
"where": {
"objectId": "R8q99hu62c"
}
}
}
}

这是错误:

error 102: bad type for $inQuery 

有人可以解释为什么会这样吗?

    Parse.Cloud.define('sendPushNotification', function(request, response) {

console.log(request);

var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo('objectId', request.params.userId);

var queryIos = new Parse.Query(Parse.Installation);
queryIos.equalTo('deviceType', 'ios');
queryIos.exists('user');

queryIos.matchesQuery('user', userQuery);


Parse.Push.send({
where: queryIos,
data: {
alert: request.params.firstName + ' has invited you to join his party',
badge: "Increment",
guestlistInviteId: request.params.guestlistInviteId,
notificationText: request.params.firstName + "has invited you to his party"
}
}).then(function(result) {
console.log(result);
response.success('sent out the push');
}, function(error) {
console.log('error');
response.error(error);
});
});

编辑:

在安装表中添加了一列作为指向用户的指针。从安装查询中删除了 exists 和 includes,同时将用户指针设置为我拥有的用户对象。这会向目标用户发送推送通知。

 var queryIos = new Parse.Query(Parse.Installation);
queryIos.equalTo('deviceType', 'ios');
queryIos.equalTo("User", user);

最佳答案

根据 Parse Docs,您正在尝试查询不支持它的数据类型。

你可以在这个 link 中看到.

我的猜测是您无法为与其直接相关的用户查询解析安装。

我也找到了这个,也许它有用:Parse Question .它基本上是说您需要在安装中创建一个指向特定用户的指针,然后您可以使用“高级定位”向与该用户相关的每个设备发送推送通知。

希望这里的内容对您有所帮助。

祝你好运。

关于ios - 使用 CloudCode 发送有针对性的推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33536314/

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