GCM 注册时出现 INVALID_SENDER 错误

Posted

技术标签:

【中文标题】GCM 注册时出现 INVALID_SENDER 错误【英文标题】:INVALID_SENDER error at GCM registration 【发布时间】:2014-04-30 06:00:48 【问题描述】:

我正在开发应用程序,我想为我使用 GCM 实现推送通知,我已经在 google 控制台上注册了我的项目,并使用项目 ID 作为 GCM 注册的发件人 ID。

GCMRegistrar.checkDevice(this); //no error 
GCMRegistrar.checkManifest(this); //no error          
final String regId = GCMRegistrar.getRegistrationId(this);               
if (regId.equals("")) 
            GCMRegistrar.register(this, "********"); //after this.. 
                                       //onError method of GCMIntentService class
                                      //is triggered, there I am printing error
                                     //in log its saying INVALD_SENDER 
         

我已在 androidManifest.xml 中授予所有必需的权限

我已经参考了以下链接

1) Android GCM SENDER_ID, how to get it? 2) Getting GCM Error: INVALID_SENDER occasionally in an app that has two GCM BroadcastReceivers 3) GCM Invalid sender error 4) http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

【问题讨论】:

【参考方案1】:

SENDER_ID = 项目编号,我使用的是项目 ID。项目编号在项目 ID 旁边的控制台上可用。

【讨论】:

或者在 google-services.json 文件中,你应该放在你的 android 项目的根目录中。【参考方案2】:

Google 已更改其布局。你可以从这里找到project_number

选择项目 -> 我的项目

点击三个点 -> 项目信息 -> 项目编号

【讨论】:

谢谢!在这些屏幕上转圈。布局很差。【参考方案3】:

这是一个推送通知的工作示例,希望对您有所帮助:

private String SENDER_ID = "xxxxxxx";
private GoogleCloudMessaging gcm;

//somewhere else
gcm = GoogleCloudMessaging.getInstance(context);
String msg = gcm.register(SENDER_ID);

我最近在这里遇到了一些服务不可用的错误,所以我还实现了一个 Broadcastreciever 来接收 regestration 令牌。

@Override
public void onReceive(Context context, Intent intent) 
    Bundle data = intent.getExtras();
    if (data!=null)
        String regId = data.getString("registration_id");
    

【讨论】:

找不到 GoogleCloudMessaging。我认为您正在使用 google-play-service_lib 项目。但我正在使用 gcm.jar【参考方案4】:

我遇到了同样的错误,发现在 firebase 控制台中没有启用谷歌登录。启用后错误消失了。

查看此图片以供参考:

【讨论】:

以上是关于GCM 注册时出现 INVALID_SENDER 错误的主要内容,如果未能解决你的问题,请参考以下文章

在具有两个 GCM 广播接收器的应用中偶尔出现 GCM 错误:INVALID_SENDER

接收 GCM 时出现错误消息

在 GCM 中发送推送通知时出现未经授权的错误

创建 GCM 演示应用程序时出现 Javac 错误(Google App Engine Java/Windows 7)

使用 GCM 从 java 服务器向 android 手机发送希伯来语推送通知时出现乱码

GCM注册ID过期时间