PHP的GCM推送通知突然抛出未经授权的401错误



我过去一年一直在使用GCM服务,它运行得非常好。但它从9月30日开始出现错误。首先,它开始抛出443超时错误,但几天后,它现在抛出Unauthorized 401错误。它现在连一个推力都没有。

我有一个Android应用程序,并使用PHP-MYSQL服务器发送推送通知。这似乎不是一个API_KEY问题,因为我检查了一些在线测试网站(http://apns-gcm.bryantan.info/),推送通知正在成功交付。

我现在正计划迁移到FCM,但是我现有的GCM用户怎么办?我如何发送推送给他们?

这个问题已经存在一段时间了。更多细节请参阅我的完整回答。但在一个简短的回答中,以下是你需要的细节。

GCM文档中有一个可见的注释:

从2016年9月开始,新的服务器密钥只能在Firebase控制台中使用设置面板的云消息选项卡创建。需要创建新服务器密钥的现有项目可以在Firebase控制台中导入,而不会影响其现有配置。

似乎从GCM迁移到FCM修复了401未经授权错误的问题。

如果你刚开始使用GCM,不要在Google开发者控制台创建项目,而是在Firebase控制台创建项目。创建项目后,只需使用自动生成的服务器密钥。以下是查找Server Key的步骤:

  1. 打开Firebase控制台,点击CREATE NEW PROJECT
  2. 填写您想要的项目名称并选择您的国家。在此之后,新项目应该是活动的。
  3. 然后在左侧面板,点击齿轮按钮,选择项目设置
  4. 然后转到云消息选项卡

对于旧的GCM项目,您可以简单地将项目导入到Firebase控制台:

  1. 进入Firebase控制台,点击IMPORT PROJECT
  2. 选择要导入的项目和所在国家。
  3. 点击添加FIREBASE。在此之后,新项目应该是活动的。
  4. 然后在左侧面板,点击齿轮按钮,选择项目设置
  5. 然后转到云消息选项卡

对于您的GCM用户,您不必担心,只要您保存了注册令牌。只要你使用相应的Sender ID来发送推送,FCM应该仍然可以与GCM一起工作。

9月30日GCM被弃用,FCM是新的云消息服务。所以你去掉GCM,用FCM。

Firebase Cloud Messaging (FCM)是GCM的新版本。它继承了可靠和可扩展的GCM基础设施,加上新的功能!请参阅FAQ了解更多信息。如果你要在一个新应用中集成消息传递,那就从FCM开始。强烈建议GCM用户升级到FCM,以便从现在和将来的FCM新功能中受益。

FCM文档链接

最新更新