背景:ionic集成极光推送插件,Android推送没遇到任何问题,iOS下就遇到一堆问题(真是有特殊性),按照官方文档两种鉴权方式的配置,此次我使用的是通过 APNs Auth Key 鉴权(很方便),第一种貌似有点复杂(哈哈哈哈)。配置完成后通过测试按理,iOS开发环境下没问题,生产环境暂时没测试,正式服务上推送又出问题,因此总结一下遇到的问题。
1、文档尽量参考官方(比较完整);
2、推送服务端一定要查看,具体调用的方法(是否同时支持iOS和Android两种平台),若自生项目只需要其中的一种,那设置一种也行;(我的项目就是出在调用的方法只推送的android,没有推送到iOS,所以iOS收不到)
3、iOS下开发环境能收到,生产环境收不到(API 推送设置可选参数 options——环境参数 apns_production,true 为生产、false 是开发,请务必注意参数类型是 Boolean ,不是字符串或其他),切记别忘记配置此参数,对应到具体的环境。
具体可参考官方社区:https://community.jiguang.cn/t/topic/5145/9
https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#options
关键点:.setOptions(Options.newBuilder().setApnsProduction(true).build())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26public static PushPayload buildPushObject_ios_tagAnd_alertWithExtrasAndMessage() { JsonObject sound = new JsonObject(); sound.add("critical", new JsonPrimitive(1)); sound.add("name", new JsonPrimitive("default")); sound.add("volume", new JsonPrimitive(0.2)); return PushPayload.newBuilder() .setPlatform(Platform.ios()) .setAudience(Audience.tag_and("tag1", "tag_all")) .setNotification(Notification.newBuilder() .addPlatformNotification(IosNotification.newBuilder() .setAlert(ALERT) .setBadge(5) .setMutableContent(false) // .setSound("happy") .setSound(sound) .addExtra("from", "JPush") .build()) .build()) .setMessage(Message.content(MSG_CONTENT)) .setOptions(Options.newBuilder() .setApnsProduction(true) .build()) .build(); }
4、还有一点就是,安装插件后,或者集成sdk后若推送不到,可先通过官方推送平台进行推送,若对应的平台能收到,那说明配置以及基础功能没有问题,iOS下只能在对应的环境下收到(开发能收到,生产环境就不能收到,反之),此时只需检查服务端对应推送方法即可,不用着急修改前段或者客户端。
最后
以上就是傲娇菠萝最近收集整理的关于关于极光推送的问题汇总(Android,IOS)的全部内容,更多相关关于极光推送内容请搜索靠谱客的其他文章。
发表评论 取消回复