終端客戶端,即時通訊客戶端將移動終端客戶端記錄為離線狀態(tài)。
[0036]如果移動終端客戶端處于在線狀態(tài),即時通訊服務(wù)器直接將即時通訊消息通過網(wǎng)絡(luò)發(fā)送給移動終端客戶端,用戶可以通過移動終端客戶端查收到該即時通訊消息。
[0037]如果移動終端客戶端處于離線狀態(tài),即時通訊服務(wù)器會向移動終端客戶端發(fā)送離線消息。發(fā)送離線消息時,即時通訊服務(wù)器會獲取移動終端客戶端處于在線狀態(tài)時由即時通訊服務(wù)器所記錄的操作系統(tǒng)類型和移動終端標識,操作系統(tǒng)類型可以是如1S (蘋果公司開發(fā)的移動終端操作系統(tǒng))、Windows Phone (微軟發(fā)布的一款手機操作系統(tǒng))等。之后,即時通訊服務(wù)器根據(jù)獲得的操作系統(tǒng)類型,向操作系統(tǒng)類型對應(yīng)的移動終端服務(wù)器發(fā)送即時通訊消息和移動終端標識(移動終端標識可以但不限于由移動終端用戶預(yù)先向移動終端服務(wù)器進行注冊的ID),再由移動終端服務(wù)器根據(jù)移動終端標識向?qū)?yīng)的移動終端推送該即時通訊消息。
[0038]參見圖2,為一個實施例中的消息推送方法的應(yīng)用場景圖,結(jié)合圖3A,其中,即時通訊服務(wù)器201為即時通訊系統(tǒng)中對即時通訊消息提供轉(zhuǎn)發(fā)、處理等功能的服務(wù)器,發(fā)送方終端202為發(fā)送即時通訊消息的一方用戶所在終端,計算機終端203為接收即時通訊消息的用戶標識對應(yīng)的計算機終端,移動終端204為接收即時通訊消息的用戶標識對應(yīng)的移動終端,移動終端服務(wù)器205可以是為移動終端提供注冊、追蹤、識別、管理等功能的服務(wù)器,發(fā)送方客戶端為運行在發(fā)送方終端202上的即時通訊客戶端,計算機終端客戶端為運行在計算機終端203上的即時通訊客戶端,移動終端客戶端為運行在移動終端204上的即時通訊客戶端本實施例中的消息推送方法包括:
[0039]301a,即時通訊服務(wù)器接收到發(fā)送方客戶端發(fā)送的即時通訊消息。
[0040]具體的,發(fā)送方終端202可以是計算機終端,也可以是移動終端。所發(fā)送的即時通訊消息中攜帶了接收該即時通訊消息的用戶標識,所發(fā)送的即時通訊消息可以是文字消息、圖片消息、語音消息或視頻消息等。
[0041]302a,用戶標識對應(yīng)的計算機終端客戶端向即時通訊服務(wù)器上報計算機終端的狀
O
[0042]具體的,計算機終端客戶端已處于在線狀態(tài)。由計算機終端203檢測計算機終端203的狀態(tài),并由計算機終端203上的計算機終端客戶端向即時通訊服務(wù)器上報。在本實施例中,所上報的狀態(tài)具體為活躍狀態(tài)。。
[0043]303a,即時通訊服務(wù)器向計算機終端客戶端推送即時通訊消息,而不向移動終端204推送即時通訊消息。
[0044]結(jié)合圖2與圖3B,移動終端客戶端為運行在移動終端204上的即時通訊客戶端。本實施例中,該消息推送方法包括:
[0045]301b,即時通訊服務(wù)器接收到發(fā)送方客戶端發(fā)送的即時通訊消息。
[0046]302b,用戶標識對應(yīng)的計算機終端客戶端向即時通訊服務(wù)器上報計算機終端的狀
O
[0047]具體在本實施例中,所上報的狀態(tài)為非活躍狀態(tài)。
[0048]303b,即時通訊服務(wù)器判斷移動終端客戶端處于在線狀態(tài),并向移動終端客戶端發(fā)送即時通訊消息。
[0049]結(jié)合圖2與圖3C,在另一個實施例中,消息推送方法包括:
[0050]301c,即時通訊服務(wù)器接收到發(fā)送方客戶端發(fā)送的即時通訊消息。
[0051]302c,用戶標識對應(yīng)的計算機終端客戶端向即時通訊服務(wù)器上報計算機終端的狀
O
[0052]具體在本實施例中,所上報的狀態(tài)為非活躍狀態(tài)。
[0053]在本實施例中,即時通訊服務(wù)器判斷移動終端客戶端為離線狀態(tài),并向移動終端發(fā)送離線消息,具體包括:
[0054]303c,即時通訊服務(wù)器獲取移動終端對應(yīng)的操作系統(tǒng)類型以及移動終端標識,并根據(jù)操作系統(tǒng)類型,向操作系統(tǒng)類型對應(yīng)的移動終端服務(wù)器發(fā)送即時通訊消息和移動終端標識。
[0055]303d,移動終端服務(wù)器根據(jù)移動終端標識向?qū)?yīng)的移動終端推送即時通訊消息。
[0056]具體的,移動終端服務(wù)器可以根據(jù)移動終端標識定位該移動終端,向移動終端發(fā)送即時通訊消息,由移動終端內(nèi)置的操作系統(tǒng)通知即時通訊應(yīng)用程序接收到離線消息(即時通訊消息)。
[0057]上述消息推送方法,接收到即時通訊消息后,根據(jù)即時通訊消息中指定的接收方的用戶標識,并獲取用戶標識對應(yīng)的計算機終端的狀態(tài),若狀態(tài)為非活躍狀態(tài)時,表征計算機終端當(dāng)前未被其用戶有效地操作,則將即時通訊消息推送到用戶標識對應(yīng)的移動終端,則用戶就可以通過移動終端獲取即時通訊消息,有效地降低了用戶錯過即時通訊消息的幾率,提高了消息提醒的及時性。
[0058]參見圖4,在一個實施例中,提供了一種消息推送裝置。該消息推送裝置包括:消息接收模塊402、狀態(tài)獲取模塊404和消息推送模塊406。其中:
[0059]消息接收模塊402,用于接收即時通訊消息,即時通訊消息指定了接收該即時通訊消息的用戶標識。即時通訊消息可以是來自該用戶的好友所在終端所發(fā)送的即時通訊消息,或者是該用戶所在工作群或討論組中的成員所在終端發(fā)出的即時通訊消息。即時通訊消息可以是文字消息、圖片消息、語音消息或視頻消息等。
[0060]狀態(tài)獲取模塊404,用于獲取所述用戶標識對應(yīng)的計算機終端上報的狀態(tài)。
[0061]計算機終端上報的狀態(tài)包括活躍狀態(tài)和非活躍狀態(tài),其中,計算機的非活躍狀態(tài)是指在預(yù)設(shè)時間段內(nèi),計算機終端上的即時通訊客戶端未接收該終端用戶通過輸入裝置輸入數(shù)據(jù),或者計算機終端上所有程序未接收到用戶輸入數(shù)據(jù)。反之在預(yù)設(shè)時間段內(nèi),計算機終端上的即時通訊客戶端接收到用戶通過輸入裝置輸入的數(shù)據(jù),或者計算機終端有接收到通過其它應(yīng)用程序輸入的數(shù)據(jù),則該計算機終端的狀態(tài)為活躍狀態(tài)。計算機終端的狀態(tài)可以間接表征用戶對計算機終端的操作情況,例如非活躍狀態(tài)可以表征用戶當(dāng)前未有效操作計算機終端,而活躍狀態(tài)表明用戶當(dāng)前正在使用計算機終端。
[0062]在本實施例中,用戶標識對應(yīng)的計算機終端客戶端(運行在計算機終端上的即時通訊客戶端的簡稱)處于在線狀態(tài),即時通訊服務(wù)器在接收到即時通訊消息后,向目標用戶(即指定接收即時通訊消息的用戶)的用戶標識對應(yīng)的計算機終端客戶端下達獲取計算機終端狀態(tài)的指令,由接收該指令的計算機終端檢測自身狀態(tài)后進行上報。
[0063]在其中一個實施例中,計算機終端檢測其狀態(tài),當(dāng)檢測到計算機終端處于下列情形之一,狀態(tài)獲取模塊404所獲取的計算機終端狀態(tài)為非活躍狀態(tài):(I)在預(yù)置時間段內(nèi)如五分鐘內(nèi),沒有接收到用戶通過輸入裝置如鼠標、鍵盤等進行輸入的數(shù)據(jù);(2)計算機終端進入了鎖屏狀態(tài);(3)計算機終端客戶端已經(jīng)處于鎖定狀態(tài)。
[0064]相應(yīng)的,當(dāng)計算機終端接收到目標用戶通過輸入裝置輸入的數(shù)據(jù),或者解鎖指令,或者解除計算機終端客戶端的鎖定狀態(tài)的指令時,計算機終端就會將計算機終端的狀態(tài)更新為活躍狀態(tài),并進行上報。狀態(tài)獲取模塊404所獲取的狀態(tài)即為活躍狀態(tài)。
[0065]消息推送模塊406,用于在狀態(tài)為非活躍狀態(tài)時,將即時通訊消息推送給用戶標識對應(yīng)的移動終端。
[0066]具體的,狀態(tài)獲取模塊404,收到用戶標識對應(yīng)的計算機終端上報的非活躍狀態(tài)時,表征目標用戶當(dāng)前未對計算機終端進行有效操作,例如用戶可能離開了計算機終端一段時間,消息推送模塊406則用于將即時通訊消息推送給用戶標識對應(yīng)的移動終端,避免用戶錯過該即時通訊消息,提高了消息提醒的及時性。
[0067]在一個實施例中,消息推送模塊406,在計算機終端上報的狀態(tài)為非活躍狀態(tài)時,不將即時通訊消息推送給用戶標識對應(yīng)的計算機終端。計