Почему уведомления не появляются в системном трее? - PullRequest
0 голосов
/ 26 апреля 2018

Я могу отправлять push-уведомления на мой телефон и симулятор Android, когда мое приложение работает. (Я могу сказать, что они прибывают, потому что мое приложение падает.)

Так почему же в системном трее не появляются уведомления? Они сделали пару раз, когда я посмотрел на телефон несколько часов спустя. Я понятия не имею, почему это произошло.

Я отправляю их с экрана Firebase Cloud Messaging, и он говорит, что сообщения «Завершены».

Вот код ...

[Service]
    [IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
    public class FirebaseIIDService : FirebaseInstanceIdService
    {
        const string TAG = "MyFirebaseIIDService";

        public override void OnTokenRefresh()
        {
            var refreshedToken = FirebaseInstanceId.Instance.Token;

            Log.Debug(TAG, "Refreshed token: " + refreshedToken);
        }
    }

    [Service]
    [IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })]
    public class CCFirebaseMessagingService : FirebaseMessagingService
    {
        public override void OnMessageReceived(RemoteMessage message)
        {
            Log.Debug(TAG, "Hi Mum!");
        }
    }

Оба эти события могут быть прерваны в отладчике.

В манифесте ...

<application android:label="My app">
        <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
        <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" 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="${applicationId}" />
            </intent-filter>
        </receiver>
    </application>

1 Ответ

0 голосов
/ 27 апреля 2018

Это дизайн с Firebase.

Уведомления будут отображаться, если приложение находится в фоновом режиме, но не отображается, если оно отображается. Фактическое получение базового push-сообщения и отображение уведомления обрабатываются библиотекой Firebase.

Это отличается от более ранней версии Google Cloud Messaging, которая всегда доставляет приложению, будь то передний план или фон.

(Вики-ответ сообщества, основанный на комментариях в длинной ветке. Просьба отредактировать, чтобы добавить больше деталей.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...