GCM通知突然停止工作,根本没有收到通知

时间:2015-05-26 07:05:17

标签: google-cloud-messaging

我已经创建了一个带有GCM通知的应用程序并将其移至现场,它运行良好已有一段时间,2个月,3个月后突然停止接收通知。丢失了代码,但无法理解出了什么问题,我应该在哪里修复。 这是我的manifest.xml                                                                                                                                

    <activity android:name="com.ind.MainActivity"/>
    <activity android:name="com.ind.ChaptersActivity"/>
    <activity android:name="com.ind.SectionsListActivity"/>
    <activity android:name="com.ind.SectionDetailActivity"/>
    <activity android:name="com.ind.RuleDetailsActivity"/>
    <activity android:name="com.ind.PartsListActivity"/>
    <activity android:name="com.ind.PartsDetailActivity"/>
    <activity android:label="@string/title_activity_web_dev" android:name="com.ind.Circulars"/>
    <activity android:name="com.ind.CircularsDetailsActivity"/>
    <activity android:label="@string/title_activity_web_design" android:name="com.ind.Notifications"/>
    <activity android:label="@string/title_activity_web_maintain" android:name="com.ind.PressNotes"/>        
    <activity android:name="com.ind.UpdateDetailsActivity"/>
    <activity android:name="com.ind.NotificationDetailsActivity"/>
    <activity android:name="com.ind.UpdatesActivity"/>
    <activity android:name="com.ind.Comparision"/>
    <activity android:name="com.ind.ComparisionActivity"/>
    <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
            <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
            <category android:name="com.ind"/>
        </intent-filter>
    </receiver>
    <service android:name=".GCMIntentService"/>
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
</application>

请告诉我有什么问题。

从数据库中我可以看到设备正在正常注册,并且所有人都会在日志中看到相同的内容。

1 个答案:

答案 0 :(得分:0)

你应该确定你正确地处理了这些事情:

  1. NotRegistered 是来自GCM服务器的错误代码。获取此代码后,您应立即从数据库中删除 regId
  2. cannonical_ids 是一个信号,你应该用新的替换 regId
  3. 您必须在更新客户端应用时从GCM请求新的 regId
  4. 此外,如果您的数据库中包含所有regIds,您可以尝试向其发送测试推送并检查GCM中的响应内容。您可以将我的dev push server用于这些目的。