我需要在用户更新课程后发送推送通知,推送通知在仪表板中正常工作。
我将此代码添加到我的Cloud Code中,我可以看到带有成功消息的日志,但是通知没有发送给用户,在过去的通知中,它显示已发送,但是受众是Everyone,但是发送了推送是0,这是我的Cloud Code
Parse.Cloud.afterSave("Class", function(request, response) {
var inObject = request.object;
if (inObject.get("isLost")){
console.log("inObject is lost");
var targetUser = new Parse.User();
targetUser.id = inObject.get("UserID");
var query = new Parse.Query(Parse.Installation);
query.equalTo("user", targetUser);
Parse.Push.send({
where: query,
data: {
alert: "InObject",
badge: "Increment",
message: "Testando"
}
}, {
success: function() {
// Push was successful
console.log("success");
},
error: function(error) {
// Handle error
console.log("error: "+error.code+" message "+error.message);
throw "Got an error " + error.code + " : " + error.message;
},
useMasterKey: true
});
}
});
我尝试将双重查询作为帖子link,但没有成功,我提供了用户ID,与我在仪表板上的安装中的显示相同。
如果我单击推送通知以获取更多详细信息,则显示以下目标:
Target details from push
修改
保存该类的代码(它在java中):
ParseObject object = new ParseObject(Class.class.getSimpleName());
object.put(NAME, getName());
object.put(UUID, getUUID());
object.put(ICON_ID, getIconID());
object.put(ADDRESS, getAddress());
object.put(ID1, iD1.toString());
object.put(ID2, iD2.toString());
object.put(ID3, iD3.toString());
object.put(IS_LOST, getIsLost());
object.put(USER, parseUserID);
object.put(DISTANCE, getDistance());
object.put(LATITUDE, getLatitude());
object.put(LONGITUDE, getLongitude());
object.saveEventually();
parseID由ParseUser.getCurrentUser()生成.getObjectID();
答案 0 :(得分:0)
所以,在尝试了很多方面后,我最终创建了我的对象和ParseUser对象之间的关系,这解决了问题,但我还不知道为什么不能保存UserID,但我的问题现在已经解决了。