如何使用Grocer反馈?

时间:2014-04-23 15:01:55

标签: ruby-on-rails web-applications apple-push-notifications

我正在开发rails应用程序上的ruby,我想向iOS设备发送推送通知。我正在使用gorcer gem,我也有兴趣得到一些反馈,但我不能让它工作。我正在关注git教程(https://github.com/grocer/grocer#feedback)。

feedback = Grocer.feedback(
 certificate: "/path/to/cert.pem",       # required
 passphrase:  "",                        # optional
 gateway:     "feedback.push.apple.com", # optional; See note below.
 port:        2196,                      # optional
 retries:     3                          # optional
)

feedback.each do |attempt|
 puts "Device #{attempt.device_token} failed at #{attempt.timestamp}"
end

控制台总是返回nil。

我尝试禁用推送通知并取消暂停ios应用以检查是否有任何反馈,但我没有收到任何反馈。

有谁知道发生了什么事?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我相信您的代码是正确的,并且.each循环在您的示例中运行(如果反馈服务返回至少1个失败的推送通知)。

我认为Grocer中存在一个错误,它只允许反馈服务一次迭代,然后反馈对象设置为nil。请参阅此错误:https://github.com/grocer/grocer/issues/80

我认为这解释了代码实际可行的原因,但后来却没有在控制台中返回任何内容。

作为旁注,似乎测试APN反馈服务的最佳方式是通过生产或临时应用注册有效的设备令牌。然后从您的设备中删除该应用,并向该令牌发送另一个推送通知。反馈服务似乎立即(并且可重复地)将其记录为失败的尝试。