我试图让一个离子应用程序获取启动应用程序图标上的通知徽章。 据我所知,如果离子应用程序关闭(不在后台)是不可能的,所以,任何人都知道是否有可能创建一个我总是在后台运行并同步我的Android服务离子应用程序,更新图标徽章?
提前谢谢
答案 0 :(得分:0)
自@Shiben问道,这就是我解决它的方法。
安装cordova-plugin-firebase
转到https://firebase.google.com并创建您的firebase项目(请参阅配置指南)
- 在您的app.component.ts中执行以下操作:
export class MyApp {
rootPage:any = HomePage;
firebase : any;
constructor(public platform: Platform,
public statusBar: StatusBar,
public splashScreen: SplashScreen,
private _firebase: Firebase,
public alertCtrl: AlertController) {
platform.ready().then(() => {
(your things)
this.firebase = _firebase;
this.initFirebase();
this.firebase.setBadgeNumber(0);
});
}
这是我的initFirebase():
initFirebase(){
this.firebase.grantPermission();
this.firebase.onTokenRefresh()
.subscribe((token: string) => localStorage.setItem("pushToken", token))
this.firebase.onNotificationOpen()
.subscribe((notification) => {
let alert = this.alertCtrl.create({
title: 'New Notification',
subTitle: "Your notification",
buttons:['OK']
});
alert.present();
});
}
-Inor index.html插入这样的东西(你是从firebase获得的)
<script src="https://www.gstatic.com/firebasejs/3.9.0/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "your key",
authDomain: "your domain",
databaseURL: "your url",
projectId: "your projid",
storageBucket: "your storagebucket",
messagingSenderId: "your messageid"
};
firebase.initializeApp(config);
</script>
我很久以前做过这件事,可能会有所改变。这可以被弃用,或者不是最好的做法,但是,我希望它能让你朝着正确的方向前进。