を変更したときに通知を送信する - 「汚い」解析オブジェクトが、私は、特定のオブジェクトが変更されたとき、解析クラウドコードをプッシュ通知を送信しようとしています
を私は信じているので、私は、私はほとんどそこだと思いますが、エラーを受信しました新しいユーザーを作成する代わりに、新しいユーザーを作成しています。
Parse.Cloud.beforeSave("Fact", function(request, response) {
var dirtyKeys = request.object.dirtyKeys();
for (var i = 0; i < dirtyKeys.length; ++i) {
var dirtyKey = dirtyKeys[i];
if (dirtyKey === "isValid") {
//send push
// Creates a pointer to _User with object id of userId
var targetUser = new Parse.User();
// targetUser.id = userId;
targetUser.id = request.object.userID;
var query = new Parse.Query(Parse.Installation);
query.equalTo('user', targetUser);
Parse.Push.send({
where: query,
data: {
alert: "Your Fact was approved :)"
}
});
return;
}
}
response.success();
});
私の問題に関連するthis postが見つかりました。私の質問は、私のbeforeSaveブロックにユーザークエリを統合する方法です。理想的には、私はユーザクエリのための別の関数を作成し、それを私のbeforeSaveブロックに置きます。
** 5/14更新 @ toddgさんのアドバイスを受け取り、保存する前に修正しました。ここで私がやろうとしていることと新しいエラーの明確なイメージがあります。
保存ブロックの後に通知コードを挿入する方がよいでしょう。上のコードでは、push.success()はプッシュ通知を送信する前に実行される可能性があります。また、戻り値。 response.success()またはresponse.error()への通知を禁止します。 aftersaveにお知らせを転送することをおすすめします – Subash
途中で何が起こっているのですか? – toddg
私はこのエラーを受け取りました - 「保存されていないParseObjectへのポインタを作成できません」 – mparrish91