本發(fā)明屬于彩信展現(xiàn)領(lǐng)域,具體涉及一種基于web規(guī)范的彩信展現(xiàn)方法。
背景技術(shù):
現(xiàn)有的彩信內(nèi)容展現(xiàn)方式是基于oma組織的smil的,已多年未改變。smil雖然具備對彩信內(nèi)容的布局描述的能力,但能力有限,僅能進行諸如背景、位置、字體、字號等簡單描述,且基本為靜態(tài)的展現(xiàn)方式,因此展現(xiàn)給用戶的彩信內(nèi)容永遠(yuǎn)是單板的、缺乏吸引力的,這特別對于基于彩信的廣告推送是很不利的。
如果彩信攜帶html類型附件,現(xiàn)有彩信實現(xiàn)技術(shù)僅支持將其保存到終端本地文件系統(tǒng)內(nèi),然后用戶能做的是在終端文件管理器內(nèi)找到剛才保存的html類型附件,然后通過web瀏覽器打開并閱讀它,這個過程涉及了彩信應(yīng)用與第三方應(yīng)用的協(xié)作,比較繁瑣,用戶操作體驗差。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的上述技術(shù)問題,本發(fā)明提出了一種基于web規(guī)范的彩信展現(xiàn)方法,設(shè)計合理,克服了現(xiàn)有技術(shù)的不足,具有良好的效果。
為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于web規(guī)范的彩信展現(xiàn)方法,包括如下步驟:
步驟1:彩信接收方接收由運營商彩信服務(wù)器轉(zhuǎn)發(fā)來的包括smil數(shù)據(jù)和part數(shù)據(jù)在內(nèi)的彩信數(shù)據(jù);
步驟2:彩信接收方對smil數(shù)據(jù)和part數(shù)據(jù)進行解析;
步驟3:判斷smil數(shù)據(jù)是否為空;
若:判斷結(jié)果為smil數(shù)據(jù)為空,則執(zhí)行步驟4;
或判斷結(jié)果為smil數(shù)據(jù)不為空,則在彩信播放界面內(nèi)使用原始的彩信展現(xiàn)流程;
步驟4:判斷part數(shù)據(jù)的壓縮類型是否為gzip壓縮類型,且其content-type(內(nèi)容類型)是否為text/plain(純文本);
若:判斷結(jié)果為part數(shù)據(jù)的壓縮類型為gzip壓縮類型,且其content-type(內(nèi)容類型)為text/plain(純文本),則在彩信播放界面內(nèi)使用操作系統(tǒng)提供的webview組件渲染展現(xiàn)超文本標(biāo)記語言html(hypertextmark-uplanguage,超文本標(biāo)記語言)數(shù)據(jù);
或判斷結(jié)果為part數(shù)據(jù)的壓縮類型不為gzip壓縮類型,且其content-type(內(nèi)容類型)不為text/plain(純文本),則在彩信播放界面內(nèi)使用原始的彩信展現(xiàn)流程;
步驟5:結(jié)束。
本發(fā)明所帶來的有益技術(shù)效果:
本發(fā)明使用基于web的彩信接收解析展現(xiàn)方法,可以向用戶展現(xiàn)更豐富、生動、靈活的彩信內(nèi)容。
附圖說明
圖1為一種基于web規(guī)范的彩信展現(xiàn)方法的流程圖。
圖2為使用本發(fā)明的彩信客戶端顯示部分的組成結(jié)構(gòu)示意圖。
圖3為使用現(xiàn)有彩信播放實現(xiàn)技術(shù)的彩信客戶端顯示部分的組成結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖以及具體實施方式對本發(fā)明作進一步詳細(xì)說明:
本發(fā)明要兼容現(xiàn)有彩信的展現(xiàn)方式,以便可以正常展現(xiàn)其它終端發(fā)送過來的彩信。
我們知道,彩信的下載是通過http協(xié)議的multipart方式實現(xiàn),一般的,彩信中至少包含兩部分即smil部分和附件部分,從http的multipart角度描述,即part1為smil數(shù)據(jù)、part2為附件數(shù)據(jù),比如終端接收到的彩信中包含兩張圖片,每張圖片帶有一段文字描述,那么,httpmultipart數(shù)據(jù)的結(jié)構(gòu)應(yīng)如下顯示:
即存在5個part,part1標(biāo)識smil數(shù)據(jù)段,part2標(biāo)識圖片1,part3標(biāo)識圖片1攜帶的文字描述,part4標(biāo)識圖片2,part5標(biāo)識圖片1攜帶的文字描述。
對于彩信數(shù)據(jù)打包方式的擴展-----
multipartbody
----part:1,content-type:application/smil
----part:2,content-type:plain/html
對于part1包含的smil數(shù)據(jù),我們將其定義為一個“空”文件,以方便接收端識別該彩信,如下所示:
對于part2包含的html數(shù)據(jù),使用標(biāo)準(zhǔn)的w3chtml/css、ecmascript規(guī)范,但對其進行g(shù)zip形式的數(shù)據(jù)壓縮。因為大多數(shù)移動運營商對于彩信的大小是有限制的,比如國內(nèi)運營商的300kb上限,數(shù)據(jù)壓縮后,可以使單條彩信攜帶更多的數(shù)據(jù)。
被壓縮前的數(shù)據(jù)框架如下:
彩信的內(nèi)容提供方可以在此框架內(nèi)組織編輯符合w3c、ecmascript規(guī)范的內(nèi)容。
如果一個不支持本發(fā)明的彩信終端接收到了該類型彩信數(shù)據(jù),那么它在展現(xiàn)該彩信時將呈現(xiàn)一個攜帶壓縮形式html附件的空白的彩信,用戶依然可以保存該html附件并使用相應(yīng)工具瀏覽它。
展現(xiàn)這些數(shù)據(jù)的實現(xiàn)流程如圖1所示。
圖1中提到的系統(tǒng)的webview組件是指目前主流移動操作系統(tǒng)都會攜帶的一個系統(tǒng)組件,主要作用是加載、渲染web數(shù)據(jù),使用本發(fā)明的彩信客戶端顯示部分的組成如圖2所示。
即在發(fā)現(xiàn)彩信數(shù)據(jù)內(nèi)包含html數(shù)據(jù)時,彩信播放界面由一個系統(tǒng)的webview組件構(gòu)成,所有彩信數(shù)據(jù)的渲染、顯示、用戶交互操作均交由webview組件處理。
如果接收到的彩信數(shù)據(jù)為現(xiàn)有smil方式數(shù)據(jù),則彩信客戶端顯示部分的組成使用現(xiàn)有彩信播放實現(xiàn)技術(shù),如圖3所示。
本發(fā)明中提到如果接收到的http數(shù)據(jù)的part2段數(shù)據(jù)content-type為plain/html(即part2段數(shù)據(jù)標(biāo)識為web數(shù)據(jù)),且part1段數(shù)據(jù)標(biāo)識的smil數(shù)據(jù)為空,那么,本發(fā)明將使用操作系統(tǒng)提供的webview組件加載part2段標(biāo)識的web數(shù)據(jù)。
當(dāng)然,上述說明并非是對本發(fā)明的限制,本發(fā)明也并不僅限于上述舉例,本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明的實質(zhì)范圍內(nèi)所做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護范圍。