我正在使用一个用于我在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)
这段代码不会运行
我用离子原始信号固定:
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)