我正在构建一个聊天应用,并希望在一个用户向另一个用户发送消息时发送推送通知。
我通过从我的模拟器向我的iPhone发送消息来测试它,但它无法接收它。 Parse仪表板看起来像:
然后我通过仪表板向所有人发送消息来测试它,它可以工作,我的iPhone收到消息。请参阅下面的信息中心结果:
接下来,我尝试通过仪表板中的Segment发送消息,下面是我的设置屏幕的屏幕截图,注意它说这将发送到1个设备:
然而,我的手机也没有收到它。以下是仪表板中新添加的行
由于推送通知是一个非常复杂的过程,我不知道我需要在这里提供哪些其他信息才能解决问题。 奇怪的是我的iPhone没有出现在安装数据表中。
-----------------------已添加---------------------
用户成功登录后,将运行以下代码:
var installation:PFInstallation = PFInstallation.currentInstallation()
installation["user"] = PFUser.currentUser()
installation.saveInBackgroundWithBlock(nil)
成功发送用户消息后,将运行以下代码:
var uQuery:PFQuery = PFUser.query()
uQuery.whereKey("username", equalTo: self.recipient)
var pushQuery:PFQuery = PFInstallation.query()
pushQuery.whereKey("user", matchesQuery: uQuery)
var push:PFPush = PFPush()
push.setQuery(pushQuery)
push.setMessage("您有新的消息")
push.sendPushInBackgroundWithBlock({ (success: Bool, error:NSError!) -> Void in
if success {
println("push sent")
}else{
println("send push failed")
}
})
在控制台中,我总能看到“推送已发送”。
我不确定我是否在聊天应用中发送推送通知的最佳做法。任何建议都表示赞赏。
--------------更新-------------------------------- ---
我的问题现在已经解决了,但我不记得我采取了什么来解决它,只是以一种特殊的方式。谢谢大家的评论。