使用PHP的GCM推送通知突然开始抛出Unauthorized 401错误

时间:2016-10-14 05:46:59

标签: php android google-cloud-messaging firebase-cloud-messaging

过去1年我使用GCM服务,效果非常好。但它从9月30日开始抛出错误。首先它开始抛出443超时错误,但几天之后它就抛出了Unauthorized 401错误。它现在甚至没有提供任何一次推送。

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

我打算现在迁移到FCM,但我现有的GCM用户呢?我该如何向他们发送推送?

2 个答案:

答案 0 :(得分:1)

这个问题已经有一段时间了。有关详细信息,请参阅我的完整答案here。但简单来说,下面是您需要的详细信息。

GCM docs中有一个明显的注释:

  

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

似乎从GCM迁移到FCM 修复了401 Unauthorized Error的问题。

如果您刚刚开始使用GCM ,而不是在Google Developers Console中创建项目,请在Firebase控制台中执行此操作。创建项目后,只需使用自动生成的服务器密钥。以下是查找服务器密钥的步骤:

  1. 转到Firebase Console并点击创建新项目
  2. 填写您想要的项目名称并选择您的国家/地区。在此之后,新项目应该是活跃的。
  3. 然后在左侧面板上,点击齿轮按钮,然后选择项目设置
  4. 然后转到云消息传递标签
  5. 对于旧的GCM项目,您只需将项目导入Firebase控制台:

    1. 转到Firebase Console并点击 IMPORT PROJECT
    2. 选择要导入的项目和您所在的国家/地区。
    3. 点击 ADD FIREBASE 。在此之后,新项目应该是活跃的。
    4. 然后在左侧面板上,点击齿轮按钮,然后选择项目设置
    5. 然后转到云消息传递标签
    6. 对于GCM用户,只要您保存了注册令牌,就不必担心。只要您使用相应的发件人ID发送推送FCM should still work with GCM

答案 1 :(得分:0)

9月30日,GCM被​​弃用,FCM是新的云消息服务。因此,您删除GCM并使用FCM。

Firebase云消息传递(FCM)是GCM的新版本。它继承了可靠且可扩展的GCM基础架构以及新功能!请参阅常见问题以了解更多信息如果要在新应用程序中集成消息传递,请从FCM开始。强烈建议GCM用户升级到FCM,以便从当前和未来的新FCM功能中受益。

Here link of FCM Docs