最近筆者聯(lián)合朋友做了一款出行的應(yīng)用產(chǎn)品福侈,正好有短信驗證工具這塊的需求酒来,于是在網(wǎng)上找了很多家廠商; 為了找到一家性價比高的廠商癌刽,則把每一家的優(yōu)缺點列出來并一 一對比役首。短信驗證碼作為重要的身份驗證工具,因其操作簡便显拜、安全性高衡奥、時效性強等優(yōu)點已被開發(fā)人員廣泛使用。
短信驗證碼在我們產(chǎn)品主要應(yīng)用場景為:
1. 用戶手機號綁定
2. 登錄驗證
3. 關(guān)鍵信息修改远荠,如密碼
4. 人員身份有效性確認
通過場景+自己的需求點(如:1矮固、盡量接一個接口多家渠道;2譬淳、通道安全档址,到達率高;3邻梆、費用優(yōu)惠……)守伸,我最終選擇了極光短信~~
下面此圖則是我對極光短信的一些初步了解
注:根據(jù)cmpp協(xié)議里的規(guī)則每條短信長度的都是有限的,每70個字記一條短信費浦妄,如果超過70個字則按照每條67個字拆分尼摹,逐條計費。單個漢字剂娄、標點蠢涝、英文都算一個字(對于協(xié)議,在下文有詳細的解釋)阅懦。
產(chǎn)品優(yōu)勢
1和二、集成簡單
移動端SDK兩行代碼快速完成短息驗證功能集成
2、多供應(yīng)商通道保證
精選多家優(yōu)質(zhì)短信服務(wù)提供商互為備份耳胎,保證短信服務(wù)的可靠性
3惯吕、清晰統(tǒng)計和記錄
完整的消息發(fā)送記錄和狀態(tài)記錄查詢惕它,透明的計費統(tǒng)計
4、高并發(fā) 高到達率 高穩(wěn)定性
三網(wǎng)通道均有接入废登,多層架構(gòu)怠缸,均衡負載,接收快钳宪,到達率高
5、結(jié)合推送 降低成本
針對推送未收到消息的用戶補充下發(fā)短信扳炬,既保證消息觸達又節(jié)省成本
更多詳細內(nèi)容吏颖,還是建議去官方網(wǎng)站看看,那比我的這個更加詳細 點擊查看
協(xié)議內(nèi)容:
每個短信需要增加長短信的協(xié)議頭(6個字節(jié))恨樟,所以半醉,每條短信就不是70個了,而是67個漢字劝术。
超長短信:短信內(nèi)容超過70個漢字缩多,提交給網(wǎng)關(guān)時候需要分成多條,但是用戶手機接收時候是一條(很多手機有合并長短功能)
在cmpp協(xié)議里养晋,CMPP-_SUBMIT消息定義中有相應(yīng)的參數(shù)配置:?
TP_udhi :0代表內(nèi)容體里不含有協(xié)議頭信息 1代表內(nèi)容含有協(xié)議頭信息(長短信衬吆,push短信等都是在內(nèi)容體上含有頭內(nèi)容的)當設(shè)置內(nèi)容體包含協(xié)議頭,需要根據(jù)協(xié)議寫入相應(yīng)的信息绳泉,長短信協(xié)議頭有兩種:??
6位協(xié)議頭格式:05 00 03 XX MM NN??
byte 1 : 05, 表示剩余協(xié)議頭的長度??
byte 2 : 00, 這個值在GSM 03.40規(guī)范9.2.3.24.1中規(guī)定逊抡,表示隨后的這批超長短信的標識位長度為1(格式中的XX值)。??
byte 3 : 03, 這個值表示剩下短信標識的長度??
byte 4 : XX零酪,這批短信的唯一標志(被拆分的多條短信,此值必需一致)冒嫡。代表是一條長短信里面的某條。??
byte 5 : MM, 這批短信的數(shù)量四苇。如果一個超長短信總共5條孝凌,這里的值就是5。??
byte 6 : NN, 這批短信的數(shù)量月腋。如果當前短信是這批短信中的第一條的值是1蟀架,第二條的值是2。??
例如:05 00 03 39 02 01
7位的協(xié)議頭格式:06 08 04 XX XX MM NN??
byte 1 : 06, 表示剩余協(xié)議頭的長度??
byte 2 : 08, 這個值在GSM 03.40規(guī)范9.2.3.24.1中規(guī)定罗售,表示隨后的這批超長短信的標識位長度為2(格式中的XX值)辜窑。??
byte 3 : 04, 這個值表示剩下短信標識的長度??
byte 4-5 : XX XX,這批短信的唯一標志(被拆分的多條短信,此值必需一致)寨躁。代表是一條長短信里面的某條穆碎。??
byte 6 : MM, 這批短信的數(shù)量。如果一個超長短信總共5條职恳,這里的值就是5所禀。??
byte 7 : NN, 這批短信的數(shù)量方面。如果當前短信是這批短信中的第一條的值是1,第二條的值是2色徘。??
例如:06 08 04 00 39 02 01?
到此恭金,長短信的發(fā)送設(shè)置基本完成,但是有一點要注意:Src_Id 協(xié)議里這個字段在一條長短信中必須要一樣褂策,不然手機會解析成三條横腿,并三條都 是錯誤短信。