关于极光推送的问题汇总(Android,IOS)

背景: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())

 public 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下只能在对应的环境下收到(开发能收到,生产环境就不能收到,反之),此时只需检查服务端对应推送方法即可,不用着急修改前段或者客户端。

你可能感兴趣的:(ionic,ios,极光推送)