我想批量发送通知到苹果设备(例如批量 1.000 个设备令牌)。Ant 似乎我无法确定该消息已传递到 APNs。
这是代码示例:
ssl_connection(bundle_id) do |ssl, socket|
device_tokens.each do |device_token|
ssl.write(apn_message_for device_token)
# I can check if there is an error response from APNs
response_has_an_error = IO.select([socket],nil,nil,0) != nil
# ...
end
end
主要问题是建立 ssl_connection 后网络是否关闭
ssl.write(...)
永远不会引发错误。有什么方法可以检查该连接是否仍然有效?
第二个问题是 ssl.write 和来自 APNs 的就绪错误答案之间的延迟。发送最后一个消息后,我可以将超时参数传递给 IO.select 。也许等待几秒钟来处理 1.000 个批次是可以的,但是如果我必须为不同的 bundle_ids 发送 1.000 条消息呢?