2017-06-21 17 views

Odpowiedz

0

Można użyć One-Signal który rozwiązuje swoje potrzeby: tutaj jest trochę kodu jak zainicjować w jonowym-2

Zainstaluj wtyczkę OneSignal Cordova poprzez Terminal

ionic cordova plugin add onesignal-cordova-plugin 
npm install --save @ionic-native/onesignal 

Ważna uwaga: upewnij się, że importujesz dostawcę do twojego app.module.ts zgodnie z instrukcją na stronie Ionic Native, np

Zrobione z
import {OneSignal} from '@ionic-native/onesignal'; 
@NgModule({ 
    ... 
    providers: [ 
    ... 
    OneSignal 
    ... 
    ] 

}) 
export class AppModule { } 

: Ionic-rodzimej

Teraz Init wtyczki OneSignal.

Następnie dodaj następujący kod do app.ts tak, że działa na starcie, na przykład wewnątrz metody initializeApp():

import {OneSignal} from '@ionic-native/onesignal'; 
import {Platform} from 'ionic-angular'; 

constructor(private _OneSignal: OneSignal, private _platform: Platform) { 
    startApp(); 
} 

    startApp() { 
    this._platform.ready().then(() => { 
     this._OneSignal.startInit(appId, googleProjectId); 
     this._OneSignal.inFocusDisplaying(this._OneSignal.OSInFocusDisplayOption.Notification); 
     this._OneSignal.setSubscription(true); 
     this._OneSignal.handleNotificationReceived().subscribe(() => { 
     // handle received here how you wish. 
     }); 
     this._OneSignal.handleNotificationOpened().subscribe(() => { 
     // handle opened here how you wish. 
     }); 
     this._OneSignal.endInit();   
    })  
    } 

Note: zmiennika w waszym

AppID z OneSignal

googleProjectId od FCM

0

Jeśli już otrzymujesz powiadomienie, gdy aplikacja jest otwarta, zakładam, że masz już serwer, do którego chcesz wysłać (tak jak w Firebase Cloud Functions) i wtyczkę, którą skonfigurowałeś do odbierania w swojej aplikacji.

Po pierwsze, jeśli problem dotyczy IOS, sprawdź, czy wygenerowany projekt (po ionic cordova build) ma włączoną REMOTE PUSH NOTIFICATIONS w XCode. W Androidzie jest to domyślnie włączone.

Kolejną rzeczą, która może być problemem, są właściwości, które wysyłasz w swoim ładunku oraz wtyczkę, której używasz do jej otrzymania. Na zgłoszenie pokazać się we wtyczce cordova-plugin-firebase on mieć właściwości notification z title lub body coś takiego:

{ "notification": { "title": 'a title', "body": 'some text' }, "data": { "anydata1": 'data1', "anydata2": 'data2', "etc": 'etc' } }

Dzięki wtyczce phonegap-plugin-push Zasady są podobne. Musisz mieć właściwość notification. Wszystko zależy od wtyczki.

Powiązane problemy