本發(fā)明涉及通信技術領域,特別是涉及一種消息推送方法、裝置、存儲介質及計算機設備。
背景技術:
為達到理想的運營效果,有效的提升用戶對平臺產品、活動的關注度,運營商通常使用移動推送向用戶推送針對性的消息。目前,市場上成熟的推送服務雖然性能、到達率都不錯,但基本都是收費的,從而導致成本較高。而針對蘋果公司的移動操作系統(tǒng)ios的推送服務的開源產品又相當少,目前一般通過javapns框架推送接口向ios推送服務,但是,基于已有的javapns框架推送接口服務單一,且消息推送的到達率會受到諸多因素的影響,從而導致無法管控消息的到達率。
技術實現要素:
基于此,有必要針對目前ios消息推送到達率的問題,提供一種消息推送方法、裝置、存儲介質及計算機設備。
一種消息推送方法,包括:
接收被推送設備的注冊請求,其中,注冊請求中包括被推送設備的設備標識;
獲取待推送消息,根據待推送消息的屬性信息,向服務器發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,以使服務器對被推送設備的設備標識進行驗證,并向驗證通過的被推送設備發(fā)送待推送消息;
接收服務器返回的驗證結果,若驗證結果中存在驗證失敗的信息,則根據驗證失敗的信息向服務器重發(fā)待推送消息。
在其中一個實施例中,還包括:
接收被推送設備讀取待推送消息后返回的已讀狀態(tài)信息;
根據已讀狀態(tài)信息統(tǒng)計待推送消息的讀取次數。
在其中一個實施例中,待推送消息的屬性信息包括待推送消息的推送范圍和推送時間;
則根據待推送消息的屬性信息,向服務器發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,包括:
根據待推送消息的推送范圍確定對應的被推送設備的設備標識;
根據待推送消息的推送時間,向服務器發(fā)送待推送消息和對應的被推送設備的設備標識。
在其中一個實施例中,接收被推送設備的注冊請求之后,還包括:
根據被推送設備的設備標識,為被推送設備配置組別標識;
則根據待推送消息的推送范圍確定對應的被推送設備的設備標識,包括:
根據待推送消息的推送范圍確定與推送范圍對應的組別標識;
根據組別標識確定與組別標識對應的被推送設備的設備標識。
在其中一個實施例中,獲取待推送消息包括:
接收外部業(yè)務系統(tǒng)發(fā)送的待推送消息,其中,待推送消息是外部業(yè)務系統(tǒng)通過消息總線activemq或分布式服務框架dubbo發(fā)送的。
在其中一個實施例中,獲取待推送消息包括:
根據運營策略配置待推送消息,并在消息模板中存儲。
一種消息推送裝置,包括:
注冊請求接收模塊,用于接收被推送設備的注冊請求,其中,注冊請求中包括被推送設備的設備標識;
待推送消息發(fā)送模塊,用于獲取待推送消息,根據待推送消息的屬性信息,向服務器發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,以使服務器對被推送設備的設備標識進行驗證,并向驗證通過的被推送設備發(fā)送待推送消息;
待推送消息重發(fā)模塊,接收服務器返回的驗證結果,若驗證結果中存在驗證失敗的信息,則根據驗證失敗的信息向服務器重發(fā)待推送消息。
在其中一個實施例中,還包括:
統(tǒng)計模塊,用于接收被推送設備讀取待推送消息后返回的已讀狀態(tài)信息;并根據已讀狀態(tài)信息統(tǒng)計待推送消息的讀取次數。
一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執(zhí)行時實現如上方法所述的步驟。
一種計算機設備,包括存儲器,處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其中,處理器執(zhí)行計算機程序時實現如上方法所述的步驟。
采用上述本發(fā)明技術方案的有益效果是:根據待推送消息的屬性信息,向服務器發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,以使服務器對被推送設備的設備標識進行驗證,并向驗證通過的被推送設備發(fā)送待推送消息;同時接收服務器返回的驗證結果,根據驗證結果中驗證失敗的信息向服務器重發(fā)待推送消息,從而極大的提高了ios消息推送的到達率。
附圖說明
圖1為一個實施例中消息推送方法的流程示意圖;
圖2為一個實施例中消息推送方法的流程示意圖;
圖3為一個實施例中消息推送方法的流程示意圖;
圖4為一個實施例中消息推送裝置的結構示意圖;
圖5為一個實施例中消息推送裝置的結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。
本發(fā)明實施例提供了一種消息推送方法,其應用于消息推送服務器,如圖1所示,該方法可以包括如下步驟:
步驟s101,接收被推送設備的注冊請求,注冊請求中包括被推送設備的設備標識;
在本實施例中,被推送設備可以是智能終端(以下統(tǒng)一通過智能終端進行說明),如手機、平板等,當需要在智能終端上加載應用時,則首先需要向服務器進行注冊,在提交注冊時,會攜帶該智能終端的設備序列號,服務器對該智能終端的設備序列號驗證通過后,產生設備標識device_token(以下統(tǒng)一通過device_token進行說明),并將該device_token經過打包和處理后返回給注冊的智能終端。智能終端在接收到device_token后,則向消息推送服務器發(fā)送注冊請求,該注冊請求中攜帶了device_token和對應的設備序列號。消息推送服務器接收智能終端的注冊請求,并對注冊請求中的device_token和對應的設備序列號進行綁定存儲。
步驟s102,根據待推送消息的屬性信息,向服務器發(fā)送該待推送消息和與該待推送消息的屬性信息對應的被推送設備的設備標識,以使服務器對被推送設備的設備標識進行驗證,并向驗證通過的被推送設備發(fā)送該待推送消息;
當運營商根據運營策略的需要,需要向用戶發(fā)送推送消息時,則可以通過消息推送服務器向用戶推送需要發(fā)送的推送消息,其具體可以根據待推送消息的屬性信息,如待推送消息的推送時間、推送范圍等,從而根據推送范圍確定該待推送消息對應的智能終端的device_token,并在相應的推送時間向服務器發(fā)送該待推送消息和對應的智能終端的device_token,從而使得服務器對智能終端的device_token進行驗證,并向驗證通過的智能終端發(fā)送該待推送消息。
步驟s103,接收服務器返回的驗證結果,若驗證結果中存在驗證失敗的信息,則根據驗證失敗的信息向服務器重發(fā)該待推送消息。
在本實施例中,服務器接收到消息推送服務器發(fā)送的待推送消息和對應的智能終端的device_token后,會對智能終端的device_token的合法性進行驗證,如果合法,則表示驗證通過,并向驗證通過的智能終端發(fā)送該待推送消息;如果不合法,則表示驗證失敗。同時,服務器會向消息推送服務器返回驗證結果,如果有驗證失敗的情況,該驗證結果中還會攜帶具體驗證失敗的智能終端的device_token。因此,消息推送服務器接收到服務器返回的驗證結果后,會根據驗證結果中驗證失敗的信息進行相應的排查處理,然后采用定時輪詢的方式向服務器重新發(fā)送該待發(fā)送消息以及服務器驗證失敗的智能終端的device_token,從而極大的提高了消息推送的到達率。
在一個實施例中,被推送設備還可以是蘋果公司研發(fā)的智能終端,如iphone、ipad等終端設備,服務器則具體可以是蘋果推送服務器(applepushnotificationservice,簡稱apns),消息推送服務器則可以是ios消息推送服務器,具體用于ios消息的推送(以下均以服務器為apns、消息推送服務器為ios消息推送服務器為例進行說明)。
在一個實施例中,如圖2所示,該消息推送方法還可以包括:
步驟s201,接收被推送設備讀取推送消息后返回的已讀狀態(tài)信息;
步驟s202,根據已讀狀態(tài)信息統(tǒng)計推送消息的讀取次數。
在本實施例中,ios消息推送服務器在發(fā)送待推送消息時,可以在待推送消息中攜帶消息標識,該消息標識用于接收方的智能終端在點擊打開該待推送消息后,自動向ios消息推送服務器返回已讀狀態(tài)信息。因此,ios消息推送服務器可以接收該已讀狀態(tài)信息,并根據接收的已讀狀態(tài)信息統(tǒng)計該待推送消息的讀取次數,從而直觀的體現出用戶對該推送消息所屬的運營活動的關注度。
在一個實施例中,智能終端在接收到推送消息后,相應的應用程序可以向用戶發(fā)出提示,通知用戶收到新的消息,以提醒用戶及時查看,從而極大的提升了用戶粘度。
在一個實施例中,待推送消息的屬性信息可以包括待推送消息的推送范圍和推送時間,因此,如圖3所示,根據待推送消息的屬性信息,向apns發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,包括:
步驟s301,根據待推送消息的推送范圍確定對應的被推送設備的設備標識;
在一個實施例中,ios消息推送服務器可以根據注冊的智能終端的device_token和設備序列號為智能終端設備進行分組,并為每個組分別設置組別標識,并將該組別標識和對應的device_token、設備序列號進行綁定存儲。其中,待推送消息的推送范圍可以是全網推送、指定用戶推送或指定設備推送等,因此,ios消息推送服務器可以根據待推送消息的推送范圍確定智能終端的組別,并根據其組別標識確定對應的智能終端的device_token,從而實現將待推送消息向全網用戶推送、指定用戶推送、指定設備推送等多維度的推送,更精確的觸及運營商與用戶的粘合度。
步驟s302,根據待推送消息的推送時間,向apns發(fā)送待推送消息和對應的被推送設備的設備標識。
在一個實施例中,如果待推送消息的推送時間為實時推送,ios消息推送服務器則實時地向apns發(fā)送該待推送消息和對應的智能終端的device_token,以使apns能夠實時地向驗證通過的智能終端發(fā)送該待推送消息。
如果待推送消息的推送時間為指定時間推送,ios消息推送服務器則將該待推送消息和對應的智能終端的device_token進行打包,并標記為定時任務,同時啟動定時器進行監(jiān)控,因此,ios消息推送服務器則可以根據系統(tǒng)消息量的大小以及定時任務,對滿足條件的定時任務進行處理,從而實現消息的定時推送,極大的滿足了運營策略的需要,避免不恰當時機的消息推送造成用戶的抵觸反感,同時,減少了人工干預的力度,方便運營策略的及早實施。
在一個實施例中,待推送消息可以是ios消息推送服務器根據運營策略配置的,即根據運營策略的需要,生成相應的包括推送時間和推送范圍的待推送消息。同時,生成的待推送消息可以在消息模板中存儲,從而可以靈活的接入各種服務,當運營策略更換時,只需要修改對應的消息模板即可,而無需修改后臺代碼和重啟系統(tǒng)等操作。
在一個實施例中,待推送消息還可以是外部業(yè)務系統(tǒng)向ios消息推送服務器發(fā)送的,具體的,外部業(yè)務系統(tǒng)可以根據需要采用消息總線activemq或分布式服務框架dubbo與ios消息推送服務器連接,因此,外部業(yè)務系統(tǒng)通過消息總線activemq或分布式服務框架dubbo向ios消息推送服務器發(fā)送待推送消息,從而使得ios消息推送服務器為外部業(yè)務系統(tǒng)完成推送。另外,ios消息推送服務器可以為接入的不同的業(yè)務系統(tǒng)分配指定的系統(tǒng)標識及對應的推送業(yè)務標識,從而可以與消息模板進行關聯(lián),以便更靈活的接入業(yè)務,完成推送。
本發(fā)明實施例還提供了一種消息推送裝置,如圖4所示,包括:
注冊請求接收模塊401,用于接收被推送設備的注冊請求,其中,注冊請求中包括被推送設備的設備標識;
待推送消息發(fā)送模塊402,用于獲取待推送消息,根據待推送消息的屬性信息,向蘋果推送服務器apns發(fā)送該待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,以使apns對被推送設備的設備標識進行驗證,并向驗證通過的被推送設備發(fā)送該待推送消息;
待推送消息重發(fā)模塊403,接收apns返回的驗證結果,若驗證結果中存在驗證失敗的信息,則根據驗證失敗的信息向apns重發(fā)該待推送消息。
在一個實施例中,如圖5所示,消息推送裝置還可以包括:
統(tǒng)計模塊501,用于接收被推送設備讀取推送消息后返回的已讀狀態(tài)信息;并根據已讀狀態(tài)信息統(tǒng)計推送消息的讀取次數。
在一個實施例中,待推送消息的屬性信息包括待推送消息的推送范圍和推送時間,則待推送消息發(fā)送模塊402具體用于:根據待推送消息的推送范圍確定對應的被推送設備的設備標識;根據待推送消息的推送時間,向apns發(fā)送待推送消息和對應的被推送設備的設備標識。
本發(fā)明實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現如下步驟:接收被推送設備的注冊請求,其中,注冊請求中包括被推送設備的設備標識;獲取待推送消息,根據待推送消息的屬性信息,向蘋果推送服務器apns發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,以使apns對被推送設備的設備標識進行驗證,并向驗證通過的被推送設備發(fā)送待推送消息;接收apns返回的驗證結果,若驗證結果中存在驗證失敗的信息,則根據驗證失敗的信息向apns重發(fā)該待推送消息。
在一個實施例中,還包括:接收被推送設備讀取推送消息后返回的已讀狀態(tài)信息;根據已讀狀態(tài)信息統(tǒng)計推送消息的讀取次數。
在一個實施例中,待推送消息的屬性信息包括待推送消息的推送范圍和推送時間,則根據待推送消息的屬性信息,向蘋果推送服務器apns發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,包括:根據待推送消息的推送范圍確定對應的被推送設備的設備標識;根據待推送消息的推送時間,向apns發(fā)送待推送消息和對應的被推送設備的設備標識。
在一個實施例中,還包括:根據被推送設備的設備標識,為被推送設備配置組別標識;則根據待推送消息的推送范圍確定對應的被推送設備的設備標識,包括:根據待推送消息的推送范圍確定與推送范圍對應的組別標識;根據組別標識確定與組別標識對應的被推送設備的設備標識。
在一個實施例中,獲取待推送消息包括:接收待推送消息,所述待推送消息是外部業(yè)務系統(tǒng)通過消息總線activemq或分布式服務框架dubbo發(fā)送的。
在一個實施例中,獲取待推送消息包括:根據運營策略配置待推送消息,并在消息模板中存儲。
本發(fā)明實施例還提供了一種計算機設備,包括存儲器、處理器以及存儲在存儲器上并可在處理器上運行的計算機程序,其中,處理器執(zhí)行程序時實現如下步驟:接收被推送設備的注冊請求,其中,注冊請求中包括被推送設備的設備標識;獲取待推送消息,根據待推送消息的屬性信息,向蘋果推送服務器apns發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,以使apns對被推送設備的設備標識進行驗證,并向驗證通過的被推送設備發(fā)送待推送消息;接收apns返回的驗證結果,若驗證結果中存在驗證失敗的信息,則根據驗證失敗的信息向apns重發(fā)該待推送消息。
在一個實施例中,還包括:接收被推送設備讀取推送消息后返回的已讀狀態(tài)信息;根據已讀狀態(tài)信息統(tǒng)計推送消息的讀取次數。
在一個實施例中,待推送消息的屬性信息包括待推送消息的推送范圍和推送時間,則根據待推送消息的屬性信息,向蘋果推送服務器apns發(fā)送待推送消息和與待推送消息的屬性信息對應的被推送設備的設備標識,包括:根據待推送消息的推送范圍確定對應的被推送設備的設備標識;根據待推送消息的推送時間,向apns發(fā)送待推送消息和對應的被推送設備的設備標識。
在一個實施例中,還包括:根據被推送設備的設備標識,為被推送設備配置組別標識;則根據待推送消息的推送范圍確定對應的被推送設備的設備標識,包括:根據待推送消息的推送范圍確定與推送范圍對應的組別標識;根據組別標識確定與組別標識對應的被推送設備的設備標識。
在一個實施例中,獲取待推送消息包括:接收待推送消息,所述待推送消息是外部業(yè)務系統(tǒng)通過消息總線activemq或分布式服務框架dubbo發(fā)送的。
在一個實施例中,獲取待推送消息包括:根據運營策略配置待推送消息,并在消息模板中存儲。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。