一種消息推送方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種消息推送方法和裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,人們生活中會(huì)使用到越來(lái)越多的客戶端用以獲取互聯(lián)網(wǎng)服務(wù),而針對(duì)不同版本號(hào)、不同機(jī)型適配、不同語(yǔ)言適配會(huì)推出很多不同版本的客戶端,這些不同版本的客戶端支持的讀取能力不一樣,有的支持視頻功能,有的版本不支持,有的支持文件傳輸,有的不支持,有的支持語(yǔ)音通話,有的不支持。面對(duì)日益繁多的客戶端版本以及各種客戶端的歷史版本,當(dāng)接收到不能支持的消息類型時(shí),或者無(wú)法展示,或者導(dǎo)致客戶端出錯(cuò)自動(dòng)關(guān)閉或停止運(yùn)行,甚至造成操作系統(tǒng)的崩潰,嚴(yán)重影響客戶端的正常使用。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題在于,提供一種消息推送方法和裝置,可對(duì)向客戶端推送經(jīng)過(guò)版本兼容處理的目標(biāo)消息,確??蛻舳四軌?qū)邮盏降南⑦M(jìn)行正常處理。
[0004]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種消息推送方法,所述方法包括:
[0005]在向客戶端推送目標(biāo)消息之前,獲取所述客戶端的版本標(biāo)識(shí)信息;
[0006]根據(jù)所述版本標(biāo)識(shí)信息獲取所述客戶端的消息讀取能力;
[0007]根據(jù)所述客戶端的消息讀取能力判斷所述客戶端是否支持讀取所述目標(biāo)消息;
[0008]若判斷所述客戶端不支持讀取所述目標(biāo)消息,則對(duì)所述目標(biāo)消息進(jìn)行版本兼容處理;
[0009]向所述客戶端推送經(jīng)過(guò)版本兼容處理的目標(biāo)消息。
[0010]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種消息推送裝置,包括:
[0011]版本標(biāo)識(shí)獲取模塊,用于在向客戶端推送目標(biāo)消息之前,獲取所述客戶端的版本標(biāo)識(shí)信息;
[0012]讀取能力獲取模塊,用于根據(jù)所述版本標(biāo)識(shí)信息獲取所述客戶端的消息讀取能力;
[0013]讀取能力判斷模塊,用于根據(jù)所述客戶端的消息讀取能力判斷所述客戶端是否支持讀取所述目標(biāo)消息;
[0014]版本兼容處理模塊,用于若讀取能力判斷模塊判斷所述客戶端不支持讀取所述目標(biāo)消息,則對(duì)所述目標(biāo)消息進(jìn)行版本兼容處理;
[0015]消息推送模塊,用于向所述客戶端推送經(jīng)過(guò)版本兼容處理的目標(biāo)消息。
[0016]本發(fā)明實(shí)施例通過(guò)在發(fā)送目標(biāo)消息前先獲取目標(biāo)客戶端的的消息讀取能力,在判斷客戶端不支持讀取所述目標(biāo)消息時(shí)對(duì)目標(biāo)消息進(jìn)行版本兼容處理,從而可以確??蛻舳四軌?qū)邮盏降南⑦M(jìn)行成功處理,避免發(fā)生報(bào)錯(cuò)或客戶端中止工作等情況。
【附圖說(shuō)明】
[0017]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明實(shí)施例中的一種消息推送方法的流程示意圖;
[0019]圖2是本發(fā)明另一實(shí)施例中的消息推送方法的流程示意圖;
[0020]圖3是本發(fā)明另一實(shí)施例中的消息推送方法的流程示意圖;
[0021]圖4是本發(fā)明實(shí)施例中的一種消息推送裝置的結(jié)構(gòu)示意圖;
[0022]圖5是本發(fā)明實(shí)施例中消息推送裝置的讀取能力判斷模塊的結(jié)構(gòu)示意圖;
[0023]圖6是本發(fā)明實(shí)施例中消息推送裝置的版本兼容處理模塊的結(jié)構(gòu)示意圖;
[0024]圖7是本發(fā)明實(shí)施例中的客戶端的消息讀取能力的一種表現(xiàn)形式。
【具體實(shí)施方式】
[0025]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]本發(fā)明實(shí)施例中的消息推送方法可以由消息推送裝置實(shí)施,例如消息推送服務(wù)器或其他可以向客戶端推送消息的網(wǎng)絡(luò)單元執(zhí)行,例如另一個(gè)客戶端、或網(wǎng)絡(luò)消息轉(zhuǎn)發(fā)裝置等。示例性的,本發(fā)明實(shí)施例中的消息推送裝置可以為即時(shí)通訊服務(wù)器、應(yīng)用后臺(tái)服務(wù)器、網(wǎng)頁(yè)服務(wù)器或SNS (Social Networking Services,即社會(huì)性網(wǎng)絡(luò)服務(wù))服務(wù)器等,可以為單獨(dú)的服務(wù)器設(shè)備,也可以由多個(gè)實(shí)現(xiàn)具體功能的服務(wù)器設(shè)備組成的服務(wù)器集群。
[0027]圖1是本發(fā)明實(shí)施例中的一種消息推送方法的流程示意圖,如圖所示本實(shí)施例中的消息推送方法可以包括:
[0028]S101,在向客戶端推送目標(biāo)消息之前,獲取所述客戶端的版本標(biāo)識(shí)信息。
[0029]所述目標(biāo)消息可以為即時(shí)通訊消息、應(yīng)用事件消息、系統(tǒng)消息、SNS消息或網(wǎng)頁(yè)消息等。具體的,消息推送裝置在確定需要向客戶端推送目標(biāo)消息后,首先通過(guò)執(zhí)行本實(shí)施例中的S101?S103判斷客戶端是否支持讀取所述目標(biāo)消息。所述客戶端的版本標(biāo)識(shí)信息可以包括平臺(tái)類型(如android版、1s版、windows版)、語(yǔ)言類型(中文版、英文版、日文版)、主打功能類型(例如輕聊版、實(shí)時(shí)對(duì)講版、標(biāo)準(zhǔn)版)以及版本號(hào)(如1.0、2.0、3.0)中的任一種。
[0030]在可選實(shí)施例中,消息推送裝置可以通過(guò)獲取所述客戶端的登錄狀態(tài)信息從而獲取所述客戶端的版本標(biāo)識(shí)信息,所述登錄狀態(tài)信息可以為所述客戶端在登錄時(shí)或登錄后的任意時(shí)刻上報(bào)的,可以包括所述客戶端的登錄賬號(hào)、在線狀態(tài)以及版本標(biāo)識(shí)信息等。在可選實(shí)施例中,可以由登錄狀態(tài)管理服務(wù)器負(fù)責(zé)管理各個(gè)用戶對(duì)應(yīng)的客戶端的登錄狀態(tài)信息,當(dāng)消息推送裝置需要時(shí)可以從所述登錄狀態(tài)管理服務(wù)器獲取到對(duì)應(yīng)客戶端的登錄狀態(tài)信息。
[0031]S102,根據(jù)所述版本標(biāo)識(shí)信息獲取所述客戶端的消息讀取能力。
[0032]具體的,可以在推出各個(gè)版本的客戶端時(shí),記錄下每個(gè)版本客戶端的消息讀取能力以及該版本的版本標(biāo)識(shí)信息,從而建立版本標(biāo)識(shí)信息和該版本客戶端的消息讀取能力之間的對(duì)應(yīng)關(guān)系,消息推送裝置在向客戶端推送目標(biāo)消息之前,可以根據(jù)獲取到的版本標(biāo)識(shí)信息在該預(yù)設(shè)的版本標(biāo)識(shí)信息和該版本客戶端的消息讀取能力之間的對(duì)應(yīng)關(guān)系中查找與獲取到的版本標(biāo)識(shí)信息對(duì)應(yīng)的該版本客戶端消息讀取能力。示例性的某個(gè)版本客戶端的消息讀取能力可以如圖7所示,包括該版本客戶端支持的至少一種讀取能力,圖中勾選了的表示該版本客戶端支持該讀取能力。
[0033]在可選實(shí)施例中,可以由版本能力管理服務(wù)器負(fù)責(zé)管理各個(gè)版本客戶端的消息讀取能力,當(dāng)消息推送裝置需要時(shí)可以根據(jù)獲取到的版本標(biāo)識(shí)信息從所述版本能力管理服務(wù)器獲取所述客戶端的消息讀取能力。
[0034]S103,根據(jù)所述客戶端的消息讀取能力判斷所述客戶端是否支持讀取所述目標(biāo)消息。
[0035]即根據(jù)所述客戶端的消息讀取能力判斷所述客戶端是否能夠展示所述目標(biāo)消息。如所述目標(biāo)消息為語(yǔ)音消息,若消息推送裝置根據(jù)所述客戶端的消息讀取能力確定所述客戶端支持播放語(yǔ)音消息,則確定所述客戶端支持讀取所述目標(biāo)消息,反之則確定所述客戶端不支持讀取所述目標(biāo)消息。
[0036]在可選實(shí)施例中,消息推送裝置可以首先獲取所述目標(biāo)消息的消息類型,進(jìn)而根據(jù)預(yù)設(shè)的消息類型與其所需的讀取能力之間的對(duì)應(yīng)關(guān)系,獲取所述目標(biāo)消息所需對(duì)應(yīng)的至少一個(gè)讀取能力,然后判斷所述客戶端的消息讀取能力中是否包括所述目標(biāo)消息所需對(duì)應(yīng)的所有讀取能力,若是則確定所述客戶端支持讀取所述目標(biāo)消息,否則確定所述客戶端不支持讀取所述目標(biāo)消息。在該實(shí)施例中,開(kāi)發(fā)人員可以在每定義一種新的消息類型時(shí),即隨之定義或設(shè)置客戶端為了展示該類型的消息所需要支持的讀取能力,從而消息推送裝置可以在需要時(shí)獲取到不同消息類型所需的讀取能力。
[0037]S104,若判斷所述客戶端不支持讀取所述目標(biāo)消息,則對(duì)所述目標(biāo)消息進(jìn)行版本兼容處理。
[0038]具體實(shí)現(xiàn)中,消息推送裝置可以將所述目標(biāo)消息轉(zhuǎn)化為特定格式的消息類型,特定格式的消息類型