SNS項(xiàng)目最重要的是資訊實(shí)時(shí)推送眶掌,每個(gè)用戶都能夠了解到對(duì)應(yīng)的訊息叉钥,我們開(kāi)發(fā)選擇了極光推送作為項(xiàng)目的推送解決方案。博主根據(jù)自身項(xiàng)目的考察與網(wǎng)絡(luò)上的資源漱竖,歸納了以下幾種方法:
1抗斤、官方推送文檔:
ionic2之后的版本的極光推送在網(wǎng)絡(luò)上的資料少之又少囚企,經(jīng)過(guò)一番折騰過(guò)后,博主選擇了官方的API文檔瑞眼。然后根據(jù)其所指引的demo進(jìn)行搭建項(xiàng)目龙宏。
1.1 修改包名
在注冊(cè)APP做極光推送的時(shí)候,需要當(dāng)前的包名伤疙,經(jīng)過(guò)幾番折騰银酗,這里嚴(yán)厲指責(zé)網(wǎng)絡(luò)上一切改包名的博客,不負(fù)責(zé)任的在 項(xiàng)目名/platforms/android/
目錄下修改包名徒像,從AndroidMainfest文件黍特,android.json文件等進(jìn)行修改包名。這樣的做法首先不說(shuō)成不成功起碼在cordova命令運(yùn)行下锯蛀,整個(gè)項(xiàng)目會(huì)隨著插件進(jìn)行文件刪改灭衷,這樣修改包名無(wú)疑是最愚蠢與最不負(fù)責(zé)任的!正確的修改方法如下:
1.1.1 刪除platfrom : 在項(xiàng)目目錄下執(zhí)行如下指令 ionic cordova platform remove android
或者直接刪除platform與 plugins 目錄(博主推薦直接刪除目錄旁涤,因?yàn)樵诿钕履夸洸粫?huì)完全刪除干凈今布,最終在后續(xù)添加platform時(shí)報(bào)錯(cuò))
1.1.2 在項(xiàng)目根目錄下的config.xml
文件內(nèi)進(jìn)行修改经备,指定widget標(biāo)簽中的id 為你所想要的包名拭抬,如圖所示:
ionic cordova platform add android
</b>或者直接ionic cordova run android
這樣加載過(guò)后的android目錄下的所有指向的包都是你所填寫(xiě)的包名部默。1.2 搭建項(xiàng)目
通過(guò)官方文檔進(jìn)行項(xiàng)目搭建,這里不再贅述造虎,詳情請(qǐng)看<a >官方搭建文檔</a> 這里注意以下幾點(diǎn):
1.2.1 【注意:】官方文章中的命令行
cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable APP_KEY=your_jpush_appkey
這里是"APP_KEY"而官方文章中卻寫(xiě)的是“API_KEY”,直接拷貝代碼的童鞋肯定在這里吃了大虧算凿!
1.2.2 官方文章中要我們直接將demo項(xiàng)目里面的node_module/ionic-native
目錄直接拷貝到我們項(xiàng)目引用的node_module目錄下份蝴。這里又是一大錯(cuò)誤,在我們每次build或者npm下載依賴的時(shí)候氓轰,node_module目錄會(huì)clean下婚夫,也就是說(shuō)在我們辛辛苦苦粘貼到本地代碼的過(guò)后,其整個(gè)目錄會(huì)在我們其他操作過(guò)后刪除署鸡,這個(gè)時(shí)候我們本地依賴不存在了案糙,需要實(shí)時(shí)拷貝項(xiàng)目代碼!
1.2.3 關(guān)于1.2.2的解決辦法:很可惜靴庆,在有限的時(shí)間內(nèi)时捌,博主沒(méi)有解決辦法,如果有更好的解決辦法炉抒,請(qǐng)發(fā)郵件到stokid@126.com郵箱中奢讨,或者在該博客下留言,我會(huì)感激不盡焰薄!
2拿诸、“軍神”解決方法
這里可以為大家隆重介紹下"軍神"的博客,我覺(jué)得極光推送相關(guān)的要點(diǎn)都基本上寫(xiě)清楚了這里就不再贅述塞茅。請(qǐng)點(diǎn)擊“軍神”的博客亩码!
3、github大牛的解決方法
3.1 github項(xiàng)目地址:請(qǐng)點(diǎn)我
3.2 具體說(shuō)明:此github代碼相當(dāng)于一個(gè)類庫(kù)凡桥,通過(guò)導(dǎo)入此類庫(kù)的方式即可成功對(duì)接上其里面的代碼蟀伸,這樣非常方便,并且代碼可控缅刽。然而其博主希望我們將其代碼導(dǎo)入到node_module目錄下啊掏,顯然是不行的。于是我總結(jié)了以下操作<詳見(jiàn)3.3>衰猛。
3.3 具體操作:
3.3.1 在項(xiàng)目根目錄下輸入ionic g
這時(shí)候會(huì)出先選項(xiàng)如圖所示:
點(diǎn)擊發(fā)送后,在模擬器上即可顯示:
這樣我們就完成了整個(gè)推送對(duì)接的功能畦戒。
結(jié)束語(yǔ):在我們?nèi)粘i_(kāi)發(fā)中總會(huì)遇到很多問(wèn)題方库,在問(wèn)題難以解決的時(shí)候我們會(huì)借鑒別人的思路,但是在我們借鑒的時(shí)候障斋,我們需要理智的去借鑒纵潦,不能盲目,要找出問(wèn)題并通過(guò)自己的努力獲取正確的結(jié)果垃环,這樣我們才有所提高邀层!