使用 GCM 发送推送消息时,错误代码“notRegistered”是啥意思?

     2023-02-24     143

关键词:

【中文标题】使用 GCM 发送推送消息时,错误代码“notRegistered”是啥意思?【英文标题】:what does mean by error code "notRegistered" when sending push messages using GCM?使用 GCM 发送推送消息时,错误代码“notRegistered”是什么意思? 【发布时间】:2015-12-16 09:21:49 【问题描述】:

我正在尝试使用以下代码通过 Java 服务器向注册设备发送推送通知:

import java.io.IOException;
import java.util.ArrayList;

import com.google.android.gcm.server.Constants;
import com.google.android.gcm.server.Message;
import com.google.android.gcm.server.MulticastResult;
import com.google.android.gcm.server.Result;
import com.google.android.gcm.server.Sender;


public class Test 




    private void sendNotification()
    
           try
                 Sender sender = new Sender("AIzaSyD9GblH8c9qCBqDhLPKMca3dH8JsY4cgjg");
                 ArrayList<String> devicesList = new ArrayList<String>();
                 devicesList.add("APA91bEtN2c3FYSFPpW-KuNtkWT6B9NJUviKN0L0DCjviJ2BtMyhZLqsFSFKfsySI1s88I0u68xETjvpqhvepffRSgwoTmpRXAv0Fbr0gH8CLhHO5CJC-M8");
                 String data = "hi.......";
                 Message message = new Message.Builder()
                                    .collapseKey("1")
                                    .timeToLive(3)
                                    .delayWhileIdle(true)
                                    .addData("message",
                                            data)
                                    .build();
                MulticastResult result = sender.send(message, devicesList, 1);
                            sender.send(message, devicesList, 1);

                            System.out.println(result.toString());
                            if (result.getResults() != null) 
                                int canonicalRegId = result.getCanonicalIds();
                                if (canonicalRegId != 0) 
                               System.out.println("hi...");
                                
                             else 
                                int error = result.getFailure();
                                System.out.println(error);
                            

            
           catch(Exception e)
           
               System.out.println(e);
           
    
    public static void main(String ar[])
    
        new Test().sendNotification();


    


我收到以下错误:

MulticastResult(multicast_id=7574342191790679138,total=1,success=0,failure=1,canonical_ids=0,结果: [[错误代码=未注册]]

之前发布了类似的问题,但我没有找到任何令人满意的答案。

【问题讨论】:

GCM 'Error : Not Registered'的可能重复 未注册一般表示您使用的令牌(设备id)无效。您应该丢弃它并生成另一个。 【参考方案1】:

您在devicesList 中提供的设备的注册 ID 未在 gcm 中注册。您首先需要在 gcm 中注册您的设备以获得有效的 RegistrationId。获取此 RegId 后,您将其传递给那么,只有你的服务器可以通过 GCM 推送通知。

【讨论】:

无法正确发送 GCM 推送消息

...【发布时间】:2014-12-1513:23:26【问题描述】:所以如果我使用这个测试链接,我的GCM推送消息就可以工作http://www.androidbegin.com/tutorial/gcm.html这是回复"multicast_id":7724943165862866717,"success":1,"f 查看详情

使用亚马逊 sns 未收到 GCM 推送

】使用亚马逊sns未收到GCM推送【英文标题】:GCMpushnotreceivedusingamazonsns【发布时间】:2016-04-0911:13:10【问题描述】:我有一个关于亚马逊sns的奇怪问题。我正在使用亚马逊aws的nodejssdk将推送通知发送到android设备。问题是当我将消... 查看详情

GCM 多次推送同一消息 (PushSharp)

...发布时间】:2014-09-1713:12:57【问题描述】:问题:我正在使用Xamarin开发一个使用PushSharp的android应用程序。我正在使用GCM向客户端发送消息,因此如果应用程序打开,我可以更新某些内容。GCM似乎多次向同一设备发送相同的消息... 查看详情

如何使用 GCM 在 Android 中解析或实际获取推送消息

】如何使用GCM在Android中解析或实际获取推送消息【英文标题】:HowtoparseoractuallygetpushmessageinAndroidusingGCM【发布时间】:2014-06-2823:49:57【问题描述】:我正在使用Google(http://developer.android.com/google/gcm/client.html)提供的示例实现GCM客户... 查看详情

发送 GCM 上游消息后收到空推送消息

】发送GCM上游消息后收到空推送消息【英文标题】:ReceivingemptypushmessageaftersendingGCMUpstreamMessage【发布时间】:2017-03-1014:26:33【问题描述】:我已经实现了发送GCM上游消息的方式与android开发者网站上提供的方式相同。XMPP服务器也... 查看详情

向多个 GCM Id 发送推送通知返回错误:MISSING_REGISTRATIONS

...ATIONS【发布时间】:2015-07-0109:04:51【问题描述】:我正在使用谷歌云消息向多个设备发送推送通知。以下是我发送的JSON数据:"to":["APA91bHMvoTuEYQAGwgB7Q 查看详情

发送 gcm 消息的错误请求

】发送gcm消息的错误请求【英文标题】:BadRequestsendinggcmmessage【发布时间】:2012-08-1212:16:09【问题描述】:我正在尝试通过C#发送gcm消息。我尝试了几次,但在尝试以json方法发送时得到http:400-Badrequest。当我尝试以文本形式发送... 查看详情

GCM 推送通知设备未收到消息

...5-11-2606:24:28【问题描述】:您好,我正在为我的应用程序使用gcmpushnotification。我将projectid发送到服务器并成功从服务器获取userid。服务器也成功发送了pushmessage我检查了它,但我的设备应用程序没有收到任何消息..... 查看详情

GCM chrome 50 发送多个推送通知

...以批量发送消息?【问题讨论】:【参考方案1】:尝试使用HTTP 查看详情

GCM 错误代码

...des【发布时间】:2013-12-1717:57:54【问题描述】:我有一个发送GCM推送通知的服务器应用程序。每次发送1000个收件人都会返回一条消息,告诉我每个注册ID的状态。有些会有错误代码。是否有来自Google的文档告诉我应该如何处理这... 查看详情

使用 c# .net 发送带有图像的 GCM 推送通知(适用于 android 应用程序)

】使用c#.net发送带有图像的GCM推送通知(适用于android应用程序)【英文标题】:sendingGCMpushnotificationwithimageusingc#.net(forandroidapplication)【发布时间】:2017-10-2609:28:57【问题描述】:我正在使用此c#代码使用GCM站点发送推送通知但我... 查看详情

使用相同项目凭据的 GCM 的最大连接数

】使用相同项目凭据的GCM的最大连接数【英文标题】:MaximumconnectionsforGCMusingSameProjectCredentials【发布时间】:2015-12-0711:20:02【问题描述】:当我使用相同的用户名和密码(项目ID和apikey)发送多个推送通知时,远程主机关闭了连... 查看详情

使用 Rhodes 和 GCM 推送通知

】使用Rhodes和GCM推送通知【英文标题】:PushnotificationusingRhodeswithGCM【发布时间】:2012-12-1107:10:06【问题描述】:在我的Android应用程序上,我需要使用Rhodes实现推送通知而不使用Rhoconnect。我尝试使用谷歌云消息传递。但无法注册... 查看详情

Amazon SNS GCM 推送通知中没有标题

...cation【发布时间】:2016-02-2310:27:34【问题描述】:我正在使用AmazonSNS控制台发送android移动推送通知。我确实收到了推送通知,但只显示正文消息,不显示标题。此外,当触摸通知时,应用程序也没有打开。我正在使用适用于Unity... 查看详情

使用 PHP 的 Google 云消息传递 (GCM)

】使用PHP的Google云消息传递(GCM)【英文标题】:Googlecloudmessaging(GCM)withPHP【发布时间】:2016-09-1507:59:53【问题描述】:我正在尝试使用PHP发送推送通知。问题是,如何在浏览器中注册serviceworker并直接从PHP发送通知。我得到了后端... 查看详情

应用程序完全关闭时不出现 Android 推送通知(使用 node-gcm)

】应用程序完全关闭时不出现Android推送通知(使用node-gcm)【英文标题】:AndroidPushNotificationsnotappearingwhenappisfullyclosed(usingnode-gcm)【发布时间】:2016-11-0803:06:03【问题描述】:我正在使用node-gcm模块将推送通知发送到我的Cordova应... 查看详情

GCM 推送通知在 iOS 上不起作用

...2-1205:40:44【问题描述】:我正在尝试将推送消息从服务器发送到我的iOS设备。当我发送以下JSON消息时,应用程序正在接收消息(仅在前台)-"to":"<my_reg_id>","data":"body":"Helloworld","title":"Title"但是,当我以S 查看详情

如何使用 XHR (Ajax) 通过 GCM 发送推送通知

】如何使用XHR(Ajax)通过GCM发送推送通知【英文标题】:HowtoSendapushnotificationthroughGCMusingXHR(Ajax)【发布时间】:2016-04-1405:42:47【问题描述】:这是我通过终端发送通知的curl命令。它可以正常工作,但是如何在按钮单击时发送通知(... 查看详情