新四季網

關注主播上線提醒方法及系統與流程

2023-11-01 02:09:12 1


本發明涉及網際網路消息推送領域,尤其涉及一種關注主播上線提醒方法及系統。



背景技術:

傳統方案中關於關注主播上線提醒方法中,通常是通過心跳或者第三方推送來推送消息。當接收到伺服器傳送過來的消息後客戶端進行提示關注主播上線提醒。傳統方案有一個很大的缺陷。對於使用心跳保持客戶端與伺服器的長連接的方案中,當客戶端在後臺運行的時候,系統會發現客戶端在後臺一直發送心跳操作,所以系統很可能會將該應用進行殺掉。這樣就中斷了客戶端和伺服器的連接,一旦客戶端和伺服器的連接中斷,此時客戶端就無法接收到伺服器推送過來的消息了。

對於使用第三方推送的方案,由於第三方推送的SDK做了很多的保活優化手段,確保第三方推送SDK能夠保活,不會輕易被系統殺死。但是在部分手機上依舊會被系統殺死,導致推送消息無法進行接收。



技術實現要素:

本發明要解決的技術問題在於針對現有技術中推送消息容易被系統殺死的缺陷,提供一種提高消息推送成功率的關注主播上線提醒方法及系統。

本發明解決其技術問題所採用的技術方案是:

提供一種關注主播上線提醒方法,包括以下步驟:

通過集成多個消息推送平臺向客戶端推送用戶所關注主播的上線消息,該上線消息為具有唯一標識的上線消息;

判斷該上線消息是否已經存在於指定存儲空間,若是,則捨棄該上線消息;若否,則將該上線消息發送到消息通知模塊,並將該上線消息存儲到所述指定存儲空間;

消息通知模塊通過通知欄發送該上線消息至客戶端。

本發明所述的方法中,該方法還包括步驟:

若客戶端的消息推送進程被系統關閉,則重新向客戶端推送重新啟動的模塊。

本發明所述的方法中,所述上線消息包括唯一標識和消息內容,消息內容相同的上線消息的唯一標識是相同的。

本發明所述的方法中,所述指定存儲空間為SharedPreferences存儲模塊,將上線消息保存到SharedPreferences的鍵值對中;其中鍵是上線消息的唯一標識,值是消息的具體內容。

本發明所述的方法中,具體通過安卓系統中的EventBus來發送上線消息。

本發明所述的方法中,若上線消息推送失敗,則通過伺服器以向用戶發送簡訊消息的方式通知客戶。

本發明所述的方法中,在「重新向客戶端推送重新啟動消息推送」之前還包括步驟:

在Android系統中註冊靜態廣播,接收網絡變化的回調消息;

根據接收的網絡變化的回調消息判定網絡狀態,若網絡連接正常,則重新向客戶端推送重新啟動消息推送模塊;若網絡斷開連接了,則不做任何處理。

本發明還提供一種關注主播上線提醒系統,包括:

平臺集成模塊,用於集成多個消息推送平臺向客戶端推送用戶所關注主播的上線消息,該上線消息為具有唯一標識的上線消息;

消息過濾模塊,用於判斷該上線消息是否已經存在於伺服器的指定存儲空間,若是,則捨棄該上線消息;若否,則將該上線消息發送到消息通知模塊,並將該上線消息存儲到所述指定存儲空間;

消息通知模塊,用於通過通知欄發送該上線消息至客戶端。

本發明所述的系統中,該系統還包括:

推送恢復模塊,用於在客戶端的消息推送進程被系統關閉時,重新向客戶端推送重新啟動的模塊。

本發明產生的有益效果是:本發明通過集成多推送平臺向客戶端推送用戶所關注主播的上線消息,極大的提高了常規方案消息到達率。通過對消息的過濾,避免了消息的重複發送。

進一步地,使用SharedPreferences的鍵值對來存儲數據,巧妙的使用消息唯一標識和鍵值對中的鍵的唯一性,能夠提高識別消息是否處理過的效率。

進一步地,通過EventBus來進行消息轉發,屏蔽了常規廣播消息的很多弊端,優勢明顯。極端情況下無法進行推送時,使用簡訊對該方案進行補充,確保消息一定能夠到達用戶。

附圖說明

下面將結合附圖及實施例對本發明作進一步說明,附圖中:

圖1是本發明實施例注主播上線提醒方法的流程圖;

圖2是本發明另一實施例注主播上線提醒方法的流程圖;

圖3是本發明實施例廣播監聽的流程圖;

圖4是本發明實施例注主播上線提醒系統的結構示意圖;

圖5是本發明另一實施例注主播上線提醒系統的結構示意圖。

圖6是本發明第三實施例注主播上線提醒系統的結構示意圖。

具體實施方式

為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,並不用於限定本發明。

先對所涉及的專業名詞進行解釋:

SharedPreferences:是Android平臺上一個輕量級的存儲類,用來保存應用的一些常用配置。

SDK:軟體開發工具包(SDK:Software Development Kit)一般是軟體工程師為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體時的開發工具的集合。

EventBus:一種消息傳輸總線。

本發明提出了一套提高消息推送成功率的方案,通常較常規做法是集成一個推送平臺,但是無法保證該推送平臺不會被系統殺死。本發明中集成多個推送平臺,將多個推送平臺全部集成到應用中,然後對推送消息進行過濾處理,任何時候只要有一個推送平臺是存活狀態,就能夠接受到推送消息。這樣就能夠很大程度上的提升消息的到達率,從而能夠及時的將主播上線的消息推送給用戶。

在某些極端情況下如果發現所有的推送平臺都被系統殺死掉了,推送都是失敗的時候,會通過簡訊形式來告知用戶主播上線的消息。

通過本發明的技術實施,基本可以確保消息能夠100%被用戶接收到,這樣就能夠保證用戶不會錯過所關注主播的上線消息。

如圖1所示,本發明的一個實施例關注主播上線提醒方法主要包括以下步驟:

S101、通過集成多個消息推送平臺向客戶端推送用戶所關注主播的上線消息,該上線消息為具有唯一標識的上線消息;

S102、判斷該上線消息是否已經存在於伺服器的指定存儲空間,若是,則轉入執行步驟S104;若否,則轉入執行步驟S103;

S103、捨棄該上線消息;

S104、將該上線消息發送到消息通知模塊,並將該上線消息存儲到所述指定存儲空間;

S105、消息通知模塊通過通知欄發送該上線消息至客戶端。

其中,步驟S101中,對於多個消息推送平臺的集成,不同平臺集成方式大同小異,本發明實施例列舉其中一種舉例說明(個推推送),其他集成方式與此類似方式進行集成。本發明通過集成多個推送平臺的SDK來提高消息推送的成功率,通過多個SDK同時對消息進行推送,任何時候只要系統中任何一個推送SDK是存活狀態,就能夠接收到伺服器推送過來的主播上線的消息。

本發明由於集成了多個推送SDK,每個SDK都有自己特有的一套保活方式,當其中一個推送SDK失效後,只要有任何一個推送SDK是存活狀態,依舊能夠很好的接受到伺服器傳遞過來的主播上線的消息信息。

由於集成方法是一個公開通用的技術,本發明實施例中對此僅作簡要概括:

1)在開發者平臺創建應用說明

2)資源文件導入和配置文件引入

3)配置相關權限信息

4)導入通知欄圖標

5)初始化SDK

6)資源精簡配置

7)確認Gradle配置

8)測試

整個集成過程大體分為上述的8個步驟,每個步驟都完成其中的相應過程,具體每一步驟的細節針對每個平臺可能會有一定的差異性,這些集成過程都是公開的方法。按照對應的平臺的集成文檔對此進行集成處理即可。

步驟S102-104是對信息的過濾。為了提高推送的成功率,本發明實施例中每次消息都是通過多個平臺進行統一發送的。這樣就會造成一個問題,那就是每次都可能接收到很多條重複的消息。因此需要對多條重複的消息進行過濾處理。

過濾消息方法具體為:

為了能夠將消息進行過濾處理,本發明實施例中設計消息的時候給消息加入了一個tag標籤,這個tag標籤用於唯一表示一條消息。

消息的結構體形式如下:

Tag:表示消息的標籤,用於唯一表示一條消息,不同消息的tag是不同的,相同消息的tag是相同的。

Message:表示消息內容

由於同時集成了多個推送模塊,並且消息是推送模塊進行同時發送的。也就是說我們可能在同一時間內同時收到很多條相同的消息。

為了能夠用於區分消息是否被發送過,可將已經處理過的消息會被保存到SharedPreferences存儲的鍵值對中。此處對於鍵值對的設計有一定的巧妙性,優於消息的Tag是唯一的,在鍵值對的存儲中鍵也需要是唯一的。這樣就剛好可以將已經處理過的消息通過SharedPreferences來進行存儲,其中SharedPreferences存儲的鍵是消息的Tag,值是消息Message的內容。

當消息過來的時候,首先會去SharedPreferences中存儲的鍵值對中去查詢Tag所對應的消息。

如果通過鍵值對獲取到了Tag所對應的消息,說明該消息已經被處理過。此時可以捨棄掉該條消息,不對該條消息進行處理。

如果通過鍵值對獲取Tag所對應的消息為空,說明該消息沒有被處理過。此時我們就可以將該消息發送到UI層進行通知的彈出等處理。

本發明實施例使用SharedPreferences的鍵值對來存儲數據,巧妙的使用消息tag和鍵值對中的鍵的唯一性,能夠提高識別消息是否處理過的效率。

步驟S105是消息的發送,主要是將消息轉發到UI層(User Interface)來進行處理,常規的消息轉發的方式通常是廣播形式來進行轉發。本發明則優選通過EventBus來進行轉發。

傳統廣播轉發消息存在的問題:

1、廣播消息的轉發,消息無法保證及時到達,會存在一定的延時性。由於系統所有的廣播都是通過一個消息處理模塊進行處理的,如果系統中廣播消息過多的時候,就會出現消息阻塞,導致消息到達速度慢的問題。

2、廣播下次的轉發使用起來複雜,廣播轉發一定存在三個部分,其一是發送消息,其二是註冊消息,其三是接受消息。這三個部分全部進行整合後才能夠正確的接受到廣播發送過來的消息。使用起來步驟較多且複雜。

選擇EventBus的優勢:

1、EventBus傳遞消息方便快捷,使用起來非常簡潔。

2、EventBus僅僅處理自己發送模塊發送的消息,所有EventBus消息處理的數量上來說是小於廣播消息的處理數量的,所以速度上會比廣播快。

3、Event不需要註冊,消息的接收和發送的綁定關係是通過消息體來進行直接綁定的,也就是說發送模塊只需要關注發送任務,接收模塊只需要關注接收和處理任務,使得整個代碼可維護性會更高。

使用EventBus來發送消息是通過sendEvent函數來進行消息的發送的。接收函數是onEventHandler來接收處理髮送過來的消息體。

當接收到主播上線的消息後,就可以通過通知欄發送一條主播上線的消息給用戶,提示用戶主播上線的消息。

本發明實施例通過EventBus來進行消息轉發,屏蔽了常規廣播消息的很多弊端,優勢明顯。

如圖2所示,本發明實施例還包括推送恢復步驟,具體為:

S106、判斷客戶端的消息推送進程是否被系統關閉;若是,則執行步驟S107;

S107、重新向客戶端推送重新啟動的模塊。即激發客戶端的消息推送進程重新開啟。

推送恢復的主要功能是當系統將推送模塊殺死的時候,找機會將推送SDK重新啟動。

由於推送一定會使用到網絡,所以上述推送恢復步驟主要功能是通過監聽系統網絡變化,如果方向系統網絡連結上的時候會主動再次啟動推送SDK,這樣就能夠大大的提升推送SDK長期存活的概率。

如圖3所示,在步驟S107之前還包括步驟:

S301、在Android系統中註冊靜態廣播,接收網絡變化的回調消息;

S302、根據接收的網絡變化的回調消息判定網絡狀態,若網絡斷開連接了,則不做任何處理;若網絡連接正常,則執行步驟S303;

S303、重新向客戶端推送重新啟動消息推送模塊;

接下來詳細描述上述的執行流程:

步驟S301主要為廣播的監聽:

在Android系統中廣播分為靜態廣播和動態廣播兩種類型,

靜態廣播:可以在應用程式未啟動的時候接受和處理廣播任務。

動態廣播:必須得要應用程式啟動的時候才能夠接收,應用程式退出了就不能接收了。

由於本發明目的期望最大程度上的激活推送SDK,所以本發明實施例選用靜態廣播來進行註冊。

步驟S302主要判斷網絡連接狀態:

註冊網絡變化的廣播後,就能夠接收到網絡變化的回調消息。系統將所有網絡信息封裝到NetworkInfo類中,NetworkInfo類包含了當前網絡的相關信息。接收到網絡變化的回調消息後,可以去判定網絡狀態。

判斷網絡狀態的方法是調用NetworkInfo中的isConnected方法來判定當前網絡是否連接狀態。如果isConnected返回的是真,說明網絡連結上了,此時我們需要重啟推送SDK框架。如果isConnected返回的是假,說明此時網絡斷開連接了,此時可不做任何處理。

步驟S303主要為重啟推送SDK:

如果檢測到網絡連接上我們需要重啟推送SDK,推送SDK模塊如果啟動狀態下,我們再次調用啟動函數startPush不會再次重啟而是繼續運行。如果推送SDK模塊處於停止狀態下,調用startPush,此時會啟動該推送SDK模塊。

通過推送恢復的設計,能夠將被系統殺死的推送進程進行再次激活,這種激活方式可以確保推送SDK能夠再次被使用,大大提高了消息傳遞的成功率。

極端情況下無法發送消息時的處理方案:如果在某些極端情況下導致上述推送SDK全軍覆沒時,客戶端推送SDK停止運行的時候,伺服器端發送推送請求,由於沒有接收到SDK相關的反饋信息,伺服器端會有推送超時信息接收。此時伺服器就知道整個過程是失敗的。如果失敗了,此時會通過伺服器來向用戶發送簡訊消息的方式進行通知,確保主播上線消息能夠100%到達用戶。

此部分僅僅作為本發明的輔助處理方案,確保能夠在極端情況下導致無法接收到消息的時候,還可以通過簡訊通知的方式來告知用戶主播上線的消息。

為實現上述實施例的關注主播上線提醒方法,本發明還提供了關注主播上線提醒系統,如圖4所示,包括:

平臺集成模塊41,用於集成多個消息推送平臺向客戶端推送用戶所關注主播的上線消息,該上線消息為具有唯一標識的上線消息;

消息過濾模塊42,用於判斷該上線消息是否已經存在於伺服器的指定存儲空間,若是,則捨棄該上線消息;若否,則將該上線消息發送到消息通知模塊,並將該上線消息存儲到所述指定存儲空間;

消息通知模塊43,用於通過通知欄發送該上線消息至客戶端。

如圖5所示,在上述實施例的基礎上,該系統還包括:

推送恢復模塊44,用於在客戶端的消息推送進程被系統關閉時,重新向客戶端推送重新啟動的模塊。

如圖6所示,在上述實施例的基礎上,該系統還包括短消息發送模塊45,用於在上線消息推送失敗時,通過伺服器以向用戶發送簡訊消息的方式通知客戶。

綜上,本發明將多推送方案同時集成,極大的提高了常規方案消息到達率;進一步地,使用SharedPreferences的鍵值對來存儲數據,巧妙的使用消息tag和鍵值對中的鍵的唯一性,能夠提高識別消息是否處理過的效率。進一步地,通過EventBus來進行消息轉發,屏蔽了常規廣播消息的很多弊端,優勢明顯;且在極端情況下無法進行推送時,使用簡訊對整個方案進行補充,確保消息一定能夠到達用戶。

應當理解的是,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,而所有這些改進和變換都應屬於本發明所附權利要求的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀