带有 Rpush gem 的 IOS/SWIFT 推送通知:生产中的无效令牌 (8)
Posted
技术标签:
【中文标题】带有 Rpush gem 的 IOS/SWIFT 推送通知:生产中的无效令牌 (8)【英文标题】:IOS/SWIFT Push notification with Rpush gem: Invalid token (8) on production 【发布时间】:2017-06-16 23:46:26 【问题描述】:我实际上是在我的项目中添加推送通知,我使用 ruby on rails 和 Rpush 执行此操作。我的问题是,在本地一切正常,但在 Heroku 上的生产服务器上,我收到此错误 Notification 7 failed with error: Invalid token (8)
。
我按照此步骤在 Apple 上生成我的证书:developer apple certificate 这一步是在 Rpush Github 上获取我的 pem 文件:github.com/rpush
这是我在 ios 设备上推送通知的代码:
def push_notif_ios(user, ss)
if !Rpush::Apns::App.find_by_name("ios-appName_#Rails.env")
app = Rpush::Apns::App.new
app.name = "ios-appName_#Rails.env"
app.certificate = File.read(File.join(Rails.root, 'app/assets/config', "#Rails.env.pem"))
app.environment = "#Rails.env" # APNs environment.
app.password = "appPassword_#Rails.env"
app.connections = 1
app.save!
end
n = Rpush::Apns::Notification.new
n.app = Rpush::Apns::App.find_by_name("ios-appName_#Rails.env")
n.device_token = ss.supplier.user.device_code # 64-character hex string
n.alert = "Nueva solicitud de appName de: #user.name, por el servicio de: #ss.service.name"
# n.data = foo: :bar
n.save!
end
在这里我肯定会得到一个正确的 device_token,它是从特定设备获得的,因为它正在开发中。
有人可以帮我解决这个问题吗?提前谢谢你。
【问题讨论】:
【参考方案1】:无关,但如果这对您不起作用,您可以随时尝试One Signal
【讨论】:
【参考方案2】:我不知道它是否可以帮助其他人,但我解决它的方式是:
heroku pg:reset
heroku run rake db:migrate
heroku run rake db:seed
并且知道正在成功发送推送通知!
【讨论】:
以上是关于带有 Rpush gem 的 IOS/SWIFT 推送通知:生产中的无效令牌 (8)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Rails RPUSH gem 为 APNS 编码 JWT 密钥