我正在为我在 Ionic 2 中开发的应用程序使用 onesignal 插件,该插件正在运行。从 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();

此代码用于获取 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
              })

这段代码只是不运行

最佳答案

我使用 ionic 原生 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})});
  }

关于ionic2 - 如何在 Ionic 2 中获取 OneSignal 播放器 ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44075380/

10-13 00:26