繁体   English   中英

Ionic Firebasex 不能在后台运行 (iOS)

[英]Ionic Firebasex don't work in background (iOS)

我正在使用 Ionic3 并使用 FirebaseX Cordova 插件(因为 firebase 插件它根本不工作),但是当应用程序处于前台时(打开应用程序时)另一个应用程序)通知不显示...当我打开应用程序时,消息进入应用程序(不是通知)...

我正在使用作者示例(仅更改了捆绑 ID,因此我可以注册为 Firebase 项目)

我使用付费开发者账号,我定义了一个 APN,上传到 firebase 等。

在功能中激活远程通知(推送和后台)

但是还是...

奇怪的是,当应用程序打开时,它在日志中显示:

2019-10-25 11:20:50.152424-0300 FirebaseX Ionic 3 示例[560:180512] FCM 直接通道 = true

当应用程序进入后台时,登录信息显示:

2019-10-25 11:20:50.152424-0300 FirebaseX Ionic 3 示例 [560:180512] FCM 直接通道 = false

当我再次打开应用程序时,它又恢复为,并收到通知!

我知道 FCM 是 Firebase Cloud Messagin,所以......但我不知道为什么它会变成

请帮忙! 谢谢!

我找到了解决方案。 也许它可以帮助某人...现在使用FirebaseX Cordova 插件您需要明确请求许可(使用旧的 firebase cordova 插件,自动询问...)

插入此代码:

this.firebasePlugin.grantPermission(function(hasPermission){
    console.log("Permission was " + (hasPermission ? "granted" : "denied"));
});

就是这样(如果用户说“是”!)

在 firebasex cordova 插件中,您必须像这样请求许可。

如果 hasPermission() 返回 false,您只能调用 grantPermission():

window.FirebasePlugin.hasPermission(function(hasPermission){
if(!hasPermission){
    window.FirebasePlugin.grantPermission(function(permissionGranted){
        if(permissionGranted){
            console.log("Permission granted");
        }else{
            console.warn("Permission denied");
        }
    });
}else{
    console.log("Permission already granted");
}

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM