2016-10-17 9 views
0

ユーザーがクラスを更新した後にプッシュ通知を送信する必要があり、プッシュ通知がダッシュボードから機能しています。
このコードをクラウドコードに追加しましたが、成功メッセージのログが表示されますが、通知はユーザーに送信されていません。過去の通知では送信されたことが示されますが、送信されたプッシュは0、これは私の雲コードですParse Server特定のユーザーへの通知をプッシュ

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を記録し、ダッシュボードでのインストールでshowと同じです。
私は、これはそれが示した目標である詳細は、プッシュ通知をクリックした場合:そのクラスの 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インストールを返すので、0プッシュが送信されます!これを使用してください: 'var user = request.object.get(" user ");' –

+0

@SteveMcMeen、このように動作しますが、どのユーザーが渡されていますか?要求をした人ですか?はいの場合、私はinObjectに保存されているユーザーが必要なので、これは私のためには機能しません。 – ClaudioBlanco

+0

はい、そのユーザーがリクエストを行ったユーザーです。そのクラスを保存するためのコードを追加してください。私はあなたを助けるため、保存しているデータの種類はわかりません。 –

答えて

0

これを多くの方法で試した結果、私は自分のオブジェクトとParseUserオブジェクトの間の関係を作成してしまいましたが、これは問題を解決しましたが、なぜ私は単にUserIDを保存できないのか、私の問題は今解決されています。

関連する問題