2016-10-01 50 views
0

我想發送推送通知使用用戶的ID。我已經測試了使用installationId發送,查詢_Installation類,但是我想查詢用戶指針的會話類,然後轉過頭來查詢安裝類。查詢會議類與雲代碼解析

我的問題在於查詢會話類的限制。我已經成功地使用了createWithoutData()發現here,我知道它正在工作,因爲我可以輸出該用戶。但是,即使在使用找到的主密鑰here之後,結果始終爲空。

回答

0

發送推送通知到特定的用戶一般的做法是,你將存儲指向用戶在安裝類...例如,當用戶註冊爲此

斯威夫特

if let installation = PFInstallation.current() { 
    installation["user_id"] = PFUser.current()! 
    installation.saveInBackground() 
} 

Cloudcode

 var pushQuery = new Parse.Query(Parse.Installation); 
     pushQuery.equalTo('user_id', tarUser); 
     pushQuery.exists("deviceToken"); 
     pushQuery.limit(1); // in case there are more Installation with the user ID, use only the latest 
     pushQuery.descending("createdAt"); 
     Parse.Push.send({ 
     where: pushQuery, // Set our Installation query 
     data: { 
      alert: "Some push text" 
     } 
     }, { 
     success: function() { 
     // Push was successful 
     response.success(); 

     }, 
     error: function(error) { 
     console.error("Got an error " + error.code + " : " + error); 
     response.error(error); 
     }, 
     useMasterKey: true 
    }); 

如果我沒記錯的話要查詢在雲代碼指針與指針結構,這樣

var tarUser = { 
    __type: 'Pointer', 
    className: '_User', 
    objectId: 'insertObjectIDHere' 
}; 
+0

謝謝你,我將標誌着你的答案是正確的供日後參考,但我偏不這樣做,因爲我想單獨設備日誌中,這意味着在註銷另一個設備時需要擴展代碼。 – Jacolack

+0

單一設備登錄甚至意味着什麼? –

+0

如果您熟悉snapchat,如果您登錄到其他設備,則會爲該用戶刪除所有其他會話。 – Jacolack