本發(fā)明涉及軟件領域,具體涉及一種消息推送的多路復用方法及裝置。
背景技術:
終端設備上可以安裝很多應用,不同的應用都可以向用戶主動推送消息,以便于提高應用的活躍度和用戶粘性。在應用向用戶主動推送消息時,需要先建立一個消息推送通道,通過消息推送通道向用戶主動推送消息。
但不同的應用均需要建立各自的消息推送通道,通過各自的消息推送通道向用戶推送消息,這樣就使得在終端設備上會同時存在多個消息推送通道,對于終端設備的電量消耗巨大。另外,若多個應用均推送同樣的全局推送消息時,會使得用戶收到多條一樣的消息,對用戶而言體驗效果不佳。
因此,需要一種可以解決以上推送方式所存在的問題的消息推送的多路復用的方法及裝置。
技術實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的消息推送的多路復用方法及裝置。
根據(jù)本發(fā)明的一個方面,提供了一種消息推送的多路復用方法,其包括:
啟動應用的消息推送服務,向其它應用發(fā)送廣播消息;
判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息;
若在預設時間內(nèi)未接收到響應消息,則利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息;
若在預設時間內(nèi)接收到響應消息,根據(jù)響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
根據(jù)本發(fā)明的另一方面,提供了一種消息推送的多路復用裝置,其包括:
啟動模塊,適于啟動應用的消息推送服務,向其它應用發(fā)送廣播消息;
判斷模塊,適于判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息;
接收模塊,適于若在預設時間內(nèi)未接收到響應消息,則利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息;若在預設時間內(nèi)接收到響應消息,根據(jù)響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
根據(jù)本發(fā)明的又一方面,提供了一種電子設備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;
所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行上述消息推送的多路復用方法對應的操作。
根據(jù)本發(fā)明的再一方面,提供了一種計算機存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使處理器執(zhí)行如上述消息推送的多路復用方法對應的操作。
根據(jù)本發(fā)明提供的消息推送的多路復用方法及裝置、電子設備,在啟動應用的消息推送服務后,向其它應用發(fā)送廣播消息。判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息,根據(jù)判斷結果,利用所啟動的消息推送服務接收服務器或所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)了消息推送的多路復用。僅利用一個消息推送服務就可以完成向一個或多個應用發(fā)送的推送消息,節(jié)省了終端設備啟動多個應用的消息推送服務所消耗的電量。同時,由于僅利用一個消息推送服務向一個或多個應用發(fā)送的推送消息,對于全局推送消息可以僅推送一條全局推送消息,實現(xiàn)了多條全局推送消息的過濾,避免推送多條同樣的全局推送消息給終端設備,提高了用戶體驗效果。
上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明實施例一的消息推送的多路復用方法的流程圖;
圖2示出了根據(jù)本發(fā)明實施例二的消息推送的多路復用方法的流程圖;
圖3示出了根據(jù)本發(fā)明實施例三的消息推送的多路復用裝置的功能框圖;
圖4示出了根據(jù)本發(fā)明實施例四的消息推送的多路復用裝置的功能框圖;
圖5示出了根據(jù)本發(fā)明實施例六的一種電子設備的結構示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
應用的消息推送服務用于向應用發(fā)送接收自服務器的推送消息。一般一個應用對應一個其本身的消息推送服務,該消息推送服務僅接收服務器發(fā)給該應用的推送消息。該應用的消息推送服務必須在該應用啟動后才能啟動。若沒有啟動該應用或者沒有在后臺運行該應用,該應用的消息推送服務無法啟動。即該應用的消息推送服務無法向該應用發(fā)送接收自服務器的推送消息。
實施例一
圖1示出了根據(jù)本發(fā)明實施例一的消息推送的多路復用方法的流程圖。如圖1所示,消息推送的多路復用方法具體包括如下步驟:
步驟s101,啟動應用的消息推送服務,向其它應用發(fā)送廣播消息。
啟動一個應用的消息推送服務,在啟動該應用的消息推送服務后向其它應用發(fā)送一個廣播消息。由于每個應用的消息推送服務的啟動是隨機性的,沒有固定的時間或啟動順序,每個應用無法了解是否在本應用啟動消息推送服務前,已經(jīng)有其它應用啟動了其對應的消息推送服務。因此,通過向其它應用發(fā)送廣播消息,進而來確認是否有其它應用已經(jīng)啟動其對應的消息推送服務。
步驟s102,判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息,若是,執(zhí)行步驟s104;否則,執(zhí)行步驟s103。
在向其它應用發(fā)送廣播消息后,若其它應用中某一應用的消息推送服務已經(jīng)啟動,會接收到該應用的消息推送服務反饋的響應消息,若其它各應用的消息推送服務均未啟動,則不會接收到任何其它應用的消息推送服務反饋的響應消息。
由于其它應用的消息推送服務在接收到廣播消息后并反饋響應消息,會有一定時間的間隔。在判斷時,判斷預設時間內(nèi)如15秒內(nèi)接收到其它應用的消息推送服務反饋的響應消息。若接收到,執(zhí)行步驟s104,否則,執(zhí)行步驟s103。
步驟s103,利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
由于在預設時間內(nèi)沒有接收到其它應用的消息推送服務反饋的響應消息,可以認為當前時間只有本應用的消息推送服務啟動。利用所啟動的消息推送服務可以接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)一個消息推送服務的多路復用。
步驟s104,根據(jù)響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
當接收到其它應用反饋的響應消息后,即當前時間已經(jīng)有其它應用的消息推送服務啟動。根據(jù)響應消息中攜帶的如消息推送服務的啟動時間等信息來確定應保留的一個消息推送服務。將反饋的響應信息中攜帶的消息推送服務的啟動時間與本應用的消息推送服務的啟動時間進行比較,若本應用的消息推送服務的啟動時間在前,將其它應用的消息推送服務全部關閉,僅保留本應用的消息推送服務;若其它應用中的某一應用的消息推送服務在前,僅保留該應用的消息推送服務,將其它應用和本應用的消息推送服務均關閉。根據(jù)響應消息來確定保留的消息推送服務的方式可以根據(jù)實施情況進行設置,此處不做限定。在保留一個消息推送服務后,利用所保留的一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)一個消息推送服務的多路復用。
其中,步驟s103和步驟s104中消息推送服務接收到服務器的推送消息,該推送消息可以是向啟動該消息推送服務的應用發(fā)送的推送消息,也可以是向與啟動該消息推送服務無關的應用發(fā)送的推送消息。消息推送服務均可以接收以上各種推送消息。
推送消息的類型可以分為如全局推送消息、應用專屬的推送消息、用戶專屬的推送消息等。全局推送消息是服務器向多個應用發(fā)送的相同的推送消息?,F(xiàn)有技術中不同應用的消息推送服務都會接受到服務器發(fā)送的全局推送消息,從而接收到多條重復的全局推送消息,對用戶而言造成重復消息騷擾。本發(fā)明僅通過一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,使得僅接收到一條全局推送消息,對用戶而言不會造成重復消息騷擾,實現(xiàn)了多條全局推送消息的過濾,避免推送多條同樣的全局推送消息給終端設備,提高了用戶體驗效果。現(xiàn)有技術中對應用專屬的推送消息,只有當應用的消息推送服務啟動后,才能接收到該應用專屬的推送消息。應用沒有啟動或者應用啟動但應用的消息推送服務沒有啟動,無法接收到該應用專屬的推送消息。本發(fā)明通過一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,即使應用專屬的推送消息對應的應用沒有啟動或者對應的應用的消息推送服務沒有啟動,依然可以接收到該應用專屬的推送消息,使用戶及時獲取到有效的推送消息。對于用戶專屬的推送消息也是如此,當用戶所注冊的應用沒有啟動或者應用的消息推送服務沒有啟動時,依然可以通過已啟動或保留的一個消息推送服務接收到用戶專屬的推送消息。對于應用專屬的推送消息、用戶專屬的推送消息等,在接收推送消息時不需要其對應的應用必須在啟動狀態(tài)也可以接收到推送消息,極大的減少了終端設備的耗電量。
根據(jù)本發(fā)明提供的消息推送的多路復用方法,在啟動應用的消息推送服務后,向其它應用發(fā)送廣播消息。判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息,根據(jù)判斷結果,利用所啟動的消息推送服務接收服務器或所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)了消息推送的多路復用。僅利用一個消息推送服務就可以完成向一個或多個應用發(fā)送的推送消息,節(jié)省了終端設備啟動多個應用的消息推送服務所消耗的電量。
實施例二
圖2示出了根據(jù)本發(fā)明實施例二的消息推送的多路復用方法的流程圖。如圖2所示,消息推送的多路復用方法具體包括如下步驟:
步驟s201,啟動應用的消息推送服務,向其它應用發(fā)送廣播消息。
步驟s202,判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息,若是,執(zhí)行步驟s204;否則,執(zhí)行步驟s203。
步驟s203,利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
步驟s204,根據(jù)響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
以上步驟可以參照實施例一中步驟s101-s104的描述,在此不再贅述。
步驟s205,判斷客戶端是否已安裝一個或多個應用中的其中至少一個應用,若是,則執(zhí)行步驟s207;若否,執(zhí)行步驟s206。
步驟s206,若客戶端未安裝一個或多個應用的其中至少一個應用,即該一個或多個應用在客戶端上均未安裝,則該客戶端不屬于該推送消息的推送對象,需要丟棄推送消息。
步驟s207,若客戶端安裝一個或多個應用中的其中至少一個應用,則在通知欄顯示推送消息。
消息推送服務接收到服務器向一個或多個應用發(fā)送的推送消息,其中,推送消息指向具體應用。如消息推送服務接收到服務器向應用a發(fā)送的推送消息、向應用b發(fā)送的推送消息等,其中,消息推送服務可以是應用a的消息推送服務,或者消息推送服務是應用b的消息推送服務,或者,消息推送服務既不是應用a的消息推送服務,也不是應用b的消息推送服務,而是應用c的消息推送服務。因此,消息推送服務接收到的推送消息指向的應用有可能不是該消息推送服務對應的應用。對于這種推送消息,需要先獲取該推送消息指向的應用。判斷客戶端是否已經(jīng)安裝了該推送消息指向的應用,若客戶端未安裝該應用,該客戶端不屬于該推送消息的推送對象,需要丟棄推送消息,若客戶端安裝了該應用,則在通知欄顯示推送消息。
如對于有些應用專屬的推送消息,由于用戶在使用應用時會在服務器注冊用戶id,服務器通過篩選用戶id的方式,可以將應用專屬的推送消息向該用戶id的終端設備發(fā)送,由消息推送服務接收。但當用戶僅安裝了應用卻沒有進行注冊時,可能導致遺漏該用戶。因此,可以通過向全部用戶發(fā)送應用專屬的推送消息以避免遺漏。在接收到這種應用專屬的推送消息時,需要先判斷客戶端是否安裝了該推送消息對應的一個或多個應用,若客戶端未安裝該一個或多個應用,執(zhí)行步驟s206,直接將該推送消息丟棄,不做后續(xù)處理。若客戶端安裝一個或多個應用中的其中一個應用,執(zhí)行步驟s207,在通知欄對應的顯示安裝的應用的推送消息。這樣,避免了發(fā)送推送消息的遺漏,也避免了對未安裝應用的終端設備的消息騷擾。
步驟s208,根據(jù)用戶對推送消息的觸發(fā)行為,判斷推送消息指向的應用是否啟動。
步驟s209,若未啟動,則根據(jù)觸發(fā)行為啟動推送消息指向的應用。
推送消息包括了如消息的文字、圖片等內(nèi)容,一般顯示在終端設備的通知欄中進行顯示。當用戶需要了解推送消息的具體內(nèi)容時,可以去點擊該推送消息,進而可以顯示推送消息的詳細內(nèi)容。推送消息的詳細內(nèi)容一般在其指向的應用中進行顯示?,F(xiàn)有技術在應用啟動后,才能啟動其消息推送服務,進而接收服務器向該應用的發(fā)送的推送消息。即在接收到推送消息時,推送消息指向的應用一定是啟動狀態(tài)。但本實施例啟動的消息推送服務可以接收服務器向一個或多個應用發(fā)送的推送消息,推送消息可以是指向該消息推送服務對應的應用,也可以指向非該消息推送服務對應的應用。即在不啟動應用的情況下,由其它應用的消息推送服務接收服務器向該應用發(fā)送的推送消息。如應用a的消息推送服務接收到服務器向應用b發(fā)送的推送消息,該推送消息指向的應用為應用b。但應用b還未啟動。因此,根據(jù)用戶對推送消息的觸發(fā)行為,先判斷推送消息指向的應用是否啟動,若未啟動,執(zhí)行步驟s209,先啟動該推送消息指向的應用。在應用啟動之后,可以在應用中顯示推送消息的詳細內(nèi)容。
推送消息除包括上述的文字、圖片等內(nèi)容外,還包括了如指定的應用調(diào)用請求、應用下載地址、指定網(wǎng)頁展示請求等。對于推送消息中包括的應用的下載地址,可以根據(jù)用戶對推送消息的觸發(fā)行為,直接跳轉至應用下載地址進行應用的下載。對于推送消息中包括的指定網(wǎng)頁展示請求,可以根據(jù)用戶對推送消息的觸發(fā)行為,直接跳轉至網(wǎng)頁展示頁面。對于推送消息中包括的指定的應用調(diào)用請求,如推送消息為服務器向應用a發(fā)送的,推送消息中包括了指定的應用b調(diào)用請求,根據(jù)用戶對推送消息的觸發(fā)行為,調(diào)用應用b。以上均為舉例說明,具體根據(jù)實施情況進行設置,此處不做限定。
進一步,對于消息推送服務本身,其在接收到推送消息時,為提醒用戶注意,會有相應的消息推送提醒鈴聲。在此,可以由用戶根據(jù)自己的需要提供設置個性化消息推送提醒鈴聲的功能,以滿足用戶的個性化定制服務。還可以根據(jù)用戶自身的作息習慣提供設置消息推送防騷擾時間段,根據(jù)設置的消息推送防騷擾時間段,可以不在該時間段內(nèi)進行消息推送等。
根據(jù)本發(fā)明提供的消息推送的多路復用方法,實現(xiàn)了一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,使消息推送多路復用,大大節(jié)省了終端設備啟動多個應用的消息推送服務所消耗的電量。同時,減少了對用戶的推送消息騷擾,提高用戶體驗效果,使推送消息更簡便,也使得消息推送服務更易存活。
實施例三
圖3示出了根據(jù)本發(fā)明實施例三的消息推送的多路復用裝置的功能框圖。如圖3所示,消息推送的多路復用裝置包括如下模塊:
啟動模塊310,適于啟動應用的消息推送服務,向其它應用發(fā)送廣播消息。
啟動模塊310啟動一個應用的消息推送服務,并在啟動該應用的消息推送服務后,啟動模塊310向其它應用發(fā)送一個廣播消息。由于每個應用的消息推送服務的啟動是隨機性的,沒有固定的時間或啟動順序,每個應用無法了解是否在本應用啟動消息推送服務前,已經(jīng)有其它應用啟動了其對應的消息推送服務。因此,啟動模塊310通過向其它應用發(fā)送廣播消息,進而來確認是否有其它應用已經(jīng)啟動其對應的消息推送服務。
判斷模塊320,適于判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息。
啟動模塊310在向其它應用發(fā)送廣播消息后,若其它應用中某一應用的消息推送服務已經(jīng)啟動,判斷模塊320會接收到該應用的消息推送服務反饋的響應消息,若其它各應用的消息推送服務均未啟動,則判斷模塊320不會接收到任何其它應用的消息推送服務反饋的響應消息。
由于其它應用的消息推送服務在接收到廣播消息后并反饋響應消息,會有一定時間的間隔。判斷模塊320在判斷時,判斷預設時間內(nèi)如15秒內(nèi)接收到其它應用的消息推送服務反饋的響應消息。
接收模塊330,適于若在預設時間內(nèi)未接收到響應消息,則利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息;若在預設時間內(nèi)接收到響應消息,根據(jù)響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
判斷模塊320判斷在預設時間內(nèi)沒有接收到其它應用的消息推送服務反饋的響應消息,可以認為當前時間只有本應用的消息推送服務啟動。接收模塊330利用所啟動的消息推送服務可以接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)一個消息推送服務的多路復用。
判斷模塊320判斷預設時間內(nèi)接收到其它應用反饋的響應消息,即當前時間已經(jīng)有其它應用的消息推送服務啟動。接收模塊330根據(jù)響應消息中攜帶的如消息推送服務的啟動時間等信息來確定應保留的一個消息推送服務。接收模塊330可以將反饋的響應信息中攜帶的消息推送服務的啟動時間與本應用的消息推送服務的啟動時間進行比較,若本應用的消息推送服務的啟動時間在前,接收模塊330將其它應用的消息推送服務全部關閉,僅保留本應用的消息推送服務;若其它應用中的某一應用的消息推送服務在前,接收模塊330僅保留該應用的消息推送服務,將其它應用和本應用的消息推送服務均關閉。接收模塊330根據(jù)響應消息來確定保留的消息推送服務的方式可以根據(jù)實施情況進行設置,此處不做限定。接收模塊330在保留一個消息推送服務后,利用所保留的一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)一個消息推送服務的多路復用。
其中,接收模塊330接收到的推送消息,可以是向啟動該消息推送服務的應用發(fā)送的推送消息,也可以是向與啟動該消息推送服務無關的應用發(fā)送的推送消息。接收模塊330均可以接收以上各種推送消息。
推送消息的類型可以分為如全局推送消息、應用專屬的推送消息、用戶專屬的推送消息等。全局推送消息是服務器向多個應用發(fā)送的相同的推送消息?,F(xiàn)有技術中不同應用的消息推送服務都會接受到服務器發(fā)送的全局推送消息,從而接收到多條重復的全局推送消息,對用戶而言造成重復消息騷擾。本發(fā)明中接收模塊330通過一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,使得僅接收到一條全局推送消息,對用戶而言不會造成重復消息騷擾,實現(xiàn)了多條全局推送消息的過濾,避免推送多條同樣的全局推送消息給終端設備,提高了用戶體驗效果。現(xiàn)有技術中對應用專屬的推送消息,只有當應用的消息推送服務啟動后,才能接收到該應用專屬的推送消息。應用沒有啟動或者應用啟動但應用的消息推送服務沒有啟動,無法接收到該應用專屬的推送消息。本發(fā)明中接收模塊330通過一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,即使應用專屬的推送消息對應的應用沒有啟動或者對應的應用的消息推送服務沒有啟動,依然可以接收到該應用專屬的推送消息,使用戶及時獲取到有效的推送消息。對于用戶專屬的推送消息也是如此,當用戶所注冊的應用沒有啟動或者應用的消息推送服務沒有啟動時,接收模塊330依然可以通過已啟動或保留的一個消息推送服務接收到用戶專屬的推送消息。對于應用專屬的推送消息、用戶專屬的推送消息等,在接收推送消息時不需要其對應的應用必須在啟動狀態(tài)也可以接收到推送消息,極大的減少了終端設備的耗電量。
根據(jù)本發(fā)明提供的消息推送的多路復用裝置,在啟動應用的消息推送服務后,向其它應用發(fā)送廣播消息。判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息,根據(jù)判斷結果,利用所啟動的消息推送服務接收服務器或所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)了消息推送的多路復用。僅利用一個消息推送服務就可以完成向一個或多個應用發(fā)送的推送消息,節(jié)省了終端設備啟動多個應用的消息推送服務所消耗的電量。
實施例四
圖4示出了根據(jù)本發(fā)明實施例四的消息推送的多路復用裝置的流程圖。如圖4所示,與圖3相比,消息推送的多路復用裝置還包括如下模塊:
安裝判斷模塊340,適于判斷客戶端是否已安裝一個或多個應用中的至少一個應用;若客戶端未安裝一個或多個應用中的至少一個應用,則丟棄推送消息;若客戶端安裝一個或多個應用中的至少一個應用,則在通知欄顯示推送消息。
消息推送服務接收到服務器向一個或多個應用發(fā)送的推送消息,其中,推送消息指向具體應用。如消息推送服務接收到服務器向應用a發(fā)送的推送消息、向應用b發(fā)送的推送消息等,其中,消息推送服務可以是應用a的消息推送服務,或者消息推送服務是應用b的消息推送服務,或者,消息推送服務既不是應用a的消息推送服務,也不是應用b的消息推送服務,而是應用c的消息推送服務。因此,消息推送服務接收到的推送消息指向的應用有可能不是該消息推送服務對應的應用。對于這種推送消息,需要先獲取該推送消息指向的應用。判斷客戶端是否已經(jīng)安裝了該推送消息指向的應用,若客戶端未安裝該應用,該客戶端不屬于該推送消息的推送對象,需要丟棄推送消息,若客戶端安裝了該應用,則在通知欄顯示推送消息。如對于有些應用專屬的推送消息,由于用戶在使用應用時會在服務器注冊用戶id,服務器通過篩選用戶id的方式,可以將應用專屬的推送消息向該用戶id的終端設備發(fā)送,由消息推送服務接收。但當用戶僅安裝了應用缺沒有進行注冊時,可能導致遺漏該用戶。因此,服務器可以通過向全部用戶發(fā)送應用專屬的推送消息以避免遺漏。接收模塊330在接收到這種應用專屬的推送消息時,需要安裝判斷模塊340先判斷客戶端是否安裝了該推送消息對應的一個或多個應用,若客戶端未安裝該一個或多個應用,直接將該推送消息丟棄,不做后續(xù)處理。若客戶端安裝一個或多個應用中的其中一個應用,則在通知欄對應的顯示安裝的應用的推送消息。這樣,避免了發(fā)送推送消息的遺漏,也避免了對未安裝應用的終端設備的消息騷擾。
應用啟動模塊350,適于根據(jù)用戶對推送消息的觸發(fā)行為,判斷推送消息指向的應用是否啟動;若未啟動,則根據(jù)觸發(fā)行為啟動推送消息指向的應用。
推送消息包括了如消息的文字、圖片等內(nèi)容,一般顯示在終端設備的通知欄中進行顯示。當用戶需要了解推送消息的具體內(nèi)容時,可以去點擊該推送消息,進而可以顯示推送消息的詳細內(nèi)容。推送消息的詳細內(nèi)容一般在其指向的應用中進行顯示?,F(xiàn)有技術在應用啟動后,才能啟動其消息推送服務,進而接收服務器向該應用的發(fā)送的推送消息。即在接收到推送消息時,推送消息指向的應用一定是啟動狀態(tài)。但本實施例啟動的消息推送服務可以接收服務器向一個或多個應用發(fā)送的推送消息,推送消息可以是指向該消息推送服務對應的應用,也可以指向非該消息推送服務對應的應用。即在不啟動應用的情況下,由其它應用的消息推送服務接收服務器向該應用發(fā)送的推送消息。如應用a的消息推送服務接收到服務器向應用b發(fā)送的推送消息,該推送消息指向的應用為應用b。但應用b還未啟動。因此,應用啟動模塊350根據(jù)用戶對推送消息的觸發(fā)行為,先判斷推送消息指向的應用是否啟動,若未啟動,先啟動該推送消息指向的應用。在應用啟動之后,可以在應用中顯示推送消息的詳細內(nèi)容。
推送消息除包括上述的文字、圖片等內(nèi)容外,還包括了如指定的應用調(diào)用請求、應用下載地址、指定網(wǎng)頁展示請求等。對于推送消息中包括的應用的下載地址,可以根據(jù)用戶對推送消息的觸發(fā)行為,直接跳轉至應用下載地址進行應用的下載。對于推送消息中包括的指定網(wǎng)頁展示請求,可以根據(jù)用戶對推送消息的觸發(fā)行為,直接跳轉至網(wǎng)頁展示頁面。對于推送消息中包括的指定的應用調(diào)用請求,如推送消息為服務器向應用a發(fā)送的,推送消息中包括了指定的應用b調(diào)用請求,根據(jù)用戶對推送消息的觸發(fā)行為,調(diào)用應用b。以上均為舉例說明,具體根據(jù)實施情況進行設置,此處不做限定。
鈴聲設置模塊360,適于設置個性化消息推送提醒鈴聲。
時間設置模塊370,適于設置消息推送防騷擾時間段。
對于消息推送服務本身,其在接收到推送消息時,為提醒用戶注意,會有相應的消息推送提醒鈴聲。在此,鈴聲設置模塊360可以由用戶根據(jù)自己的需要提供設置個性化消息推送提醒鈴聲的功能,以滿足用戶的個性化定制服務。時間設置模塊370可以根據(jù)用戶自身的作息習慣提供設置消息推送防騷擾時間段,根據(jù)設置的消息推送防騷擾時間段,可以不在該時間段內(nèi)進行消息推送等。
根據(jù)本發(fā)明提供的消息推送的多路復用方法,實現(xiàn)了一個消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,使消息推送多路復用,大大節(jié)省了終端設備啟動多個應用的消息推送服務所消耗的電量。同時,減少了對用戶的推送消息騷擾,提高用戶體驗效果,使推送消息更簡便,也使得消息推送服務更易存活。
實施例五
本申請實施例五提供了一種非易失性計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有至少一可執(zhí)行指令,該計算機可執(zhí)行指令可執(zhí)行上述任意方法實施例中的消息推送的多路復用方法。
實施例六
圖5示出了根據(jù)本發(fā)明實施例六的一種電子設備的結構示意圖,本發(fā)明具體實施例并不對電子設備的具體實現(xiàn)做限定。
如圖5所示,該電子設備可以包括:處理器(processor)502、通信接口(communicationsinterface)504、存儲器(memory)506、以及通信總線508。
其中:
處理器502、通信接口504、以及存儲器506通過通信總線508完成相互間的通信。
通信接口504,用于與其它設備比如客戶端或其它服務器等的網(wǎng)元通信。
處理器502,用于執(zhí)行程序510,具體可以執(zhí)行上述消息推送的多路復用方法實施例中的相關步驟。
具體地,程序510可以包括程序代碼,該程序代碼包括計算機操作指令。
處理器502可能是中央處理器cpu,或者是特定集成電路asic(applicationspecificintegratedcircuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。電子設備包括的一個或多個處理器,可以是同一類型的處理器,如一個或多個cpu;也可以是不同類型的處理器,如一個或多個cpu以及一個或多個asic。
存儲器506,用于存放程序510。存儲器506可能包含高速ram存儲器,也可能還包括非易失性存儲器(non-volatilememory),例如至少一個磁盤存儲器。
程序510具體可以用于使得處理器502執(zhí)行以下操作:
在一種可選的實施方式中,程序510用于使得處理器502啟動應用的消息推送服務,向其它應用發(fā)送廣播消息;判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息;若在預設時間內(nèi)未接收到響應消息,則利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息;若在預設時間內(nèi)接收到響應消息,根據(jù)響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
在一種可選的實施方式中,程序510用于使得處理器502若在預設時間內(nèi)接收到響應消息,根據(jù)響應消息中攜帶的消息推送服務的啟動時間,選擇保留啟動時間在前的消息推送服務。
在一種可選的實施方式中,程序510用于使得處理器502判斷客戶端是否已安裝一個或多個應用中的至少一個應用;若客戶端未安裝一個或多個應用中的至少一個應用,則丟棄推送消息;若客戶端安裝一個或多個應用中的其中一個應用,則在通知欄顯示推送消息。
在一種可選的實施方式中,程序510用于使得處理器502根據(jù)用戶對推送消息的觸發(fā)行為,判斷推送消息指向的應用是否啟動;若未啟動,則根據(jù)觸發(fā)行為啟動推送消息指向的應用。
在一種可選的實施方式中,推送消息包括:指定的應用調(diào)用請求、應用下載地址和/或指定網(wǎng)頁展示請求。
在一種可選的實施方式中,程序510用于使得處理器502設置個性化消息推送提醒鈴聲和/或設置消息推送防騷擾時間段。
程序510中各步驟的具體實現(xiàn)可以參見上述消息推送的多路復用實施例中的相應步驟和單元中對應的描述,在此不贅述。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的設備和模塊的具體工作過程,可以參考前述方法實施例中的對應過程描述,在此不再贅述。
通過本實施例提供的方案,在啟動應用的消息推送服務后,向其它應用發(fā)送廣播消息。判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息,根據(jù)判斷結果,利用所啟動的消息推送服務接收服務器或所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息,實現(xiàn)了消息推送的多路復用。僅利用一個消息推送服務就可以完成向一個或多個應用發(fā)送的推送消息,節(jié)省了終端設備啟動多個應用的消息推送服務所消耗的電量。
在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類系統(tǒng)所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(dsp)來實現(xiàn)根據(jù)本發(fā)明實施例的消息推送的多路復用裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了:
a1.一種消息推送的多路復用方法,其包括:
啟動應用的消息推送服務,向其它應用發(fā)送廣播消息;
判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息;
若在預設時間內(nèi)未接收到所述響應消息,則利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息;
若在預設時間內(nèi)接收到所述響應消息,根據(jù)所述響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
a2.根據(jù)a1所述的方法,其中,所述若在預設時間內(nèi)接收到所述響應消息,根據(jù)所述響應消息確定應保留的消息推送服務進一步包括:
若在預設時間內(nèi)接收到所述響應消息,根據(jù)所述響應消息中攜帶的消息推送服務的啟動時間,選擇保留啟動時間在前的消息推送服務。
a3.根據(jù)a1所述的方法,其中,在所述利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息之后,或者在所述利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息之后,所述方法還包括:
判斷客戶端是否已安裝所述一個或多個應用中的至少一個應用;
若所述客戶端未安裝所述一個或多個應用中的至少一個應用,則丟棄所述推送消息;
若所述客戶端安裝所述一個或多個應用中的其中一個應用,則在通知欄顯示所述推送消息。
a4.根據(jù)a3所述的方法,其中,在所述在通知欄顯示所述推送消息之后,所述方法還包括:
根據(jù)用戶對所述推送消息的觸發(fā)行為,判斷所述推送消息指向的應用是否啟動;
若未啟動,則根據(jù)所述觸發(fā)行為啟動所述推送消息指向的應用。
a5.根據(jù)a1所述的方法,其中,所述推送消息包括:
指定的應用調(diào)用請求、應用下載地址和/或指定網(wǎng)頁展示請求。
a6.根據(jù)a1所述的方法,其中,所述方法還包括:
設置個性化消息推送提醒鈴聲和/或設置消息推送防騷擾時間段。
本發(fā)明還公開了:b7.一種消息推送的多路復用裝置,其包括:
啟動模塊,適于啟動應用的消息推送服務,向其它應用發(fā)送廣播消息;
判斷模塊,適于判斷在預設時間內(nèi)是否接收到其它應用的消息推送服務反饋的響應消息;
接收模塊,適于若在預設時間內(nèi)未接收到所述響應消息,則利用所啟動的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息;若在預設時間內(nèi)接收到所述響應消息,根據(jù)所述響應消息確定應保留的消息推送服務,利用所保留的消息推送服務接收服務器向一個或多個應用發(fā)送的推送消息。
b8.根據(jù)b7所述的裝置,其中,所述接收模塊進一步適于:
若在預設時間內(nèi)接收到所述響應消息,根據(jù)所述響應消息中攜帶的消息推送服務的啟動時間,選擇保留啟動時間在前的消息推送服務。
b9.根據(jù)b7所述的裝置,其中,在所述接收模塊之后,所述裝置還包括:
安裝判斷模塊,適于判斷客戶端是否已安裝所述一個或多個應用中的至少一個應用;若所述客戶端未安裝所述一個或多個應用中的至少一個應用,則丟棄所述推送消息;若所述客戶端安裝所述一個或多個應用中的其中一個應用,則在通知欄顯示所述推送消息。
b10.根據(jù)b9所述的裝置,其中,在所述安裝判斷模塊之后,所述裝置還包括:
應用啟動模塊,適于根據(jù)用戶對所述推送消息的觸發(fā)行為,判斷所述推送消息指向的應用是否啟動;若未啟動,則根據(jù)所述觸發(fā)行為啟動所述推送消息指向的應用。
b11.根據(jù)b7所述的裝置,其中,所述推送消息包括:
指定的應用調(diào)用請求、應用下載地址和/或指定網(wǎng)頁展示請求。
b12.根據(jù)b7所述的裝置,其中,所述裝置還包括:
鈴聲設置模塊,適于設置個性化消息推送提醒鈴聲;
時間設置模塊,適于設置消息推送防騷擾時間段。
本發(fā)明還公開了:c13.一種電子設備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;
所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如a1-a6中任一項所述的消息推送的多路復用方法對應的操作。
本發(fā)明還公開了:d14.一種計算機存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如a1-a6中任一項所述的消息推送的多路復用方法對應的操作。