如何在Ionic 2中获得OneSignal播放器ID

Dan*_*ero 4 onesignal ionic2

我正在使用一个用于我在Ionic 2中开发的应用程序的信号插件,该插件正在运行.从OneSignal发送的消息显示在应用程序中,但是当我尝试获取播放器唯一ID时出现问题:

这是我用于显示消息的代码,此代码有效:

 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();
Run Code Online (Sandbox Code Playgroud)

这段代码用于获取ID:

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
              })
Run Code Online (Sandbox Code Playgroud)

这段代码不会运行

Dan*_*ero 6

我用离子原始信号固定:

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})});
  }
Run Code Online (Sandbox Code Playgroud)