關於極光推送的問題彙總(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下只能在對應的環境下收到(開發能收到,生產環境就不能收到,反之),此時只需檢查服務端對應推送方法即可,不用着急修改前段或者客戶端。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章