本發明專利技術涉及計算機技術領域,公開了一種適用于不同推送SDK的統一接入方法,包括:步驟S1:接收推送消息,并將每條推送消息封裝成一單獨的Msg結構體,所述推送消息包括消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容;步驟S2:對所有的Msg結構體進行過濾,去除相同的Msg結構體;步驟S3:將經過過濾的Msg結構體廣播給應用程序。本發明專利技術還公開了一種適用于不同推送SDK的統一接入系統。本發明專利技術用于對不同推送SDK的推送消息進行統一接入。
【技術實現步驟摘要】
本專利技術涉及計算機
,具體涉及一種適用于不同推送SDK的統一接入方法和一種適用于不同推送SDK的統一接入系統。
技術介紹
隨著科學技術的飛速發展,智能手機設備也隨之高速發展,涌現出諸多的手機廠商。對于消息的推送收發,每個手機廠商均有自己的一套推送SDK(SoftwareDevelopmentKit,軟件開發工具包),即擁有一套自己的集成方案,對于應用程序的開發者來說,當應用程序安裝于不同廠商的手機上時,均需要對應用程序進行相應修改,使得應用程序適配廠商的集成方案,極大地提高了開發者的工作量,且因需要開發者熟悉不同的集成方案,使得開發者在應用程序編寫時極易出錯。
技術實現思路
針對現有技術中存在的缺陷,本專利技術的目的在于提供一種適用于不同推送SDK的統一接入方法和一種適用于不同推送SDK的統一接入系統,用于對不同推送SDK的推送消息進行統一接入。為達到以上目的,本專利技術采取的技術方案是:包括:步驟S1:接收推送消息,并將每條推送消息封裝成一單獨的Msg結構體,所述推送消息包括消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容;步驟S2:對所有的Msg結構體進行過濾,去除相同的Msg結構體;步驟S3:將經過過濾的Msg結構體廣播給應用程序。在上述技術方案的基礎上,內容相同的推送消息的Msg結構體相同,內容不同的推送消息的Msg結構體不同。在上述技術方案的基礎上,所述推送消息的封裝步驟為:步驟S1.1:對推送消息進行解析,獲取推送消息的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容;步驟S1.2:將推送消息的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容封裝到一單獨的Msg結構體中。在上述技術方案的基礎上,對所有Msg結構體的過濾步驟為:步驟S2.1:將所有Msg結構體存入一集合中;步驟S2.2:逐個讀取集合中的Msg結構體,并將讀取出的Msg結構體中的消息唯一標示符與還存在于集合中的Msg結構體的消息唯一標示符進行比對,若比對到相同的消息唯一標示符,則丟棄當前讀取出的Msg結構體,若沒比對到相同的消息唯一標示符,則將當前讀取出的Msg結構體保存。在上述技術方案的基礎上,所述步驟S3中Msg結構體廣播給應用程序的具體過程為:步驟S3.1:獲取Intent對象,并將Msg結構體的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容保存到Intent對象中;步驟S3.2:通過API將Intent對象發送給應用程序。本專利技術還提供一種適用于不同推送SDK的統一接入系統,包括:推送模塊,其用于接收推送消息,并將推送消息封裝成一單獨的Msg結構體;消息過濾模塊,其用于對所有的Msg結構體進行過濾,去除相同的Msg結構體;廣播模塊,其用于將消息過濾模塊過濾后的Msg結構體廣播給應用程序。在上述技術方案的基礎上,所述推送消息包括消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容,所述推送模塊用于將推送消息的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容封裝成一Msg結構體。在上述技術方案的基礎上,對于內容相同的推送消息,推送模塊所封裝成的Msg結構體相同,對于內容不同的推送消息,推送模塊所封裝成的Msg結構體不同。在上述技術方案的基礎上,當應用程序在廣播模塊上注冊后,廣播模塊將推送消息廣播給應用程序。在上述技術方案的基礎上,所述推送模塊包括封裝模塊,所述封裝模塊用于將推送消息封裝成一單獨的Msg結構體。與現有技術相比,本專利技術的一種適用于不同推送SDK的統一接入方法的優點在于:(1)對推送消息進行封裝處理,僅保留應用程序所需要的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容,去掉各個廠商的推送SDK的推送消息的差異點,使得應該程序能夠接受多個廠商的推送SDK的推送消息,避免應用程序的開發者為適配不同推送SDK而進行的編程工作量;(2)對推送消息封裝后的Msg結構體進行過濾處理,保證推送消息的單一性。本專利技術的一種適用于不同推送SDK的統一接入系統的優點在于:推送模塊將推送消息封裝處理成Msg結構體,去除各個廠商的推送SDK所推送消息的差異點,僅保留應用程序所需的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容,相當于一統一數據的處理接口,然后消息過濾模塊對封裝形成的Msg結構體進行過濾處理,保證推送消息的單一性,然后廣播模塊將Msg結構體廣播給應用程序,完成應用程序對推送消息的接收。附圖說明圖1為本專利技術一種適用于不同推送SDK的統一接入方法的流程圖。具體實施方式以下結合附圖對本專利技術作進一步詳細說明。參見圖1所示,本專利技術提供一種適用于不同推送SDK的統一接入方法,用于對不同推送SDK的推送消息進行處理后,將推送消息接入到智能手機設備的應用程序中,從而使得應用程序能夠適配不同廠商的推送SDK的集成方案,該方法包括:步驟S1:接收推送消息,并將每條推送消息封裝成一單獨的Msg結構體,其中,內容相同的推送消息的Msg結構體相同,內容不同的推送消息的Msg結構體不同,即內容相同的推送消息所封裝成的Msg結構體相同,內容不同的推送消息所封裝成的Msg結構體不同。推送消息主要包括消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容,消息額外攜帶內容為當消息需要擴展時所需使用的內容,若消息無需擴展,則消息額外攜帶內容為空。對于不同廠商的推送SDK的推送消息,均包括消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容,區別差異在于不同廠商對推送消息的內容所使用的集成方案、編碼結構等其它結構,因此,對推送消息進行封裝,僅保留應用程序所需要的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容,去掉各個廠商的推送SDK的推送消息的差異點,使得應該程序能夠接受多個廠商的推送SDK的推送消息,避免應用程序的開發者為適配不同推送SDK而進行的編程工作量。推送消息的封裝步驟具體為:步驟S1.1:對推送消息進行解析,獲取推送消息的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容。推送消息的結構體組成為:即id表示消息唯一標示符,cmd表示消息命令字,msg表示具體消息內容,extr表示消息額外攜帶內容,id、cmd、msg和extr都屬于推送消息的data數據,且id、cmd、msg和extr均采用Json(JavaScript對象表示法)格式進行編寫,Json是一種輕量級的數據交換格式,具有易于機器解析和生成的特性。步驟S1.2:將推送消息的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容的具體值封裝到一單獨的Msg結構體中,即將消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容使用Msg結構進行封裝起來。Msg結構的定義如下:其中publicclass和privateString為Msg結構的構造詞,Msg結構為智能手機設備的系統或Windows操作系統中程序所使用一種結構體,即消息是由Msg結構來表示的。步驟S2:對所有Msg結構體進行過濾,去除相同的Msg結構體。為了提高應用程序的消息接受率,保證推送SDK所推送的消息能夠準確的被應用程序接受到,對于同一消息,推送SDK會進行多次推送,即會產生多個相同的推送消息,經本文檔來自技高網...
【技術保護點】
一種適用于不同推送SDK的統一接入方法,用于處理不同推送SDK的推送消息,其特征在于,包括:步驟S1:接收推送消息,并將每條推送消息封裝成一單獨的Msg結構體,所述推送消息包括消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容;步驟S2:對所有的Msg結構體進行過濾,去除相同的Msg結構體;步驟S3:將經過過濾的Msg結構體廣播給應用程序。
【技術特征摘要】
1.一種適用于不同推送SDK的統一接入方法,用于處理不同推送SDK的推送消息,其特征在于,包括:步驟S1:接收推送消息,并將每條推送消息封裝成一單獨的Msg結構體,所述推送消息包括消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容;步驟S2:對所有的Msg結構體進行過濾,去除相同的Msg結構體;步驟S3:將經過過濾的Msg結構體廣播給應用程序。2.如權利要求1所述的一種適用于不同推送SDK的統一接入系統,其特征在于:內容相同的推送消息的Msg結構體相同,內容不同的推送消息的Msg結構體不同。3.如權利要求2所述的一種適用于不同推送SDK的統一接入方法,其特征在于,所述推送消息的封裝步驟為:步驟S1.1:對推送消息進行解析,獲取推送消息的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容;步驟S1.2:將推送消息的消息唯一標示符、消息命令字、具體消息內容和消息額外攜帶內容封裝到一單獨的Msg結構體中。4.如權利要求3所述的一種適用于不同推送SDK的統一接入方法,其特征在于:對所有Msg結構體的過濾步驟為:步驟S2.1:將所有Msg結構體存入一集合中;步驟S2.2:逐個讀取集合中的Msg結構體,并將讀取出的Msg結構體中的消息唯一標示符與還存在于集合中的Msg結構體的消息唯一標示符進行比對,若比對到相同的消息唯一標示符,則丟棄當前讀取出的Msg結構體,若沒比對到相同的消息唯一標示符,則將當前讀取出的Msg結構體保存。5.如權利要求4所述的一種適用于不同推送SDK的統一接入方...
【專利技術屬性】
技術研發人員:張磊,
申請(專利權)人:武漢斗魚網絡科技有限公司,
類型:發明
國別省市:湖北;42
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。