当前位置: 首页 > 工具软件 > APNS/2 > 使用案例 >

flutter 接入IOS官方推送APNS

长孙阳焱
2023-12-01

前言

推送功能是很多app中必不可少的功能,一般对于国内的app而言,推送功能用的最多的可能就是极光了,当然也有友盟等其他一些平台的推送,但好像对Flutter的支持不是那么友好,如果做海外app,安卓端我们推荐使用官方的FCM,而在IOS端对应的官方推送则简称为APNs,在flutter中如果我们使用google官方推送插件firebase_messaging,默认也是支持IOS的。

我当时遇到的问题是:国内flutter应用推送使用的是极光,有两个问题:

1,在安卓上默认极光的官方插件内集成SDK的方式为自动添加,即引用的JCenter上的包,通过查看JCenter上对应的包的内容发现,默认是将所有的权限(必须的和可选的)都引入了,导致app内新增了很多莫名奇妙的权限,比如定位权限等,如果想将可选权限全部剔除,我们就只有将GitHub上的插件项目下载下来,然后做一些修改了,比如将自动集成SDK的方式改为手动等。

2,在IOS端,因为使用了极光推送,也是新增了一些权限,并且提交时因为权限问题遭拒,所以当时就想着放弃极光,在IOS端自己使用原生的APNs实现推送,也找到了相对应的flutter插件:flutter_apns,该插件同样支持Google的FCM推送功能,所以也依赖了谷歌服务相关的其他插件,然后因为项目中用到的谷歌分析等其他功能也依赖了谷歌服务的同样插件,就导致出现版本冲突,编译时无报错但app启动插件初始化时异常导致闪退,最后因为PANs是只针对IOS端加的,所以当时就从GitHub上下载了flutter_apns

 类似资料: