2017-05-19 3 views
2

Ich verwende das Onesignal-Plugin für eine App, die ich in Ionic 2 entwickle, das Plugin funktioniert. Die Nachrichten von OneSignal geschickt in der App zeigen, aber ich habe ein Problem, wenn ich versuche, die Spieler eindeutige ID zu erhalten:So erhalten Sie OneSignal-Player-IDs in Ionic 2

Dies ist der Code, den ich für die Ansicht Nachrichten verwenden, dieser Code funktioniert:

let notificationOpenedCallback = function(jsonData) { 
     let alert =alertCtrl.create({ 
      title: jsonData.notification.payload.title, 
      subTitle: jsonData.notification.payload.body, 
      buttons: ['OK'] 
     }); 
     alert.present(); 
     console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData)); 
     }; 

     window["plugins"].OneSignal 
     .startInit("05d411f4-45da-4101-92a5-4a60e5c9fd03", "49543248748") 
     .handleNotificationOpened(notificationOpenedCallback) 
     .endInit(); 

und dieser Code ist für bekommen Ids:

window["plugins"].OneSignal 
      .startInit("05d411f4-45da-4101-92a5-4a60e5c9fd03", "49543248748") 
      .endInit(); 
      window["plugins"].OneSignal.getIds(function(ids){ 
       firebase.database().ref('usuarios/'+ this.usuarioId).update({ 
       idOnesignal: ids.userId 
       }) 

dieser Code einfach nicht

+0

Was passiert? Bekommst du Fehler? –

+0

Entschuldigung für die Verzögerung, mit diesem Code a nicht bekommen nichts, ich reparierte mit einem ähnlichen Code aber mit Onesignal ionischen nativen. –

Antwort

3

läuft ich ionische nativer Fest mit onesignal:

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

constructor(public one: OneSignal) { 
    this.bs = firebase.database().ref('/usuarios'); 
    this.usuarioid = firebase.auth().currentUser.uid; 
    this.one.getIds().then((ids) => {this.one_id = ids.userId, 
            this.bs.child(this.usuarioid).update({idOneSignal: this.one_id})}); 
    }