本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種消息提醒方法和裝置。
背景技術(shù):
即時(shí)通訊產(chǎn)品極大的便利了人們的生活,但如今用戶在使用即時(shí)通訊產(chǎn)品參與多人會(huì)話進(jìn)行聊天時(shí),越來(lái)越多的垃圾消息流給用戶的閱讀帶來(lái)煩惱,用戶不想或者沒(méi)有時(shí)間瀏覽所有的多人會(huì)話中的消息,傳統(tǒng)技術(shù)中用戶可以設(shè)置屏蔽相應(yīng)多人會(huì)話或者接收但不提醒相應(yīng)多人會(huì)話中的消息,但又這樣可能錯(cuò)過(guò)多人會(huì)話中的重要信息,對(duì)用戶信息的獲取造成干擾與不便。
傳統(tǒng)技術(shù)中,需要用戶打開(kāi)對(duì)應(yīng)的多人會(huì)話界面查找需要關(guān)注的信息,不利于用戶獲取感興趣的關(guān)鍵信息。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對(duì)上述問(wèn)題,提供一種消息提醒方法和裝置,能夠在會(huì)話列表最小化的情況下顯示提醒標(biāo)記信息,提高了關(guān)鍵信息提醒的實(shí)時(shí)性和獲取關(guān)鍵信息的針對(duì)性和便利性。
一種消息提醒方法,所述方法包括:
當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話中的消息,如果所述消息為關(guān)鍵提醒消息,則視覺(jué)層獲取與所述關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息;
所述視覺(jué)層進(jìn)行重繪制,將所述提醒標(biāo)記信息顯示在所述會(huì)話最小化列表中所述多人會(huì)話對(duì)應(yīng)的提醒位置。
一種消息提醒裝置,其特征在于,所述裝置包括:
提醒信息獲取模塊,用于當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話中的消息,如果所述消息為關(guān)鍵提醒消息,則視覺(jué)層獲取與所述關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息;
提醒顯示模塊,用于所述視覺(jué)層進(jìn)行重繪制,將所述提醒標(biāo)記信息顯示在所述會(huì)話最小化列表中所述多人會(huì)話對(duì)應(yīng)的提醒位置。
上述消息提醒方法和裝置,在多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話消息,并對(duì)接收的多人會(huì)話消息進(jìn)行檢測(cè),當(dāng)檢測(cè)到接收的多人會(huì)話消息為關(guān)鍵提醒信息時(shí),視覺(jué)層獲取與關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息,并根據(jù)提醒標(biāo)記信息進(jìn)行重繪制,以將提醒標(biāo)記信息顯示在會(huì)話最小化列表中所述多人會(huì)話對(duì)應(yīng)的提醒位置,能夠?qū)崟r(shí)從獲取的消息中檢測(cè)識(shí)別關(guān)鍵信息,并對(duì)關(guān)鍵消息進(jìn)行標(biāo)記和顯示提醒,不需要展開(kāi)多人會(huì)話就可在多人會(huì)話對(duì)應(yīng)的位置顯示提醒標(biāo)記信息,且提醒標(biāo)記信息與關(guān)鍵提醒消息對(duì)應(yīng),不同的關(guān)鍵提醒消息對(duì)應(yīng)不同的提醒標(biāo)記信息,便于用戶通過(guò)提醒標(biāo)記信息識(shí)別感興趣的信息,提高了關(guān)鍵信息提醒的實(shí)時(shí)性和獲取關(guān)鍵信息的針對(duì)性和便利性。
附圖說(shuō)明
圖1為一個(gè)實(shí)施例中消息提醒方法應(yīng)用環(huán)境圖;
圖2為圖1中終端的內(nèi)部結(jié)構(gòu)圖;
圖3為一個(gè)實(shí)施例中消息提醒方法的流程圖;
圖4為另一個(gè)實(shí)施例中消息提醒方法的流程圖;
圖5為一個(gè)實(shí)施例中獲取提醒標(biāo)記信息的方法流程圖;
圖6為另一個(gè)實(shí)施例中獲取提醒標(biāo)記信息的方法流程圖;
圖7為一個(gè)實(shí)施例中獲取關(guān)注用戶消息類型方法的流程圖;
圖8為圖7中當(dāng)前特別關(guān)注用戶列表獲取時(shí)序圖;
圖9為一個(gè)實(shí)施例中消息提醒方法的流程圖;
圖10為另一個(gè)實(shí)施例中消息提醒方法的流程圖;
圖11為又一個(gè)實(shí)施例中消息提醒方法的流程圖;
圖12為一個(gè)具體實(shí)施例中的消息提醒方法的流程圖;
圖13為一個(gè)實(shí)施例中為會(huì)話列表最小化狀態(tài)中消息提醒顯示界面圖;
圖14為另一個(gè)實(shí)施例中會(huì)話列表最小化狀態(tài)中消息提醒顯示界面圖;
圖15為一個(gè)實(shí)施例中其中一個(gè)多人會(huì)話對(duì)應(yīng)的展開(kāi)界面圖;
圖16為另一個(gè)實(shí)施例中其中一個(gè)多人會(huì)話對(duì)應(yīng)的展開(kāi)界面圖;
圖17為圖16中提醒消息展示界面圖;
圖18為一個(gè)實(shí)施例中消息提醒裝置的結(jié)構(gòu)框圖;
圖19為一個(gè)實(shí)施例中提醒標(biāo)記信息獲取模塊的結(jié)構(gòu)框圖;
圖20為一個(gè)實(shí)施例中關(guān)鍵提醒標(biāo)記設(shè)置模塊的結(jié)構(gòu)框圖;
圖21為一個(gè)實(shí)施例中顯示關(guān)鍵提醒消息的模塊的結(jié)構(gòu)框圖;
圖22為一個(gè)實(shí)施例中消息提醒裝置的結(jié)構(gòu)框圖;
圖23為另一個(gè)實(shí)施例中消息提醒裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為一個(gè)實(shí)施例中消息提醒方法的應(yīng)用環(huán)境圖。如圖1所示,該應(yīng)用環(huán)境包括第一終端110、服務(wù)器120和第二終端130,其中第一終端110和服務(wù)器120以及服務(wù)器120與第二終端130之間可通過(guò)網(wǎng)絡(luò)進(jìn)行通信。第一終端110與第二終端130可通過(guò)多人會(huì)話界面進(jìn)行多人會(huì)話,第一終端110與第二終端130可同時(shí)運(yùn)行一個(gè)或多個(gè)多人會(huì)話,同時(shí)第一終端能夠在多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收服務(wù)器120發(fā)送的消息,第一終端110接收的消息可以為服務(wù)器120自動(dòng)生成的系統(tǒng)消息,也可以為第二終端130通過(guò)服務(wù)器120向第一終端110發(fā)送的消息。第一終端110對(duì)接收到的消息進(jìn)行檢測(cè),當(dāng)檢測(cè)到接收的消息為關(guān)鍵提醒消息時(shí),通知第一終端110中的視覺(jué)層獲取與關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息,并根據(jù)提醒標(biāo)記信息進(jìn)行繪制,從而在第一終端110多人會(huì)話的會(huì)話列表最小化界面中多人會(huì)話對(duì)應(yīng)的提醒位置顯示提醒標(biāo)記信息,實(shí)現(xiàn)對(duì)關(guān)鍵信息的提醒。其中,術(shù)語(yǔ)“第一終端”、“第二終端”僅用于區(qū)分不同的終端,終端不受術(shù)語(yǔ)的限制,例如,第一終端可稱作第二終端。第一終端110或第二終端130可以是但不僅限于是智能手機(jī)、平板電腦、筆記本電腦、穿戴設(shè)備等。
圖2為一個(gè)實(shí)施例中圖1中終端的內(nèi)部結(jié)構(gòu)示意圖。如圖2所示,該終端包括通過(guò)系統(tǒng)總線連接的處理器、非易失性存儲(chǔ)介質(zhì)、內(nèi)存儲(chǔ)器和網(wǎng)絡(luò)接口、顯示屏和輸入裝置。其中,終端的非易失性存儲(chǔ)介質(zhì)存儲(chǔ)有操作系統(tǒng),還包括一種消息提醒裝置,該消息提醒裝置用于實(shí)現(xiàn)一種消息提醒方法。該處理器用于提供計(jì)算和控制能力,支撐整個(gè)終端的運(yùn)行。終端中的內(nèi)存儲(chǔ)器為非易失性存儲(chǔ)介質(zhì)中的消息提醒裝置的運(yùn)行提供環(huán)境,該內(nèi)存儲(chǔ)器中可儲(chǔ)存有計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被所述處理器執(zhí)行時(shí),可使得所述處理器執(zhí)行一種消息提醒方法。網(wǎng)絡(luò)接口用于與服務(wù)器進(jìn)行網(wǎng)絡(luò)通信,如發(fā)送獲取消息請(qǐng)求至服務(wù)器,接收服務(wù)器返回或主動(dòng)發(fā)送的消息等。終端的顯示屏可以是液晶顯示屏或者電子墨水顯示屏等,輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是終端外殼上設(shè)置的按鍵、軌跡球或觸控板,也可以是外接的鍵盤、觸控板或鼠標(biāo)等。該終端可以是手機(jī)、平板電腦或者個(gè)人數(shù)字助理或穿戴式設(shè)備等。本領(lǐng)域技術(shù)人員可以理解,圖2中示出的結(jié)構(gòu),僅僅是與本申請(qǐng)方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對(duì)本申請(qǐng)方案所應(yīng)用于其上的終端的限定,具體的終端可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
如圖3所示,在一個(gè)實(shí)施例中,提供一種消息提醒方法,包括如下內(nèi)容:
步驟s310,當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話中的消息。
具體地,多人會(huì)話是指三個(gè)或三個(gè)以上用戶組成的即時(shí)通信會(huì)話,如群組或討論組等,多人會(huì)話可集成于即時(shí)通信應(yīng)用、社交應(yīng)用、多媒體應(yīng)用等各種應(yīng)用中,提供即時(shí)通信功能。在同一個(gè)多人會(huì)話中的多個(gè)用戶之間能夠相互發(fā)送消息,一個(gè)用戶能夠參與多個(gè)不同的多人會(huì)話;多個(gè)多人會(huì)話之間相互不影響,多個(gè)不同的多人會(huì)話能夠分別以最小化形式形成會(huì)話最小化列表,多人會(huì)話最小化形式是指只顯示多人會(huì)話的名稱和/或圖像,不展開(kāi)多人會(huì)話對(duì)應(yīng)的具體消息內(nèi)容界面。
多人會(huì)話中的消息可以是其它終端通過(guò)服務(wù)器轉(zhuǎn)發(fā)的消息,也可以是服務(wù)器根據(jù)用戶設(shè)置到達(dá)預(yù)設(shè)條件時(shí)生成的消息,根據(jù)消息內(nèi)容和/或形式的不同,分成不同的消息類型,消息類型包括文本消息、系統(tǒng)表情、結(jié)構(gòu)化消息、視頻消息、通用消息等消息對(duì)應(yīng)的消息類型。
步驟s320,如果消息為關(guān)鍵提醒消息,則視覺(jué)層獲取與關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息。
具體地,關(guān)鍵提醒消息是指為預(yù)設(shè)關(guān)鍵消息類型的消息,即需要用戶特別關(guān)注或者用戶感興趣的消息。預(yù)設(shè)關(guān)鍵消息類型可根據(jù)需要自定義,可設(shè)置默認(rèn)預(yù)設(shè)關(guān)鍵消息類型,也可從默認(rèn)預(yù)設(shè)關(guān)鍵消息類型中選擇目標(biāo)關(guān)鍵消息類型,只關(guān)注感興趣的關(guān)鍵消息類型,也可根據(jù)用戶行為信息為不同用戶篩選對(duì)應(yīng)的目標(biāo)關(guān)鍵消息類型,或根據(jù)多人會(huì)話基本信息,如多人會(huì)話所屬的類別等,為不同的多人會(huì)話篩選對(duì)應(yīng)的目標(biāo)關(guān)鍵消息類型,如多人會(huì)話的主題是星座,則目標(biāo)關(guān)鍵消息類型為星座類消息,多人會(huì)話的主題是經(jīng)濟(jì),則目標(biāo)關(guān)鍵消息類型為理財(cái)消息等,從而使得從多人會(huì)話識(shí)別的關(guān)鍵提醒消息與多人會(huì)話相匹配,提高多人會(huì)話的主題針對(duì)性。提醒標(biāo)記信息是指用于提醒用戶多人會(huì)話中存在關(guān)鍵提醒消息的標(biāo)記信息,不同的關(guān)鍵提醒信息對(duì)應(yīng)不同的提醒標(biāo)記信息,預(yù)先建立關(guān)鍵提醒消息與提醒標(biāo)記信息的對(duì)應(yīng)關(guān)系。
每個(gè)多人會(huì)話分別對(duì)該多人會(huì)話中的消息進(jìn)行處理,實(shí)時(shí)接收多人會(huì)話中的消息,并對(duì)接收到的消息進(jìn)行實(shí)時(shí)檢測(cè),當(dāng)檢測(cè)到當(dāng)前接收的消息為關(guān)鍵提醒消息時(shí),視覺(jué)層根據(jù)預(yù)先建立的關(guān)鍵提醒消息與提醒標(biāo)記信息的對(duì)應(yīng)關(guān)系,獲取當(dāng)前關(guān)鍵提醒信息對(duì)應(yīng)的提醒標(biāo)記信息。
步驟s330,視覺(jué)層進(jìn)行重繪制,將提醒標(biāo)記信息顯示在會(huì)話最小化列表中多人會(huì)話對(duì)應(yīng)的提醒位置。
具體地,視覺(jué)層獲取到當(dāng)前關(guān)鍵提醒信息對(duì)應(yīng)的提醒標(biāo)記信息后,根據(jù)提醒標(biāo)記信息對(duì)終端顯示界面進(jìn)行渲染,將提醒標(biāo)記消息顯示在會(huì)話最小化列表中當(dāng)前接收消息的多人會(huì)話對(duì)應(yīng)的提醒位置,以提醒用戶對(duì)應(yīng)的多人會(huì)話中存在用戶感興趣的消息。會(huì)話最小化列表中存在多個(gè)多人會(huì)話時(shí),每個(gè)多人會(huì)話根據(jù)對(duì)應(yīng)的消息顯示提醒標(biāo)記信息,互不影響,實(shí)現(xiàn)同時(shí)監(jiān)控多個(gè)多人會(huì)話的關(guān)鍵提醒信息,并在各個(gè)多個(gè)會(huì)話對(duì)應(yīng)的位置進(jìn)行提醒。
本實(shí)施例中,消息提醒方法,在多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話消息,并對(duì)接收的多人會(huì)話消息進(jìn)行檢測(cè),當(dāng)檢測(cè)到接收的多人會(huì)話消息為關(guān)鍵提醒信息時(shí),視覺(jué)層獲取與關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息,并根據(jù)提醒標(biāo)記信息進(jìn)行重繪制,以將提醒標(biāo)記信息顯示在會(huì)話最小化列表中多人會(huì)話對(duì)應(yīng)的提醒位置,能夠?qū)崟r(shí)從獲取的消息中檢測(cè)識(shí)別關(guān)鍵信息,并對(duì)關(guān)鍵消息進(jìn)行標(biāo)記和顯示提醒,不需要展開(kāi)多人會(huì)話就可在多人會(huì)話對(duì)應(yīng)的位置顯示提醒標(biāo)記信息,且提醒標(biāo)記信息與關(guān)鍵提醒消息對(duì)應(yīng),不同的關(guān)鍵提醒消息對(duì)應(yīng)不同的提醒標(biāo)記信息,便于用戶通過(guò)提醒標(biāo)記信息識(shí)別感興趣的信息,提高了關(guān)鍵信息提醒的實(shí)時(shí)性和獲取關(guān)鍵信息的針對(duì)性和便利性。
如圖4所示,在一個(gè)實(shí)施例中,消息為預(yù)設(shè)結(jié)構(gòu)的消息包體,步驟s310之后,還包括:
步驟s311,遍歷當(dāng)前消息包體中各個(gè)消息類型對(duì)應(yīng)的消息元素。
具體地,消息為預(yù)設(shè)結(jié)構(gòu)的消息包體,消息包體是指保存消息元素的結(jié)構(gòu)體,如結(jié)構(gòu)體msgpack,消息元素是指消息的具體內(nèi)容,通常情況下一個(gè)msgpack對(duì)應(yīng)一個(gè)消息,msgpack由服務(wù)器后臺(tái)發(fā)送到終端中對(duì)應(yīng)的多人會(huì)話客戶端,消息包體有兩種觸發(fā)機(jī)制,包括終端發(fā)送消息或服務(wù)器主動(dòng)推送。一個(gè)消息包體中可包括多個(gè)消息類型,每個(gè)消息類型可包括多個(gè)消息元素。當(dāng)實(shí)時(shí)接收到一個(gè)多人會(huì)話中的當(dāng)前消息時(shí),遍歷當(dāng)前消息對(duì)應(yīng)的消息包體中各個(gè)消息類型對(duì)應(yīng)的消息元素。例如,文本消息,系統(tǒng)表情,多人會(huì)話視頻消息等分別為不同的消息類型,具體的文本內(nèi)容為文本類的消息元素。
步驟s312,對(duì)當(dāng)前消息元素進(jìn)行檢測(cè),如果當(dāng)前消息元素為關(guān)鍵消息類型,則將多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中相同的關(guān)鍵消息類型設(shè)置關(guān)鍵提醒標(biāo)記,關(guān)鍵消息類型包括資源類型、時(shí)間提醒類型、關(guān)注用戶消息類型、當(dāng)前登錄用戶專屬消息類型、全體通知消息類型中的至少一種。
本實(shí)施例中,每一個(gè)多人會(huì)話唯一綁定一個(gè)數(shù)據(jù)結(jié)構(gòu)描述該多人會(huì)話中的關(guān)鍵消息類型和各個(gè)關(guān)鍵消息類型是否存在關(guān)鍵提醒標(biāo)記,對(duì)多人會(huì)話中的每一個(gè)消息的消息元素進(jìn)行遍歷,當(dāng)檢測(cè)到當(dāng)前消息元素為關(guān)鍵消息類型時(shí),在數(shù)據(jù)結(jié)構(gòu)中對(duì)相同關(guān)鍵消息類型設(shè)置關(guān)鍵提醒標(biāo)記,可以通過(guò)標(biāo)志位的方式對(duì)關(guān)鍵消息類型進(jìn)行標(biāo)記,將數(shù)據(jù)結(jié)構(gòu)中的關(guān)鍵消息類型對(duì)應(yīng)的標(biāo)志位置0,如果當(dāng)前消息元素為第一關(guān)鍵消息類型,則將第一關(guān)鍵消息類型對(duì)應(yīng)的標(biāo)志位置為1,從而只有多人會(huì)話中出現(xiàn)的關(guān)鍵消息類型才會(huì)在數(shù)據(jù)結(jié)構(gòu)中置1,沒(méi)有出現(xiàn)的關(guān)鍵消息類型在數(shù)據(jù)結(jié)構(gòu)中為0。一個(gè)消息包體中的不同消息元素對(duì)應(yīng)的關(guān)鍵消息類型均存儲(chǔ)在該多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中,一個(gè)多人會(huì)話中的關(guān)鍵消息類型的標(biāo)記也存儲(chǔ)在該多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中,數(shù)據(jù)結(jié)構(gòu)中對(duì)于相同的關(guān)鍵消息類型只需要標(biāo)記一次。若檢測(cè)到當(dāng)前消息元素為常規(guī)的文本消息,不是關(guān)鍵消息類型時(shí),正常接收文本消息,數(shù)據(jù)結(jié)構(gòu)中不存在該常規(guī)文本消息類型,也無(wú)需進(jìn)行標(biāo)記,非關(guān)鍵消息類型對(duì)應(yīng)的消息不進(jìn)行提醒。
進(jìn)一步地,關(guān)鍵消息類型包括資源類型、時(shí)間提醒類型、關(guān)注用戶消息類型、當(dāng)前登錄用戶專屬消息類型、全體通知消息類型中的至少一種。其中具體地,資源類型如紅包消息類型、時(shí)間提醒類型如多人會(huì)話中日歷功能對(duì)應(yīng)的消息類型、關(guān)注用戶消息類型如包括預(yù)先設(shè)置的特別關(guān)注的用戶標(biāo)識(shí)對(duì)應(yīng)的消息類型、當(dāng)前登錄用戶專屬消息類型如攜帶當(dāng)前登錄用戶對(duì)應(yīng)的用戶標(biāo)識(shí)的消息類型、全體通知消息類型如全體消息對(duì)應(yīng)的消息類型或多人會(huì)話公告對(duì)應(yīng)的消息類型。
具體地,將一個(gè)多人會(huì)話使用一個(gè)ctxgroup數(shù)據(jù)結(jié)構(gòu)唯一指定,且ctxgroup唯一綁定一個(gè)ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)描述該多人會(huì)話中的消息,當(dāng)獲取的消息為關(guān)鍵消息類型,如檢測(cè)到當(dāng)前消息元素對(duì)應(yīng)的消息類型為紅包時(shí),則在ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)中將紅包消息類型對(duì)應(yīng)的標(biāo)志位設(shè)置為預(yù)設(shè)值進(jìn)行標(biāo)記,如在ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)中將紅包消息類型對(duì)應(yīng)的標(biāo)志位設(shè)置為1,也就是設(shè)置紅包消息類型對(duì)應(yīng)的關(guān)鍵提醒標(biāo)記。若當(dāng)前消息元素對(duì)應(yīng)的消息類型為常規(guī)文本消息時(shí),正常接收對(duì)應(yīng)的文本消息,ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)不做處理。
步驟s313,獲取當(dāng)前消息元素對(duì)應(yīng)的下一個(gè)消息元素,將下一個(gè)消息元素作為當(dāng)前消息元素,進(jìn)入步驟s312,直至遍歷完當(dāng)前消息包體中的所有消息元素。
具體地,一個(gè)消息包體中對(duì)應(yīng)多個(gè)消息元素,因此可能存在多個(gè)不同的關(guān)鍵消息類型,對(duì)消息包體中的消息元素逐個(gè)進(jìn)行檢測(cè)。當(dāng)完成對(duì)當(dāng)前消息元素的檢測(cè)后,獲取當(dāng)前元素對(duì)應(yīng)的下一個(gè)消息元素,將下一個(gè)消息元素作為當(dāng)前消息元素進(jìn)行檢測(cè),重復(fù)執(zhí)行步驟s312。
進(jìn)一步地,若檢測(cè)到當(dāng)前元素為關(guān)鍵消息類型,檢測(cè)ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)中當(dāng)前是否已經(jīng)存在對(duì)應(yīng)的關(guān)鍵提醒標(biāo)記,如果存在,則不重新進(jìn)行標(biāo)記,如果不存在,則對(duì)當(dāng)前消息元素對(duì)應(yīng)的關(guān)鍵消息類型設(shè)置關(guān)鍵提醒標(biāo)記。例如,當(dāng)檢測(cè)到當(dāng)前消息元素為紅包時(shí),檢測(cè)到ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)中已經(jīng)將紅包消息類型對(duì)應(yīng)的標(biāo)志位設(shè)置為1進(jìn)行標(biāo)記,也就是存在紅包對(duì)應(yīng)的關(guān)鍵提醒標(biāo)記,則不重復(fù)對(duì)該紅包進(jìn)行標(biāo)記,也就是當(dāng)一個(gè)消息包體中消息元素對(duì)應(yīng)多個(gè)相同的消息類型時(shí),只對(duì)相同的消息類型標(biāo)記一次。若檢測(cè)到當(dāng)前消息元素為特別關(guān)注消息類型,且當(dāng)前在ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)中特別關(guān)注消息類型對(duì)應(yīng)的標(biāo)志位設(shè)置為0,則將ctxgroupinfomgr數(shù)據(jù)結(jié)構(gòu)中特別關(guān)注消息類型對(duì)應(yīng)的標(biāo)志位設(shè)置為1,設(shè)置特別關(guān)注消息類型對(duì)應(yīng)的關(guān)鍵提醒標(biāo)記,直至檢測(cè)完當(dāng)前消息包體中的所有消息元素。
步驟s314,如果當(dāng)前消息包體中存在關(guān)鍵消息類型的消息元素,則當(dāng)前消息為關(guān)鍵提醒消息。
具體地,若當(dāng)前消息包體中存在關(guān)鍵信息類型的消息元素,也就是當(dāng)前消息在多人會(huì)話中對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中存在關(guān)鍵提醒標(biāo)記,則說(shuō)明當(dāng)前消息包體對(duì)應(yīng)的消息中存在用戶感興趣的內(nèi)容,當(dāng)前消息為關(guān)鍵提醒消息。
特別地,在一個(gè)多人會(huì)話中,當(dāng)不同的消息對(duì)應(yīng)相同的關(guān)鍵消息類型時(shí),不會(huì)在多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中重復(fù)對(duì)相同的關(guān)鍵提醒信息進(jìn)行標(biāo)記,但仍然會(huì)將包括關(guān)鍵消息類型的消息作為關(guān)鍵提醒信息。
本實(shí)施例中,通過(guò)在多人會(huì)話中唯一綁定一個(gè)數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)預(yù)先定義的關(guān)鍵信息類型,根據(jù)多人會(huì)話中的當(dāng)前消息中的關(guān)鍵消息類型,改變關(guān)鍵消息類型的標(biāo)志位,對(duì)當(dāng)前消息元素對(duì)應(yīng)的關(guān)鍵消息類型設(shè)置標(biāo)記。使用同一個(gè)數(shù)據(jù)結(jié)構(gòu)對(duì)關(guān)鍵信息類型進(jìn)行標(biāo)記,簡(jiǎn)化了數(shù)據(jù)結(jié)構(gòu),并且對(duì)于相同的消息類型不用重復(fù)標(biāo)記,提高了對(duì)關(guān)鍵消息類型的處理效率。
如圖5所示,在一個(gè)實(shí)施例中,步驟s320包括:
步驟s321,獲取關(guān)鍵消息類型優(yōu)先級(jí),獲取多人會(huì)話中優(yōu)先級(jí)最高的存在關(guān)鍵提醒標(biāo)記的第一關(guān)鍵消息類型。
具體地,可通過(guò)各個(gè)關(guān)鍵消息類型對(duì)應(yīng)的標(biāo)志位判斷是否存在關(guān)鍵提醒標(biāo)記,如紅包類型的標(biāo)志位為1,則為存在關(guān)鍵提醒標(biāo)記,標(biāo)志位為0,則為不存在關(guān)鍵提醒標(biāo)記,只有存在關(guān)鍵提醒標(biāo)記的關(guān)鍵消息類型才參與優(yōu)先級(jí)別的排序。預(yù)先設(shè)置不同關(guān)鍵消息類型對(duì)應(yīng)的優(yōu)先級(jí),當(dāng)一個(gè)消息中包括多個(gè)關(guān)鍵消息類型時(shí),多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)對(duì)不同的關(guān)鍵消息類型設(shè)置對(duì)應(yīng)的關(guān)鍵提醒標(biāo)記,根據(jù)預(yù)設(shè)的關(guān)鍵消息類型對(duì)應(yīng)的優(yōu)先級(jí),獲取優(yōu)先級(jí)最高的存在關(guān)鍵提醒標(biāo)記的第一關(guān)鍵消息類型。
例如,實(shí)時(shí)獲取一個(gè)消息,檢測(cè)到該消息中包括紅包消息類型和關(guān)注用戶消息類型兩種關(guān)鍵消息類型,則在多人會(huì)話對(duì)應(yīng)的結(jié)構(gòu)中存在關(guān)鍵提醒標(biāo)記的為紅包消息類型和關(guān)注用戶消息類型兩種關(guān)鍵消息類型,且根據(jù)預(yù)設(shè)的關(guān)鍵消息類型對(duì)應(yīng)的優(yōu)先級(jí)確定優(yōu)先級(jí)較高的為關(guān)注用戶消息類型。
步驟s322,視覺(jué)層獲取與第一關(guān)鍵消息類型對(duì)應(yīng)的第一提醒標(biāo)記信息。
具體地,不同的關(guān)鍵消息類型對(duì)應(yīng)不同的提醒標(biāo)記信息,當(dāng)獲取到多人會(huì)話中存在提醒標(biāo)記信息的關(guān)鍵消息類型中優(yōu)先級(jí)最高的第一關(guān)鍵消息類型時(shí),視覺(jué)層獲取與第一關(guān)鍵消息類型對(duì)應(yīng)的第一提醒標(biāo)記信息,對(duì)第一提醒標(biāo)記信息進(jìn)行渲染,顯示在多人會(huì)話對(duì)應(yīng)的顯示位置。
在其他實(shí)施例中,當(dāng)多人會(huì)話中不存在關(guān)鍵消息類型時(shí),視覺(jué)層根據(jù)獲取的消息數(shù)量,更新對(duì)應(yīng)的未讀消息數(shù)目。
如圖6所示,在一個(gè)實(shí)施例中,步驟s310還包括:
步驟s315,實(shí)時(shí)接收并更新多人會(huì)話中的消息,將當(dāng)前更新的消息作為當(dāng)前消息,進(jìn)入步驟s311。
本實(shí)施例中,多人會(huì)話顯示的提醒標(biāo)記信息對(duì)應(yīng)于優(yōu)先級(jí)較高的關(guān)鍵消息類型,因此當(dāng)多人會(huì)話中的消息發(fā)生變化時(shí),多人會(huì)話對(duì)應(yīng)的提醒標(biāo)記信息可能發(fā)生變化,實(shí)時(shí)接收并更新多人會(huì)話中的消息,將當(dāng)前更新的消息作為當(dāng)前消息,進(jìn)入步驟s311,對(duì)當(dāng)前更新的消息進(jìn)行檢測(cè),若檢測(cè)到當(dāng)前更新的消息為關(guān)鍵消息類型,且多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中沒(méi)有將此關(guān)鍵消息類型設(shè)置關(guān)鍵提醒標(biāo)記,則更新多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵提醒標(biāo)記。
步驟s320還包括:
步驟s323,獲取更新后的多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中的優(yōu)先級(jí)最高的存在關(guān)鍵提醒標(biāo)記的第二關(guān)鍵消息類型。
具體地,獲取根據(jù)當(dāng)前更新的消息類型更新的多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),更新的數(shù)據(jù)結(jié)構(gòu)中存在關(guān)鍵提醒標(biāo)記的關(guān)鍵消息類型可能發(fā)生了變化,獲取更新后的數(shù)據(jù)結(jié)構(gòu)中存在關(guān)鍵提醒標(biāo)記的關(guān)鍵消息類型中優(yōu)先級(jí)最高的第二關(guān)鍵消息類型。
進(jìn)一步地,在一個(gè)多人會(huì)話中,根據(jù)當(dāng)前接收到的所有消息,檢測(cè)到該多人會(huì)話對(duì)應(yīng)的第一關(guān)鍵消息類型為關(guān)注用戶消息類型,當(dāng)該多人會(huì)話消息更新時(shí),如接收到用戶通過(guò)服務(wù)器發(fā)送的消息或者服務(wù)器推送了相關(guān)消息,實(shí)時(shí)獲取多人會(huì)話更新的消息,對(duì)當(dāng)前更新的消息進(jìn)行檢測(cè),假設(shè)獲取到當(dāng)前消息為全體通知消息類型,根據(jù)預(yù)設(shè)的關(guān)鍵消息類型對(duì)應(yīng)的優(yōu)先級(jí)確定全體通知消息類型的優(yōu)先級(jí)高于關(guān)注用戶消息類型的優(yōu)先級(jí),則優(yōu)先級(jí)最高的第二關(guān)鍵消息類型為全體通知消息類型,若當(dāng)前更新的消息為紅包消息類型,紅包消息類型的優(yōu)先級(jí)低于關(guān)注用戶消息類型的優(yōu)先級(jí),則優(yōu)先級(jí)最高的第二關(guān)鍵消息類型仍然為關(guān)注用戶消息類型。
進(jìn)一步地,若在一個(gè)多人會(huì)話中,接收到的未讀消息中未檢測(cè)到關(guān)鍵消息類型,則獲取更新后的多人會(huì)話中未讀消息數(shù)目。
步驟s324,視覺(jué)層獲取與第二關(guān)鍵消息類型對(duì)應(yīng)的第二提醒標(biāo)記信息。
具體地,視覺(jué)層根據(jù)預(yù)設(shè)的關(guān)鍵消息類型與提醒標(biāo)記信息的對(duì)應(yīng)關(guān)系,獲取多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中優(yōu)先級(jí)最高的第二關(guān)鍵消息類型對(duì)應(yīng)的第二提醒標(biāo)記信息,根據(jù)第二提醒標(biāo)記信息進(jìn)行渲染,在多人會(huì)話對(duì)應(yīng)的提醒顯示位置顯示第二提醒標(biāo)記信息。
進(jìn)一步地,多個(gè)多人會(huì)話對(duì)應(yīng)的提醒標(biāo)記信息相互獨(dú)立,多人會(huì)話可以顯示相同的提醒標(biāo)記信息也可以顯示不同的標(biāo)記信息。
進(jìn)一步地,若在一個(gè)多人會(huì)話中,接收到的未讀消息中未檢測(cè)到關(guān)鍵消息類型,則根據(jù)獲取的多人會(huì)話中未讀消息數(shù)目,在多人會(huì)話對(duì)應(yīng)的提醒顯示位置顯示未讀消息數(shù)目。
如圖7所示,在一個(gè)實(shí)施例中,關(guān)鍵消息類型包括關(guān)注用戶消息類型,對(duì)當(dāng)前消息元素進(jìn)行檢測(cè)的步驟包括:
步驟s312a,讀取本地緩存關(guān)注用戶列表并發(fā)送至服務(wù)器,以使服務(wù)器將服務(wù)器中的關(guān)注用戶列表與本地緩存關(guān)注用戶列表合并生成當(dāng)前關(guān)注用戶列表。
本實(shí)施例中,結(jié)合圖8所示,接收多人會(huì)話所在客戶端啟動(dòng)的指令,讀取本地緩存關(guān)注用戶列表,將讀取的本地緩存關(guān)注用戶列表發(fā)送至服務(wù)器,服務(wù)器將本地緩存關(guān)注用戶列表與服務(wù)器中存儲(chǔ)的關(guān)注用戶列表合并,生成當(dāng)前關(guān)注用戶列表。步驟s312b,獲取當(dāng)前關(guān)注用戶列表,獲取當(dāng)前消息包體中消息元素對(duì)應(yīng)的發(fā)送用戶標(biāo)識(shí),將發(fā)送用戶標(biāo)識(shí)與當(dāng)前關(guān)注用戶列表中的關(guān)注用戶標(biāo)識(shí)相匹配。
具體地,獲取本地緩存關(guān)注用戶列表與服務(wù)器中存儲(chǔ)的關(guān)注用戶列表合并生成的當(dāng)前關(guān)注用戶列表,實(shí)時(shí)接收多人會(huì)話中的消息,獲取當(dāng)前消息對(duì)應(yīng)的消息包體中消息元素對(duì)應(yīng)的發(fā)送用戶標(biāo)識(shí),將發(fā)送用戶標(biāo)識(shí)與當(dāng)前關(guān)注用戶列表中的關(guān)注用戶標(biāo)識(shí)相匹配。
步驟s312c,如果匹配,則當(dāng)前消息元素為關(guān)注用戶消息類型。
如果匹配成功,則說(shuō)明當(dāng)前消息元素為關(guān)注用戶消息類型,即對(duì)應(yīng)的當(dāng)前消息為特別關(guān)注的用戶發(fā)送的消息。
本實(shí)施例中,將本地緩存關(guān)注用戶列表與服務(wù)器中存儲(chǔ)的關(guān)注用戶列表合并生成當(dāng)前關(guān)注用戶列表,保證關(guān)注用戶列表上報(bào)服務(wù)器失敗的情況下,再次登錄時(shí),觸發(fā)合并機(jī)制,從而使得關(guān)注用戶列表具有漫游功能,即使更換終端登錄多人會(huì)話客戶端仍然可以獲取正確的關(guān)注用戶列表,提高了消息提醒的準(zhǔn)確性。
如圖9所示,在一個(gè)實(shí)施例中,提供一種消息提醒方法,包括如下內(nèi)容:
步驟s410,當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收對(duì)最小化多人會(huì)話的操作,根據(jù)操作展開(kāi)最小化多人會(huì)話,顯示對(duì)應(yīng)的多人會(huì)話界面。
具體地,當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),當(dāng)多人會(huì)話昵稱、頭像或提醒標(biāo)記信息對(duì)應(yīng)的界面位置接收用戶的點(diǎn)擊操作時(shí),對(duì)應(yīng)的多人會(huì)話根據(jù)用戶操作展開(kāi)最小化多人會(huì)話,顯示對(duì)應(yīng)的多人會(huì)話界面,如在多人會(huì)話最小化狀態(tài)時(shí),多人會(huì)話提醒標(biāo)記信息獲取對(duì)應(yīng)的點(diǎn)擊操作,多人會(huì)話顯示包括具體的會(huì)話消息的界面。
步驟s420,在多人會(huì)話界面顯示提醒標(biāo)記信息對(duì)應(yīng)的第一提醒層,第一提醒層顯示第一關(guān)鍵信息提醒標(biāo)記及對(duì)應(yīng)的第一關(guān)鍵提醒消息。
本實(shí)施例中,在一個(gè)多人會(huì)話中存在不同的關(guān)鍵消息類型,為了便于顯示,在多人會(huì)話最小化列表狀態(tài)時(shí),在多人會(huì)話對(duì)應(yīng)的顯示位置顯示的僅為該多人會(huì)話中優(yōu)先級(jí)最高的關(guān)鍵消息類型對(duì)應(yīng)的提醒標(biāo)記信息,即為用戶最感興趣的內(nèi)容顯示提醒標(biāo)記信息,當(dāng)展開(kāi)多人會(huì)話對(duì)應(yīng)的會(huì)話界面時(shí),在多人會(huì)話界面顯示提醒標(biāo)記信息對(duì)應(yīng)的第一提醒層,第一提醒層顯示優(yōu)先級(jí)最高的關(guān)鍵消息類型對(duì)應(yīng)的第一關(guān)鍵信息提醒標(biāo)記及對(duì)應(yīng)的第一關(guān)鍵提醒消息。
具體地,第一提醒層可以是提示條,在多人會(huì)話顯示界面的頂部懸浮顯示,提示條中包括多人會(huì)話中優(yōu)先級(jí)最高的關(guān)鍵消息類型對(duì)應(yīng)的提醒標(biāo)記信息和提醒標(biāo)記信息對(duì)應(yīng)的關(guān)鍵提醒信息。
特別地,當(dāng)多人會(huì)話中只有一種關(guān)鍵信息類型,且提醒標(biāo)記信息對(duì)應(yīng)的關(guān)鍵提醒信息在多人會(huì)話顯示屏中的位置為多人會(huì)話的當(dāng)前顯示界面,則直接在當(dāng)前界面顯示多人會(huì)話提醒標(biāo)記信息和提醒標(biāo)記信息對(duì)應(yīng)的關(guān)鍵提醒信息,可以不添加提示條。
如圖10所示,在一個(gè)實(shí)施例中,當(dāng)前提醒層為第一提醒層,步驟s420之后,還包括:
步驟s430,獲取作用于當(dāng)前提醒層的操作,獲取當(dāng)前提醒層標(biāo)識(shí)與消息標(biāo)識(shí)的映射關(guān)系,得到當(dāng)前提醒層標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前消息標(biāo)識(shí)。
本實(shí)施例中,當(dāng)多人會(huì)話中包括多個(gè)關(guān)鍵提醒消息或者當(dāng)多人會(huì)話中的非關(guān)鍵信息過(guò)多,導(dǎo)致關(guān)鍵提醒信息的顯示位置未在多人會(huì)話的當(dāng)前會(huì)話界面,則在當(dāng)前會(huì)話界面設(shè)置提醒層,獲取作用于當(dāng)前提醒層的操作,當(dāng)前提醒層存在唯一對(duì)應(yīng)的標(biāo)識(shí),且當(dāng)前提醒層標(biāo)識(shí)與消息標(biāo)識(shí)之間具有映射關(guān)系,根據(jù)當(dāng)前提醒層標(biāo)識(shí)與消息標(biāo)識(shí)的映射關(guān)系得到當(dāng)前提醒層標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前消息標(biāo)識(shí)。
具體地,提示條接收用戶在對(duì)應(yīng)的多人會(huì)話顯示界面的點(diǎn)擊操作,每一個(gè)提示條唯一對(duì)應(yīng)一個(gè)id作為提示條標(biāo)識(shí),每一條消息存在唯一對(duì)應(yīng)的序列號(hào)。當(dāng)提示條被點(diǎn)擊時(shí),提示條控件發(fā)送相應(yīng)的通知,獲取提示條id與消息序列號(hào)之間的映射關(guān)系,根據(jù)當(dāng)前點(diǎn)擊的提示條id獲取對(duì)應(yīng)的消息序列號(hào)。
步驟s440,將當(dāng)前消息標(biāo)識(shí)與多人會(huì)話中的消息進(jìn)行匹配,獲取與當(dāng)前消息標(biāo)識(shí)匹配的消息在多人會(huì)話界面對(duì)應(yīng)的當(dāng)前位置,定位到當(dāng)前位置顯示對(duì)應(yīng)的當(dāng)前多人會(huì)話界面。
本實(shí)施例中,將當(dāng)前消息標(biāo)識(shí)與多人會(huì)話中的消息進(jìn)行匹配,若當(dāng)前消息標(biāo)識(shí)與多人會(huì)話中的其中一條消息對(duì)應(yīng)的消息標(biāo)識(shí)相匹配,則獲取該消息在多人會(huì)話中所處的位置,并定位到該消息對(duì)應(yīng)的位置進(jìn)行顯示。
具體地,當(dāng)根據(jù)當(dāng)前點(diǎn)擊的提示條id獲取對(duì)應(yīng)的消息序列號(hào)后,將獲取的消息序列號(hào)與多人會(huì)話中的消息對(duì)應(yīng)的消息序列號(hào)進(jìn)行匹配,若匹配成功,則定位該消息序列號(hào)對(duì)應(yīng)的消息在多人會(huì)話消息記錄中所在的位置,將多人會(huì)話顯示界面定位至提示條對(duì)應(yīng)的消息所在的位置進(jìn)行顯示。
如圖11所示,在一個(gè)實(shí)施例中,提醒層包括疊加狀態(tài)顯示的多層,各個(gè)提醒層與不同的關(guān)鍵提醒消息對(duì)應(yīng),步驟s440之后,還包括:
步驟s450,在多人會(huì)話界面顯示第一提醒層的下一層提醒層,下一層提醒層顯示第二關(guān)鍵信息提醒標(biāo)記及對(duì)應(yīng)的第二關(guān)鍵提醒消息,將下一層提醒層作為當(dāng)前提醒層,進(jìn)入步驟s430。
具體地,在一個(gè)多人會(huì)話中,可能包括多個(gè)不同的存在提醒標(biāo)記信息的關(guān)鍵消息類型,為了便于顯示,在多人會(huì)話最小化狀態(tài)下,多人會(huì)話對(duì)應(yīng)的提醒位置只顯示優(yōu)先級(jí)最高的關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息。當(dāng)展開(kāi)多人會(huì)話對(duì)應(yīng)的會(huì)話界面時(shí),為了對(duì)多人會(huì)話中的多個(gè)關(guān)鍵提醒消息進(jìn)行顯示,將多個(gè)關(guān)鍵提醒消息對(duì)應(yīng)的提醒層疊加,按照優(yōu)先級(jí)從高到低的順序顯示,即將提醒標(biāo)記信息對(duì)應(yīng)的第一提醒層中對(duì)應(yīng)的關(guān)鍵提醒消息顯示在當(dāng)前顯示界面后,在當(dāng)前顯示界面出現(xiàn)第二提醒層,第二提醒層中顯示第二關(guān)鍵信息提醒標(biāo)記及對(duì)應(yīng)的第二關(guān)鍵提醒消息,將第二提醒層作為當(dāng)前提醒層,進(jìn)入步驟s430,對(duì)當(dāng)前提醒層對(duì)應(yīng)的關(guān)鍵提醒信息進(jìn)行定位顯示。提醒層中的消息可以為同一關(guān)鍵消息類型對(duì)應(yīng)的不同消息,也可以為不同關(guān)鍵消息類型對(duì)應(yīng)的消息。
如圖12所示,在一個(gè)具體的實(shí)施例中,以微信中多人會(huì)話提醒為例,提供一種消息提醒方法,包括以下內(nèi)容:
步驟s501,當(dāng)啟動(dòng)客戶端,且客戶端中多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話中的消息。
步驟s502,消息為預(yù)設(shè)結(jié)構(gòu)的消息包體,遍歷當(dāng)前消息包體中各個(gè)消息類型對(duì)應(yīng)的消息元素,根據(jù)消息元素檢測(cè)當(dāng)前消息是否為關(guān)鍵提醒消息。
具體地,針對(duì)用戶感興趣的內(nèi)容,預(yù)先在微信客戶端中設(shè)置用戶感興趣的消息類型,如@當(dāng)前用戶、@全體、關(guān)注用戶、多人會(huì)話通知、多人會(huì)話視頻邀請(qǐng)、紅包、多人會(huì)話中日歷提醒、禮物等消息元素對(duì)應(yīng)的消息類型為關(guān)鍵消息類型,通過(guò)檢測(cè)當(dāng)前消息中是否存在與預(yù)先定義的關(guān)鍵消息類型對(duì)應(yīng)的消息元素,若有,則當(dāng)前消息為關(guān)鍵提醒消息。
步驟s503,當(dāng)檢測(cè)到當(dāng)前消息為關(guān)鍵提醒消息時(shí),根據(jù)當(dāng)前關(guān)鍵提醒消息中的關(guān)鍵消息類型優(yōu)先級(jí),獲取多人會(huì)話中優(yōu)先級(jí)最高的存在關(guān)鍵提醒標(biāo)記的第一關(guān)鍵消息類型。
具體地,預(yù)先設(shè)置關(guān)鍵消息類型的優(yōu)先級(jí),如將優(yōu)先級(jí)從高到低依次設(shè)置為禮物、多人會(huì)話通知、@當(dāng)前用戶、多人會(huì)話中日歷提醒、@全體、關(guān)注用戶、多人會(huì)話中的公告、紅包、多人會(huì)話視頻邀請(qǐng)。
根據(jù)接收到的消息中存在關(guān)鍵提醒標(biāo)記信息的關(guān)鍵消息類型的優(yōu)先級(jí),獲取多人會(huì)話中優(yōu)先級(jí)最高的第一關(guān)鍵消息類型對(duì)應(yīng)的提醒標(biāo)記信息。
步驟s504,視覺(jué)層獲取與第一關(guān)鍵消息類型對(duì)應(yīng)的第一提醒標(biāo)記信息,視覺(jué)層進(jìn)行重繪制,將第一提醒標(biāo)記信息顯示在會(huì)話最小化列表中多人會(huì)話對(duì)應(yīng)的提醒位置。
具體地,不同的關(guān)鍵消息類型對(duì)應(yīng)不同的提醒標(biāo)記信息,如禮物對(duì)應(yīng)的提醒標(biāo)記信息為禮物、多人會(huì)話通知對(duì)應(yīng)的提醒標(biāo)記信息為通知、@當(dāng)前用戶對(duì)應(yīng)的提醒標(biāo)記信息為@我、多人會(huì)話中日歷提醒對(duì)應(yīng)的提醒標(biāo)記信息為日歷、@全體對(duì)應(yīng)的提醒標(biāo)記信息為全體、關(guān)注用戶對(duì)應(yīng)的提醒標(biāo)記信息為關(guān)注、多人會(huì)話中的公告對(duì)應(yīng)的提醒標(biāo)記信息為公告、紅包對(duì)應(yīng)的提醒標(biāo)記信息為紅包、多人會(huì)話視頻邀請(qǐng)對(duì)應(yīng)的提醒標(biāo)記信息為視頻。
如圖13所示,在微信客戶端對(duì)應(yīng)的多人會(huì)話列表最小化狀態(tài),視覺(jué)層根據(jù)多人會(huì)話對(duì)應(yīng)的最高優(yōu)先級(jí)的提醒標(biāo)記信息進(jìn)行渲染和重繪制,在對(duì)應(yīng)提醒位置顯示對(duì)應(yīng)的提醒標(biāo)記信息,不同的多人會(huì)話根據(jù)具體消息內(nèi)容的不同可顯示不同的提醒標(biāo)記信息,多個(gè)多人會(huì)話之間的提醒標(biāo)記信息相互獨(dú)立。如在多人會(huì)話1310的對(duì)應(yīng)位置顯示第一提醒標(biāo)記信息1311為@我、在多人會(huì)話1320的對(duì)應(yīng)位置顯示第一提醒標(biāo)記信息1321a為公告、在多人會(huì)話1330的對(duì)應(yīng)位置顯示第一提醒標(biāo)記信息1331為關(guān)注、在多人會(huì)話1340的對(duì)應(yīng)位置顯示未讀信息數(shù)目1341。其中不同的多人會(huì)話可以只顯示對(duì)應(yīng)的圖像或顯示對(duì)應(yīng)的名稱和圖像。
步驟s505,實(shí)時(shí)接收并更新多人會(huì)話中的消息,將當(dāng)前更新的消息作為當(dāng)前消息,進(jìn)入步驟s502。
步驟s506,獲取更新后的多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中的優(yōu)先級(jí)最高的存在關(guān)鍵提醒標(biāo)記的第二關(guān)鍵消息類型,視覺(jué)層獲取與第二關(guān)鍵消息類型對(duì)應(yīng)的第二提醒標(biāo)記信息。
具體地,根據(jù)多人會(huì)話中更新的消息,實(shí)時(shí)檢測(cè)并相應(yīng)更新多人會(huì)話顯示的提醒標(biāo)記信息,如圖14所示,如果多人會(huì)話1320更新的消息為特別關(guān)注用戶發(fā)送的消息,根據(jù)預(yù)先設(shè)置的關(guān)鍵信息類型對(duì)應(yīng)的優(yōu)先級(jí),特別關(guān)注用戶發(fā)送消息的優(yōu)先級(jí)高于多人會(huì)話公告的優(yōu)先級(jí),則更新多人會(huì)話1320對(duì)應(yīng)位置顯示對(duì)應(yīng)的第二提醒標(biāo)記信息1321b為關(guān)注。
步驟s507,當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收對(duì)最小化多人會(huì)話的操作,根據(jù)操作展開(kāi)最小化多人會(huì)話,顯示對(duì)應(yīng)的多人會(huì)話界面,在多人會(huì)話界面顯示提醒標(biāo)記信息對(duì)應(yīng)的第一提醒層。
具體地,根據(jù)多人會(huì)話在會(huì)話最小化列表中對(duì)應(yīng)位置顯示的提醒標(biāo)記信息,查看對(duì)應(yīng)的多人會(huì)話的具體消息內(nèi)容,微信客戶端的顯示界面接收對(duì)最小化多人會(huì)話的操作,展開(kāi)對(duì)應(yīng)的多人會(huì)話,如用戶點(diǎn)擊圖14中的多人會(huì)話1330,則微信客戶端顯示多人會(huì)話1330對(duì)應(yīng)的當(dāng)前消息顯示界面1410。
若當(dāng)前消息顯示界面1410顯示了提醒標(biāo)記信息1331關(guān)注對(duì)應(yīng)的具體消息內(nèi)容,則如圖15所示,直接在當(dāng)前顯示界面1410顯示提醒標(biāo)記信息對(duì)應(yīng)的關(guān)鍵提醒消息1410a。
步驟s508,將第一提醒層作為當(dāng)前提醒層,獲取作用于當(dāng)前提醒層的操作,獲取當(dāng)前提醒層標(biāo)識(shí)與消息標(biāo)識(shí)的映射關(guān)系,得到當(dāng)前提醒層標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前消息標(biāo)識(shí)。
步驟s509,將當(dāng)前消息標(biāo)識(shí)與多人會(huì)話中的消息進(jìn)行匹配,獲取與當(dāng)前消息標(biāo)識(shí)匹配的消息在多人會(huì)話界面對(duì)應(yīng)的當(dāng)前位置,定位到當(dāng)前位置顯示對(duì)應(yīng)的當(dāng)前多人會(huì)話界面。
如圖16所示,當(dāng)多人會(huì)話中包括多個(gè)關(guān)鍵提醒消息或者當(dāng)多人會(huì)話中的非關(guān)鍵信息過(guò)多,導(dǎo)致關(guān)鍵提醒信息的顯示位置未在多人會(huì)話的當(dāng)前消息顯示界面1410,則在當(dāng)前消息顯示界面1410設(shè)置提示條1610,提示條1610接收用戶在對(duì)應(yīng)的多人會(huì)話顯示界面的點(diǎn)擊操作,定位提示條1610對(duì)應(yīng)的關(guān)鍵提醒消息1610a在多人會(huì)話1330中對(duì)應(yīng)的位置,并將顯示界面滾動(dòng)到消息顯示界面1620的對(duì)應(yīng)位置顯示關(guān)鍵提醒信息1610a。
步驟s510,在當(dāng)前多人會(huì)話界面顯示第一提醒層的下一層提醒層,將下一層提醒層作為當(dāng)期提醒層,執(zhí)行步驟s508。
如圖17所示,若多人會(huì)話1330中存在多個(gè)關(guān)鍵提醒信息時(shí),在消息顯示界面1620頂部顯示多人會(huì)話中優(yōu)先級(jí)第二的消息類型對(duì)應(yīng)的提醒標(biāo)記信息對(duì)應(yīng)的第二提示條1710,對(duì)提示條1710執(zhí)行提示條1610相同的操作,定位提示條1710對(duì)應(yīng)的關(guān)鍵提醒消息在多人會(huì)話1330的信息中的位置,將顯示界面滾動(dòng)到消息顯示界面1720,顯示提示條1710對(duì)應(yīng)的關(guān)鍵提醒消息1710a。在其他實(shí)施例中,第二提示條也可以是與第一提示條對(duì)應(yīng)的關(guān)鍵消息類型相同的關(guān)鍵消息類型對(duì)應(yīng)的不同消息。
本實(shí)施例中,在多人會(huì)話最小化列表形式下,對(duì)相應(yīng)多人會(huì)話中的消息進(jìn)行檢測(cè),并按照關(guān)鍵消息類型優(yōu)先級(jí)顯示提醒標(biāo)記信息,對(duì)多人會(huì)話中的關(guān)鍵提醒消息進(jìn)行提醒,并且在展開(kāi)對(duì)應(yīng)的多人會(huì)話的會(huì)話界面后,能夠?qū)μ嵝褬?biāo)記信息對(duì)應(yīng)的關(guān)鍵提醒消息進(jìn)行定位顯示,且能夠進(jìn)一步的對(duì)不同關(guān)鍵消息類型對(duì)應(yīng)的關(guān)鍵提醒消息按照優(yōu)先級(jí)從高到低的順序進(jìn)行顯示,提高了關(guān)鍵信息提醒的實(shí)時(shí)性和獲取關(guān)鍵信息的針對(duì)性和便利性。
如圖18所示,在一個(gè)實(shí)施例中,提供一種消息提醒裝置,包括以下內(nèi)容:
消息接收模塊610,用于當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話中的消息;
提醒標(biāo)記信息獲取模塊620,用于如果消息為關(guān)鍵提醒消息,則視覺(jué)層獲取與關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息;
提醒顯示模塊630,用于視覺(jué)層進(jìn)行重繪制,將提醒標(biāo)記信息顯示在會(huì)話最小化列表中多人會(huì)話對(duì)應(yīng)的提醒位置。
本實(shí)施例中,消息提醒裝置,在多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收多人會(huì)話消息,并對(duì)接收的多人會(huì)話消息進(jìn)行檢測(cè),當(dāng)檢測(cè)到接收的多人會(huì)話消息為關(guān)鍵提醒信息時(shí),視覺(jué)層獲取與關(guān)鍵提醒消息對(duì)應(yīng)的提醒標(biāo)記信息,并根據(jù)提醒標(biāo)記信息進(jìn)行重繪制,以將提醒標(biāo)記信息顯示在會(huì)話最小化列表中多人會(huì)話對(duì)應(yīng)的提醒位置,能夠?qū)崟r(shí)從獲取的消息中檢測(cè)識(shí)別關(guān)鍵信息,并對(duì)關(guān)鍵消息進(jìn)行標(biāo)記和顯示提醒,不需要展開(kāi)多人會(huì)話就可在多人會(huì)話對(duì)應(yīng)的位置顯示提醒標(biāo)記信息,且提醒標(biāo)記信息與關(guān)鍵提醒消息對(duì)應(yīng),不同的關(guān)鍵提醒消息對(duì)應(yīng)不同的提醒標(biāo)記信息,便于用戶通過(guò)提醒標(biāo)記信息識(shí)別感興趣的信息,提高了關(guān)鍵信息提醒的實(shí)時(shí)性和獲取關(guān)鍵信息的針對(duì)性和便利性。
如圖19所示,在一個(gè)實(shí)施例中,消息為預(yù)設(shè)結(jié)構(gòu)的消息包體,提醒標(biāo)記信息獲取模塊620包括:
當(dāng)前消息元素獲取模塊621,用于遍歷當(dāng)前消息包體中各個(gè)消息類型對(duì)應(yīng)的消息元素;
關(guān)鍵提醒標(biāo)記設(shè)置模塊622,用于對(duì)當(dāng)前消息元素進(jìn)行檢測(cè),如果當(dāng)前消息元素為關(guān)鍵消息類型,則將多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中相同的關(guān)鍵消息類型設(shè)置關(guān)鍵提醒標(biāo)記,關(guān)鍵消息類型包括資源類型、時(shí)間提醒類型、關(guān)注用戶消息類型、當(dāng)前登錄用戶專屬消息類型、全體通知消息類型中的至少一種;
當(dāng)前消息包體遍歷模塊623,用于獲取當(dāng)前消息元素對(duì)應(yīng)的下一個(gè)消息元素,將下一個(gè)消息元素作為當(dāng)前消息元素,進(jìn)入關(guān)鍵提醒標(biāo)記設(shè)置模塊622,直至遍歷完當(dāng)前消息包體中的所有消息元素;
關(guān)鍵提醒消息確定模塊624,用于如果當(dāng)前消息包體中存在關(guān)鍵消息類型的消息元素,則當(dāng)前消息為關(guān)鍵提醒消息。
在一個(gè)實(shí)施例中,提醒標(biāo)記信息獲取模塊620還用于獲取關(guān)鍵消息類型優(yōu)先級(jí),獲取多人會(huì)話中優(yōu)先級(jí)最高的存在關(guān)鍵提醒標(biāo)記的第一關(guān)鍵消息類型,視覺(jué)層獲取與第一關(guān)鍵消息類型對(duì)應(yīng)的第一提醒標(biāo)記信息。
在一個(gè)實(shí)施例中,消息接收模塊610還用于實(shí)時(shí)接收并更新多人會(huì)話中的消息,將更新的消息作為當(dāng)前消息,進(jìn)入當(dāng)前消息元素獲取模塊621。
提醒標(biāo)記信息獲取模塊620還用于獲取更新后的多人會(huì)話對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)中的優(yōu)先級(jí)最高的存在關(guān)鍵提醒標(biāo)記的第二關(guān)鍵消息類型,視覺(jué)層獲取與第二關(guān)鍵消息類型對(duì)應(yīng)的第二提醒標(biāo)記信息。
如圖20所示,在一個(gè)實(shí)施例中,關(guān)鍵消息類型包括關(guān)注用戶消息類型,關(guān)鍵提醒標(biāo)記設(shè)置模塊622包括:
合并模塊622a,用于讀取本地緩存關(guān)注用戶列表并發(fā)送至服務(wù)器,以使服務(wù)器將服務(wù)器中的關(guān)注用戶列表與本地緩存關(guān)注用戶列表合并生成當(dāng)前關(guān)注用戶列表。
匹配模塊622b,用于獲取當(dāng)前關(guān)注用戶列表,獲取當(dāng)前消息包體中消息元素對(duì)應(yīng)的發(fā)送用戶標(biāo)識(shí),將發(fā)送用戶標(biāo)識(shí)與當(dāng)前關(guān)注用戶列表中的關(guān)注用戶標(biāo)識(shí)相匹配。
消息類型確定模塊622c,用于如果匹配,則當(dāng)前消息元素為關(guān)注用戶消息類型。
如圖21所示,在一個(gè)實(shí)施例中,消息提醒裝置還包括:
界面展開(kāi)模塊710,用于當(dāng)多人會(huì)話為會(huì)話最小化列表狀態(tài)時(shí),接收對(duì)最小化多人會(huì)話的操作,根據(jù)操作展開(kāi)最小化多人會(huì)話,顯示對(duì)應(yīng)的多人會(huì)話界面。
第一顯示模塊720,用于在多人會(huì)話界面顯示提醒標(biāo)記信息對(duì)應(yīng)的第一提醒層,第一提醒層顯示第一關(guān)鍵信息提醒標(biāo)記及對(duì)應(yīng)的第一關(guān)鍵提醒消息。
如圖22所示,在一個(gè)實(shí)施例中,當(dāng)前提醒層為第一提醒層,消息提醒裝置還包括:
消息標(biāo)識(shí)獲取模塊730,用于獲取作用于當(dāng)前提醒層的操作,獲取當(dāng)前提醒層標(biāo)識(shí)與消息標(biāo)識(shí)的映射關(guān)系,得到當(dāng)前提醒層標(biāo)識(shí)對(duì)應(yīng)的當(dāng)前消息標(biāo)識(shí)。
定位顯示模塊740,用于將當(dāng)前消息標(biāo)識(shí)與多人會(huì)話中的消息進(jìn)行匹配,獲取與當(dāng)前消息標(biāo)識(shí)匹配的消息在多人會(huì)話界面對(duì)應(yīng)的當(dāng)前位置,定位到當(dāng)前位置顯示對(duì)應(yīng)的當(dāng)前多人會(huì)話界面。
如圖23所示,在一個(gè)實(shí)施例中,消息提醒裝置還包括:
第二顯示模塊750,用于在多人會(huì)話界面顯示第一提醒層的下一層提醒層,下一層提醒層顯示第二關(guān)鍵信息提醒標(biāo)記及對(duì)應(yīng)的第二關(guān)鍵提醒消息;將下一層提醒層作為當(dāng)前提醒層,進(jìn)入消息標(biāo)識(shí)獲取模塊730。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一非易失性計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read-onlymemory,rom)等。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。