建立可靠的短信服務(wù),短信服務(wù)是App后臺(tái)中最不可控的服務(wù),萬(wàn)所使用的短信平臺(tái)因?yàn)楦鞣N因素變得不穩(wěn)定,那么用戶(hù)就可能收不到短信或隔了很久才收到App后臺(tái)所發(fā)送的短信。現(xiàn)在大多數(shù)App的用戶(hù)注冊(cè)要求驗(yàn)證手機(jī)號(hào),用戶(hù)收不到短信就意味著沒(méi)法注冊(cè),這對(duì)App運(yùn)營(yíng)的影響極大。
為了把短信服務(wù)的風(fēng)險(xiǎn)降到最低,深圳APP開(kāi)發(fā)公司推薦最可靠的做法是App后臺(tái)必須要接入最少兩個(gè)短信平臺(tái),當(dāng)前使用的短信平臺(tái)變得不可靠時(shí)立刻切換到另外一個(gè)短信平臺(tái)發(fā)送短信,主要做法是通過(guò)配置文件控制App后臺(tái)使用哪個(gè)短信平臺(tái)。
首先在配置文件中配置當(dāng)前使用的短信平臺(tái),例子如下配置文件APP.conf中關(guān)于短信平臺(tái)的配置
[sms]
cnrrentSmsPlat=短信平臺(tái)a
/*
*發(fā)送短信的邏輯
*/
//讀取配置文件中設(shè)置使用的短信平臺(tái)
smsPlat=readConf(sms:currentSmsPlat) if(smsPlat=短信平臺(tái)a) 判斷使用哪個(gè)短信發(fā)送短信/*使用短信平臺(tái)a發(fā)送短信*/) elseif(smsPlat=短信平臺(tái)b){/+使用短信平臺(tái)b發(fā)送短信+/
APP開(kāi)發(fā)處理表情的一些技巧
App中文字夾帶表情是個(gè)很常見(jiàn)的現(xiàn)象,甚至些40多歲的大叔級(jí)用戶(hù)也喜歡在自己的昵稱(chēng)中夾帶表情,在產(chǎn)品運(yùn)營(yíng)中發(fā)現(xiàn)這個(gè)現(xiàn)象,徹底顛覆了APP開(kāi)發(fā)程序員的世界觀。App后臺(tái)處理表情這個(gè)業(yè)務(wù)深圳APP開(kāi)發(fā)程序員遇到過(guò)下面3個(gè)問(wèn)題。
1.表情在MySQL的存儲(chǔ)
表隋UTF-8編碼有的是3個(gè)字節(jié),有的是4個(gè)字節(jié),所以般的UTF編碼(長(zhǎng)度只有3個(gè)字節(jié))是沒(méi)法存儲(chǔ)表情數(shù)據(jù)的在網(wǎng)上看到個(gè)常用的解決方案:把MvSQL升級(jí)到5.5以上,然后把字符編碼改//utf8Ⅲb4_general_ci但實(shí)際情況是,有可能在以前的App版本中不需要支持表情,這時(shí)系統(tǒng)已經(jīng)運(yùn)營(yíng)了段時(shí)司后才升級(jí)MvSQL,需要很高的運(yùn)維成本,同時(shí)具備一定的風(fēng)險(xiǎn),例如,遷移前的不同MySQL版本間需要數(shù)據(jù)同步,保證數(shù)據(jù)的致性;遷移過(guò)程中可能出現(xiàn)意想不到的事隋,造成服務(wù)停止。實(shí)踐中APP開(kāi)發(fā)程序員發(fā)現(xiàn)了個(gè)適用于MySQL5.1的表情存儲(chǔ)方法:把含有表情數(shù)據(jù)的字段類(lèi)型變hblob,沒(méi)錯(cuò),就是用二進(jìn)制存儲(chǔ),這樣就能在改動(dòng)MySQL最少的隋況下支持表情數(shù)據(jù)。
2.APP開(kāi)發(fā)處理當(dāng)文字中夾帶表情的處理
很多時(shí)候如果文字中夾帶表情,那么這些文字的處理就會(huì)出現(xiàn)問(wèn)題,例如,如果個(gè)用戶(hù)的昵稱(chēng)帶有表情,那么如何把這個(gè)昵稱(chēng)轉(zhuǎn)換為拼音呢?在推送APNS過(guò)程中,如果推送的文字中夾帶表情,推送到App端后會(huì)顯示亂碼。
在App后臺(tái)存在著大量要處理文字中夾帶表情的需求。筆者遇到了這個(gè)問(wèn)題,先是找到了htt ps:/J git hub. com/iamcal/PHP-emoj uZ個(gè)轉(zhuǎn)換
表情的類(lèi)庫(kù),但發(fā)現(xiàn)這個(gè)類(lèi)庫(kù)不支持iOS6后新增的表情,最后沒(méi)辦法了,筆者寫(xiě)了個(gè)抓取程序http:J/punchdrunker.githubio/iosemoji/table_html/ios6/index. html中iOS6后新增的表隋抓取出來(lái),寫(xiě)了個(gè)新的類(lèi)庫(kù)并開(kāi)源r https://githubcoⅢ/newj ueqi/converemojit ostr,這個(gè)類(lèi)庫(kù)的作用就是把文字中夾帶的表情替換為一個(gè)特殊的字符(默認(rèn)是“#”).
3.APP開(kāi)發(fā)處理表情方法4.3 0penfire中發(fā)送表情引起連接斷開(kāi)的問(wèn)題,Openfire中如果客戶(hù)端發(fā)送某些特殊的字符(例如些表情符號(hào)).xmpp會(huì)斷開(kāi)客戶(hù)端的連接,經(jīng)查這個(gè)問(wèn)題是由Openfire的以下代碼引起的。


深圳APP開(kāi)發(fā)關(guān)于如何處理可靠短信驗(yàn)證以及如何在數(shù)據(jù)中夾帶表情的制作經(jīng)驗(yàn)我們就分享到這里,后期我們會(huì)繼續(xù)就APP開(kāi)發(fā)如何更高效的處理數(shù)據(jù)進(jìn)行講解,敬請(qǐng)持續(xù)關(guān)注本站后期相關(guān)類(lèi)型文章。博納網(wǎng)絡(luò)編輯整理。