Typescript 如何获取OneSignal playerID
当用户在启动应用程序时接受通知时,我需要存储playerID。这在app.component.ts中的initializeApp函数上 我可以获取playerID(我可以用console.log显示它),但是当我试图将它设置为本地存储时,它不起作用。这里是我的app.component.ts:Typescript 如何获取OneSignal playerID,typescript,ionic-framework,push-notification,ionic3,onesignal,Typescript,Ionic Framework,Push Notification,Ionic3,Onesignal,当用户在启动应用程序时接受通知时,我需要存储playerID。这在app.component.ts中的initializeApp函数上 我可以获取playerID(我可以用console.log显示它),但是当我试图将它设置为本地存储时,它不起作用。这里是我的app.component.ts: 初始化EAPP(){ if(this.platform.ready()){ this.platform.ready()。然后((res)=>{ 控制台日志(res); 如果(res=='cordova')
初始化EAPP(){
if(this.platform.ready()){
this.platform.ready()。然后((res)=>{
控制台日志(res);
如果(res=='cordova'){
这个.oneSignal.startInit('xxx-xxx-xxx','xxx');
this.oneSignal.inFocusDisplaying(this.oneSignal.osinFocusDisplayeption.InAppAlert);
this.oneSignal.getIds()。然后((ids)=>{
this.nativeStorage.setItem('playerID',ids.userId);
});
this.oneSignal.handleNotificationReceived().subscribe((消息)=>{
//收到通知后做些什么
});
this.oneSignal.handleNotificationOpened().subscribe(()=>{
//打开通知时执行某些操作
});
this.oneSignal.endInit();
//console.log(这个.oneSignal.startInit('b8320a40-f565-4593-b9aa-d98b580bf8e1','323509745034');
//this.oneSignal.getIds().then(response=>{
//控制台日志(响应);
// });
//this.oneSignal.inFocusDisplaying(this.oneSignal.osinFocusDisplayeption.InAppAlert);
//this.oneSignal.handleNotificationReceived()。订阅(()=>{
// });
//this.oneSignal.handleNotificationOpened().subscribe(()=>{
// });
//this.oneSignal.endInit();
}
});
}
}
当平台准备就绪且初始化完成时,您可以获取设备ID:
从“离子角度”导入{Platform,};//导入平台
onseSignalAppId:string='xxx-xxx-xxx-xxx-xx-x-x-xxx';
googleprojected:string='xxxxxxxx';
建造商(平台:平台){
}
platform.ready()。然后(()=>{
//好了,平台准备好了,我们的插件也可以使用了。
//在这里,您可以做任何您可能需要的更高级别的本地操作。
statusBar.styleDefault();
splashScreen.hide();
如果(此.platform.is('cordova')){
if(this.platform.is('android')){
this.oneSignal.startInit('onseSignalAppId','googleprojected');
}
if(this.platform.is('ios')){
这个.oneSignal.startInit('onseSignalAppId');
}
this.oneSignal.inFocusDisplaying(this.oneSignal.osinfocusdisplayption.Notification);
此.oneSignal.handleNotificationReceived().subscribe(()=>{
//收到通知后做些什么
});
this.oneSignal.handleNotificationOpened().subscribe(结果=>{
//打开通知时执行某些操作
});
this.oneSignal.endInit();
//然后您可以获取设备ID
this.oneSignal.getIds().then(identity=>{
警报(identity.pushToken+“它是推送令牌);
警报(identity.userId+“它的设备ID”);
});
});
请参见初始化it OneSignal当平台准备就绪且初始化完成时,您可以获取设备ID:
import{Platform,}从“离子角度”;//导入平台
onseSignalAppId:string='xxx-xxx-xxx-xxx-xx-x-x-xxx';
googleprojected:string='xxxxxxxx';
建造商(平台:平台){
}
platform.ready()。然后(()=>{
//好了,平台准备好了,我们的插件也可以使用了。
//在这里,您可以做任何您可能需要的更高级别的本地操作。
statusBar.styleDefault();
splashScreen.hide();
如果(此.platform.is('cordova')){
if(this.platform.is('android')){
this.oneSignal.startInit('onseSignalAppId','googleprojected');
}
if(this.platform.is('ios')){
这个.oneSignal.startInit('onseSignalAppId');
}
this.oneSignal.inFocusDisplaying(this.oneSignal.osinfocusdisplayption.Notification);
此.oneSignal.handleNotificationReceived().subscribe(()=>{
//收到通知后做些什么
});
this.oneSignal.handleNotificationOpened().subscribe(结果=>{
//打开通知时执行某些操作
});
this.oneSignal.endInit();
//然后您可以获取设备ID
this.oneSignal.getIds().then(identity=>{
警报(identity.pushToken+“它是推送令牌);
警报(identity.userId+“它的设备ID”);
});
});
看到了吗