ionic 3 с push-уведомлениями FCM не работает на устройстве Android

Я пытаюсь отправить push-уведомления из PostMan или из PHP-скрипта CURL на свое устройство Android, но не получаю сообщение. Если я отправлю уведомление из Firebase Console, оно работает, я получил push-уведомление. Вот мой код на app.component.ts:

import { Component, ViewChild } from '@angular/core';
import { Nav, Platform, AlertController } from 'ionic-angular';
import { HomePage } from '../pages/home/home';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import {FCM, NotificationData} from "@ionic-native/fcm";
@Component({
  templateUrl: 'app.html',
  providers: [Services]
})
export class MyApp {
 @ViewChild(Nav) nav: Nav;
 rootPage:any;
 pages: Array<{title: string, component: any, icono: any}>;

 constructor(public platform: Platform, public alertCtrl: 
 AlertController, public statusBar: StatusBar, public splashScreen: 
 SplashScreen, private fcm: FCM ) {
  this.initializeApp();

  }

 initializeApp() {
 this.platform.ready().then(() => {
  this.statusBar.styleDefault();
  this.splashScreen.hide();

   this.fcm.getToken()
    .then((token:string)=>{
     console.log("The token to use is: ",token);
    })
    .catch(error=>{
      console.error(error);
    });


  this.fcm.onTokenRefresh().subscribe(
    (token:string)=>console.log("Nuevo token",token),
    error=>console.error(error)
  );


  this.fcm.onNotification().subscribe(
    (data:NotificationData)=>{
      if(data.wasTapped){
        console.log("Received in background",JSON.stringify(data));
      }else{

        console.log("Received in foreground",JSON.stringify(data))
      }
     },error=>{
      console.error("Error in notification",error)
     }
  );

});

Вот мой PostMan POST: HEADER:

введите здесь описание изображения

ВОТ МОЕ СООБЩЕНИЕ:

введите здесь описание изображения

И ВОТ ОТВЕТ:

введите здесь описание изображения

Как видите, я получил успех: 1 -> это означает, что уведомление было отправлено, но на моем устройстве Android оно не получено.

У кого-нибудь есть такая же проблема? Как я уже говорил, из консоли firebase я получаю уведомление. Заранее благодарю вас за любые комментарии.


person CaribeSoft    schedule 06.12.2017    source источник
comment
Привет, CaribeSoft, вы решили эту проблему, у меня такая же проблема   -  person Udit Rawat    schedule 12.12.2017
comment
Привет, Удит, еще не решено.   -  person CaribeSoft    schedule 16.12.2017
comment
У меня это работает   -  person Udit Rawat    schedule 16.12.2017
comment
На самом деле я не пробовал почтальона ... Напрямую пишите PHP-код, и он работает   -  person Udit Rawat    schedule 17.12.2017
comment
Не могли бы вы опубликовать свой код, пожалуйста?   -  person CaribeSoft    schedule 18.12.2017


Ответы (2)


Попробуйте эту полезную нагрузку:

 {
    "notification":{
      "title":"Title1", 
      "body": "Body1",  
      "sound": "default"
    },
    "data":{
      "param1":"param1",  
      "param2": "param2"
    },
    "to":"*Token*", 
    "priority":"high"
  }
person Salman Ullah Khan    schedule 24.04.2018

Пожалуйста, попробуйте это для фона

 {
   data: {
        title: title,
        body: body,
        "sound": "default",
        "content-available": "1",
        "click_action": "FCM_PLUGIN_ACTIVITY"
    },
    tokens: Tokens
}

Или вы можете попробовать для переднего плана как данные, так и ключ уведомления

{
   notification: {
        title: title,
        body: body,
        "sound": "default",
        "content-available": "1",
        "click_action": "FCM_PLUGIN_ACTIVITY"
    },
    tokens: Tokens
}
person Prashant Jangid    schedule 15.10.2020