Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GCM通知结果=[错误=未注册]_Android_Node.js_Google Cloud Messaging - Fatal编程技术网

Android GCM通知结果=[错误=未注册]

Android GCM通知结果=[错误=未注册],android,node.js,google-cloud-messaging,Android,Node.js,Google Cloud Messaging,我正在使用Node GCM 这些通知在我的客户的某些设备上运行良好。有些手机在一段时间后没有收到通知时会出现此问题 检查日志后,我在一些调用中看到以下错误 {"multicast_id":7040074623564131000,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}] 对于此响应或之前的任何响应,我没有得到1或以上的规范_id 我遵循了中提到的步骤,在响应中没有得到任何规范ID

我正在使用Node GCM

这些通知在我的客户的某些设备上运行良好。有些手机在一段时间后没有收到通知时会出现此问题

检查日志后,我在一些调用中看到以下错误

{"multicast_id":7040074623564131000,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]
对于此响应或之前的任何响应,我没有得到1或以上的规范_id

我遵循了中提到的步骤,在响应中没有得到任何规范ID


在某些手机中,GCM工作正常,因此我不确定如何从这里开始以及在何处进行调试。

NotRegistered-是一条消息,表示没有任何GCM设备使用已传递的id注册。只需检查id即可

您必须仅在GCM和应用程序中注册的设备上发送推送通知(通过开发者控制台)


您可以使用不同的Rest客户机(如postman)进行测试。只需使用json在特殊url上发送您的数据。

NotRegistered-是一条消息,表示没有任何GCM设备使用传递的id注册。只需检查id即可

您必须仅在GCM和应用程序中注册的设备上发送推送通知(通过开发者控制台)


您可以使用不同的Rest客户机(如postman)进行测试。只需使用json在特殊url上发送数据。

如果您的设备令牌未正确注册,则通常会发生这种情况,这可能是由于存储长度。因此,请始终使用文本而不是varchar,如果使用varchar,则给出大于200的大小。。
感谢如果您的设备令牌未正确注册,则通常会发生这种情况,这可能是由于存储长度的原因。因此,请始终使用文本而不是varchar,如果使用varchar,则给出大于200的大小。。
谢谢

我花了几天时间试图找出解决类似问题的方法,当我尝试一些我认为很愚蠢的方法时,它奏效了。在Android中,当生成令牌时,我将作用域从“GCM”更改为“”,之后我再也没有收到NotRegister

更改:

String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
         GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
致:


我不知道为什么,但它对我有效。

我花了几天时间试图找出如何解决类似问题,当我尝试一些我认为愚蠢的事情时,它起了作用。在Android中,当生成令牌时,我将作用域从“GCM”更改为“”,之后我再也没有收到NotRegister

更改:

String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
         GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
致:


我不知道为什么,但它对我有效。

我注意到它在应用程序安装的开始阶段(这是我们从GCM获得新令牌的时候)起作用,并且在某些设备的某个点后停止工作。你确定,这些设备以后不会获得新令牌吗?不幸的是,没有。我没有获得1或以上的规范ID。甚至像我的导师所说的那样遵循中提到的步骤:“尝试一步一步地调试”。。。这只是,在这种情况下我能给你的建议。我注意到它在安装应用程序的开始阶段(这是我们从GCM获得新令牌的时候)工作,在某些设备中的某个点之后停止工作。你确定,这些设备以后不会获得新令牌吗?不幸的是,没有。我没有获得1或以上的规范\u ID。甚至像我的导师所说的那样遵循中提到的步骤:“尝试一步一步地调试”。。。这只是,在这种情况下我能给你的建议。检查这个关于你的错误,它可能提供一些见解。检查这个关于你的错误,它可能提供一些见解。