此文章針對于2017年10月份后,部分ionic2 ionic3開發者極光推送無法setAlias() setTags()的問題。
Jpush 于 2017年10月份更新了 jpush-phonegap-plugin的Api。
部分大神級開發者封裝的 npm包(node_modules包)的Api與新版本的 jpush-phonegap-plugin的Api不能對應,所以setAlias和 setTags無法正常生效(請檢查是否set后返回的信息為OK,OK其實并沒有set成功,真正set成功后返回是個html對象[Object])。
首先大家可以看一下 新版本的Jpush plugin 的api接口。
然后大家可以看一下npm包里面的參數設置方式,是不是跟Jpush plugin提供的方式不一樣。
這里僅僅是舉例一下,具體大家用的是哪位大神開發者封裝的包還需要自己去看一下。
下面是解決方案。
1.ionic2-jpush 包(針對于 "@ionic-native/core":"^4.3.2",ionic-native/core 版本較高的開發者)
https://github.com/HsuanXyz/ionic2-jpush? (npm install ionic2-jpush --save)
此npm包在github已經跟隨jpush plujin進行了更新,但是npm源上的包并沒有跟隨升級,所以大家npm install ionic2-jpush --save下來的包還是舊版的包(api 不同的包)
解決辦法是:
1.1 先在自己的工程下npm install ionic2-jpush --save?
(或者直接 npm install https://github.com/HsuanXyz/ionic2-jpush也可以,就不用替換了。)
1.2 然后從https://github.com/HsuanXyz/ionic2-jpush中下載全部文件 ionic2-jpush-master.zip
1.3 解壓后替換ionic2/3工程目錄下node_modules/ionic2-jpush 里面的文件就好了 記得要替換干凈
1.4 然后更改自己的代碼,注意新的setalias 和 settags的參數。
2.dist/@ionic-native/jpush 包 (<= 為啥是藍色啊??)(針對于 "@ionic-native/core":"^3.6.0",ionic-native/core 版本較低的開發者)
https://github.com/kongdewen1994/ionic2-jpush-cordova-plugin?
這個包的api調用方式一開始就是設置而 any類型。
2.1 按照說明導入包
2.2 改自己代碼(看上面)
2.3 測試吧
3.直接調用plugin api
3.1? (<any>window).plugins.jPushPlugin.init();