Я пытаюсь заставить push-уведомление firebase работать на IONIC 3, используя phonegap-plugin-push с @ ionic-native / плагин push
Это моя ионная информация
глобальные пакеты:
Cordova CLI : 7.0.1
локальные пакеты:
@ionic/app-scripts : 2.1.3
Cordova Platforms : android 6.2.3 ios 4.4.0
Ionic Framework : ionic-angular 3.6.0
Система:
Android SDK Tools : 25.2.2
Node : v8.1.3
OS : macOS Sierra
Xcode : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.9.1
ios-sim : 6.0.0
npm : 5.1.0
Я не могу понять, как создать объект-сервер-сайт уведомлений, чтобы уведомление работало как на iOS, так и на Android. Я прочитал все о различиях между уведомлением и полезной нагрузкой данных, тогда я не могу понять, каким должен быть объект, чтобы он работал на всех платформах и во всех состояниях приложения (фон и передний план).
Это мой исходный объект
$p = array(
'id' => $post['id'],
'title' => $post['title'],
'description' => $post['description'],
'text' => $post['text'],
'image_url' => $post['image_url']
);
$msg = array(
'title' => "test",
'body' => $post['title'],
'post' => $p,
'vibrate' => 1,
'sound' => "default"
);
$fields = array();
$fields['to'] = "/topics/news";
$fields['data'] = $msg;
$fields["notification"] = array('title' => 'test', 'body' => $post['title'], 'sound' => 1);
Итак, я попытался собрать вместе данные и полезную нагрузку уведомлений. Результат
- Android Foreground → уведомление прибыло, и я могу перейти на страницу с подробностями
- Фон Android → уведомление прибыло, но ('уведомление') не вызывается, поэтому я не могу перемещаться по странице сведений
- iOS Foreground -> пришло уведомление, и я могу перейти на страницу с подробностями
- Фон iOS -> пришло уведомление, и я могу перейти на страницу с подробностями
Единственная проблема - невозможно управлять Android в фоновом режиме.
Если я использую только полезную нагрузку данных на Android, все работает (можно перейти на страницу с подробностями в фоновом или переднем плане), но на iOS уведомления не приходят вообще.
Если я использую только полезную нагрузку уведомления, уведомление приходит на Andorid и iOS, но без полезной нагрузки данных, поэтому мое приложение не переходит на страницу сведений.
Мой вопрос: какой объект я должен отправить, чтобы iOS и Android работали на переднем и заднем плане?