在app的后端設(shè)計(jì)中,免不了消息的推送栏渺,短信呛梆,郵件等服務(wù),下面就個(gè)人的開(kāi)發(fā)經(jīng)驗(yàn)談?wù)勥@方面磕诊。
(1)最重要的是填物,各種推送一定要放在隊(duì)列系統(tǒng)中處理纹腌,不然會(huì)嚴(yán)重影響api的響應(yīng)時(shí)間。
(2)短信方面
以前我們是用億美軟通的短信服務(wù)滞磺,但在三大運(yùn)營(yíng)商收緊了短信服務(wù)后升薯,億美軟通的短信延遲非常厲害,后來(lái)我們找到了這家短信服務(wù)商 http://luosimao.com击困,這家發(fā)送短信到聯(lián)通涎劈,電信,移動(dòng)手機(jī)很快就到了(直到2014.01.24)阅茶。
如果發(fā)送到移動(dòng)的短信還沒(méi)有改善蛛枚,最后的后備方案:發(fā)送到聯(lián)通,電信的短信使用國(guó)內(nèi)的服務(wù)商脸哀,發(fā)送到移動(dòng)的短信就只能使用國(guó)外的短信服務(wù)商(國(guó)外發(fā)短信到移動(dòng)手機(jī)3毛一條蹦浦,好貴啊F蟛洹0壮铩!)
注:現(xiàn)在sharesdk提供了免費(fèi)的短信驗(yàn)證碼服務(wù)(http://mob.com/sms)谅摄,試運(yùn)營(yíng)期間為開(kāi)發(fā)者提供每個(gè)App每天10000條免費(fèi)短信驗(yàn)證徒河。
(3)郵件
在一開(kāi)始時(shí)使用服務(wù)器自身的postfix發(fā)送郵件的,但我們發(fā)現(xiàn)郵件被很多郵件服務(wù)商當(dāng)成垃圾郵件了送漠,而且沒(méi)有重發(fā)機(jī)制顽照,不能保證郵件的準(zhǔn)確到達(dá)。
后來(lái)查了一下各大網(wǎng)站闽寡,發(fā)現(xiàn)知乎和github 都是使用http://www.mailgun.com/的郵件服務(wù)代兵,看了一下文檔,價(jià)格很公道爷狈,而且每月有1萬(wàn)封的免費(fèi)郵件額度植影,非常適合創(chuàng)業(yè)型的公司。
(4)推送服務(wù)
在這方面涎永,我考慮的重點(diǎn)是:在創(chuàng)業(yè)初期思币,能用第三方就盡可能多使用第三方的服務(wù),自身只處理業(yè)務(wù)邏輯本身羡微,快速的開(kāi)發(fā)產(chǎn)品谷饿。
android篇:
android方面,我們使用過(guò)3種消息推送機(jī)制:
1.極光推送妈倔,現(xiàn)在放棄了博投。我們使用的過(guò)程中,發(fā)現(xiàn)極光的機(jī)制有點(diǎn)古怪盯蝴,一般來(lái)說(shuō)毅哗,一個(gè)app在極光服務(wù)器中是固定一個(gè)id听怕,但在極光中是通過(guò)廣播來(lái)通知app這個(gè)id,而且在文檔中居然說(shuō)明這個(gè)id會(huì)不定期變化黎做。
2.openfire服務(wù)器叉跛。app通過(guò)連接openfire服務(wù)器來(lái)獲取各種消息,但是openfire有個(gè)機(jī)制蒸殿,當(dāng)app連接openfire后空閑就自動(dòng)斷開(kāi)筷厘,沒(méi)法保持連接的的穩(wěn)定性,而修改這個(gè)openfire的機(jī)制成本太高了宏所,后來(lái)也放棄使用openfire酥艳。
3.百度推送。已現(xiàn)在使用一段時(shí)間的情況來(lái)說(shuō)爬骤,推送及時(shí)快速充石,挺滿意百度的推送服務(wù)。
iphone篇:
apns是iphone推送的不二選擇霞玄。但如果自身開(kāi)發(fā)apns的服務(wù)骤铃,會(huì)遇到無(wú)效token而需要重發(fā),這樣需要維護(hù)一個(gè)隊(duì)列并建立重發(fā)機(jī)制坷剧,考慮到項(xiàng)目的時(shí)間和研發(fā)成本惰爬,最后也是使用了百度推送的服務(wù)。
當(dāng)用戶(hù)在iphone上卸載了app后惫企,device token會(huì)失效撕瞧,所以應(yīng)該定期訪問(wèn)蘋(píng)果的feedback服務(wù)器,把無(wú)效的token去掉狞尔。
本人做了3年app相關(guān)的系統(tǒng)架構(gòu)丛版,api設(shè)計(jì),先后在3個(gè)創(chuàng)業(yè)公司中工作偏序,經(jīng)歷過(guò)手機(jī)網(wǎng)頁(yè)端页畦,android客戶(hù)端,iphone客戶(hù)端研儒,現(xiàn)就職于app云后端平臺(tái)bmob(想了解bmob點(diǎn)擊這里)豫缨。其中的樂(lè)與苦,得與失殉摔,仰首問(wèn)天有誰(shuí)知州胳?我覺(jué)得是時(shí)候來(lái)個(gè)總結(jié)记焊,把相關(guān)的技術(shù)和心得記錄下來(lái)逸月。
[文章作者]曾健生
[作者郵箱]h6k65@126.com
[作者QQ]190678908
[新浪微博] @newjueqi
[公司網(wǎng)址]www.bmob.cn