Уведомление Android во время приложения в фоновом режиме, данные о намерениях пусты

Как правило, вы можете только отключать выполнение с помощью трюка:

Установите фазу выполнения на несуществующую фазу (dont-execute). Обратите внимание, однако, что вам нужно использовать два разных идентификатора выполнения, позволяющих индивидуально отключать обе цели:

<plugin>
    <groupId>org.eclipse.xtend</groupId>
    <artifactId>xtend-maven-plugin</artifactId>
    <version>2.5.3</version>
    <executions>
        <execution>
            <id>xtend-compile</id>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
        <execution>
            <id>xtend-testCompile</id>
            <goals>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Субмодуль:

<plugin>
    <groupId>org.eclipse.xtend</groupId>
    <artifactId>xtend-maven-plugin</artifactId>
    <version>2.5.3</version>
    <executions>
        <execution>
            <id>xtend-testCompile</id>
            <phase>dont-execute</phase>
        </execution>
    </executions>
</plugin>

В вашем конкретном случае вы конечно, также может использовать свойство конфигурации skipXtend в каждом выполнении, чтобы не пропустить выполнение, но только не позволяло плагину ничего делать:

<plugin>
    <groupId>org.eclipse.xtend</groupId>
    <artifactId>xtend-maven-plugin</artifactId>
    <version>2.5.3</version>
    <executions>
        <execution>
            <id>xtend-testCompile</id>
            <configuration>
                <skipXtend>xtend-testCompile</skipXtend>
            </configuration>
        </execution>
    </executions>
</plugin>
1
задан Avinash Ajay Pandey 5 March 2019 в 07:27
поделиться

1 ответ

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

data

Этот параметр указывает пользовательские пары ключ-значение полезной нагрузки сообщения.

уведомление

Этот параметр указывает предопределенные видимые пользователем пары ключ-значение полезной нагрузки уведомления.

[ https://firebase.google.com/docs/cloud-messaging/http-server-ref#send-downstream] [Найти Подробнее здесь]

Когда вы в фоновом режиме, FCM будет отображать уведомление в системном трее на основе информации из полезной нагрузки уведомления. Заголовок, сообщение и значок, используемые для уведомления на панели задач, извлекаются из полезных данных уведомления.

{
  "notification": {
        "title" : "title",
        "body"  : "body text",
        "icon"  : "ic_notification",
        "click_action" : "OPEN_ACTIVITY_1"
       }
}

Вам нужно использовать полезную нагрузку data вместо полезной нагрузки уведомления, ваша проблема будет решена.

Вот пример JSON, который я получаю:

{
  "to": "FCM registration ID",

   "data": {
     "someData"  : "This is some data",
     "someData2" : "etc"
   }
}

Вот мой код Java.

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {

        if (remoteMessage == null)
            return;

        // Check if message contains a data payload.
        if (remoteMessage.getData().size() > 0) {

            try {
                JSONObject json = new 
                JSONObject(remoteMessage.getData().toString());
                handleDataMessage(json);
            } catch (Exception e) {
                Log.e(TAG, "Exception: " + e.getMessage());
            }
        }
    }

Сообщения с уведомлением и полезной нагрузкой данных:

Сообщение также может содержать как уведомления, так и полезную нагрузку данных. Когда такие сообщения отправляются, они обрабатываются в двух сценариях, в зависимости от состояния приложения (фон / передний план). Для этих сообщений мы можем использовать как уведомления, так и ключи данных.

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

Когда на переднем плане - приложение получает объект сообщения с обоими полезными нагрузками.

0
ответ дан Amkhan 5 March 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: