Обсуждается эта ошибка, но, похоже, все они получают ответы о "остановленном состоянии" (приложений).
Я вижу что-то другое.
У меня есть две тестовые образцы облаков, одна из которых является официальным образцом GCM, а другая - проектом FCM, который следил за учебником, и оба они затронуты.
Оба установлены на Samsung S6 с 6.0.1, устройство подключено (без Doze) и подключено к WiFi.
Время от времени отправку push-сообщений в образец GCM или в приложение FCM начинает сбой с ними в logcat:
07-17 14: 37: 38.851 W/GCM-DMM (29459): вызов функции трансляции: результат = ОТМЕНА forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = gcm.play.android.samples.com.gcmquickstart(есть дополнительные функции)}
07-17 14: 38: 25.231 W/GCM-DMM (29459): вызов вызова трансляции: результат = ОТМЕНА forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = firebasetest.example.kman.firebasetest(есть дополнительные функции)}
Запуск пользовательского интерфейса приложения заставит push-сообщения снова пройти (к этому приложению), но старые (которые вызвали ошибки) не будут повторно отправлены.
Теперь - я не заставил остановить приложение. Один из них я использовал, может быть, 15 минут назад. Устройство не заснуло (его экран был включен, и он был подключен в течение всего времени).
Итак, объяснение "принудительное прекращение" здесь не применяется, режим Doze здесь не применяется.
Кроме того, говоря о "принудительной остановке", я провел несколько тестов, после чего умышленно закрывая приложение (GCM или FCM) из "списка последних приложений", проверяя, что процесс был убит (через logcat) а затем либо (GCM, либо FCM) push-сообщения прошли бы очень хорошо.
Таким образом, это должно быть что-то другое (не "принудительное прекращение" или режим Doze), и это что-то еще вызывает тотальный обмен сообщениями, чтобы стать ненадежным, что побеждает цель.
Любые идеи о том, как отслеживать это, чтобы предотвратить/избежать этого внезапного обрыва доставки push-сообщений?
манифест образца GCM:
Тест-тест FCM:
`` `XML
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
</application>
`` `