gpt4 book ai didi

ios - 从 Ruby On Rails 发送 IOS 推送通知

转载 作者:可可西里 更新时间:2023-11-01 05:35:08 26 4
gpt4 key购买 nike

我需要向 IOS 移动设备发送推送通知。

我使用 apn_on_rails 发送这个通知。

我从 IOS 开发人员那里获得了我的 pem 文件。我在上面做了如下配置

在 config/configtran/*.rb 中的生产和开发中

RAILS_ROOT, APN::App::RAILS_ENV='production'
configatron.apn.passphrase = 'leo_123'
configatron.apn.port = 2195
configatron.apn.host = 'gateway.sandbox.push.apple.com'
configatron.apn.cert = File.join(Rails.root, 'config', ' apple_push_notification_development.pem')

然后我按照文档创建了一个通知。

在我运行以下命令后,它处于理想状态并响应

从控制台

APN::App.send_notifications

使用 rake RAILS_ENV=production rake apn:notifications:deliver

我在生产和开发环境中都尝试过。 在下一行之后它没有响应。我也没有在日志中找到任何东西。

APN::App Load (0.1ms)  SELECT "apn_apps".* FROM "apn_apps"

我没有在任何云服务器上托管这个应用程序。此应用程序是否应托管在任何云服务器中才能正常运行该应用程序?

感谢任何帮助。

最佳答案

使用 grocer 更容易 gem 。

pusher = Grocer.pusher(certificate: "#{Rails.root}/lib/dev_cert.pem", # required
passphrase: "XXXXXX", # optional
gateway: "gateway.sandbox.push.apple.com", # optional
port: 2195, #optional
retries: 3)

feedback = Grocer.feedback( certificate: "#{Rails.root}/lib/dev_cert.pem",
passphrase: "XXXXXX",
gateway: "feedback.sandbox.push.apple.com",
port: 2196,
retries: 3)

notification = Grocer::Notification.new(
device_token: push_id,
alert: message,
badge: 3,
sound: "siren.aiff", # optional
expiry: Time.now + 60*60, # optional; 0 is default, meaning the message is not stored
# identifier: 1234, # optional
content_available: true # optional; any truthy value will set 'content-available' to 1
)

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

pusher.push(notification)

关于ios - 从 Ruby On Rails 发送 IOS 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com