2017-06-16 64 views
0

嗯,实际上我推送通知到我的项目,我用轨道和Rpush红宝石做的。我的问题是,在本地所有工作正常,但在我的生产服务器上的Heroku我得到这个错误Notification 7 failed with error: Invalid token (8)IOS/SWIFT推送通知与Rpush的宝石:生产上的无效令牌(8)

我按照这个步骤产生我对苹果证书: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,它是从一个特定的设备获得的,因为它正在开发中。

有人可以帮我解决这个问题吗?先谢谢你。

回答

0

我不知道它是否能够帮助其他人,但那些我解决它的办法:

  1. heroku pg:reset
  2. heroku run rake db:migrate
  3. heroku run rake db:seed

知道是否成功发送推送通知!

0

无关,但如果这并不为你工作,你总是可以尝试One Signal