本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法及裝置。
背景技術(shù):
即時(shí)通信界面開發(fā)工具包(IM UI SDK)可以被嵌入在普通APP中,從而使普通APP具備即時(shí)通信功能。IM SDK的聊天用戶界面UI中,會(huì)顯示用戶的頭像、名字、ID、等級(jí)、職位、地理位置等信息。這些信息一般可以從IM SDK服務(wù)器獲取。
這樣就會(huì)造成一個(gè)問題,由于IM SDK是一個(gè)通用的SDK,每一個(gè)APP接入集成該IM SDK后,都需要IM服務(wù)器和相應(yīng)的APP服務(wù)器聯(lián)調(diào)一次用戶信息接口,SDK通用性較差。而且當(dāng)IM SDK服務(wù)的業(yè)務(wù)線多、用戶信息多時(shí),聯(lián)調(diào)用戶信息接口工作量很大,效率低且容易出錯(cuò)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法及裝置,用以解決現(xiàn)有技術(shù)中基于即時(shí)通信開發(fā)包的即時(shí)通信中信息交互效率低下,開發(fā)包通用性差的問題。
一方面,本發(fā)明提供一種即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法,包括:當(dāng)需要在即時(shí)通信界面顯示用戶信息時(shí),通過異步代理操作獲取所述用戶信息;將所述異步代理操作獲取的所述用戶信息顯示在所述即時(shí)通信界面的相應(yīng)位置。
可選的,所述通過異步代理操作獲取所述用戶信息包括:通過異步代理操作查詢本地是否緩存了所述用戶信息;在本地未緩存所述用戶信息的情況下,通過異步代理操作向與所述即時(shí)通信開發(fā)包相對應(yīng)的基礎(chǔ)應(yīng)用軟件索要所述用戶信息。
可選的,所述通過異步代理操作查詢本地是否緩存了所述用戶信息包括:將用戶身份標(biāo)識(shí)傳遞給異步代理處理函數(shù),以使所述異步代理處理函數(shù)根據(jù)用戶身份標(biāo)識(shí)查詢本地是否緩存了與相應(yīng)的用戶信息。
可選的,所述通過異步代理操作向與所述即時(shí)通信開發(fā)包相對應(yīng)的基礎(chǔ)應(yīng)用軟件索要所述用戶信息包括:所述異步代理處理函數(shù)將所述用戶身份標(biāo)識(shí)傳遞給所述基礎(chǔ)應(yīng)用軟件,以使所述基礎(chǔ)應(yīng)用軟件根據(jù)所述用戶身份標(biāo)識(shí)向所述基礎(chǔ)應(yīng)用軟件對應(yīng)的服務(wù)器索要所述用戶信息。
可選的,所述通過異步代理操作獲取所述用戶信息還包括:在本地緩存了所述用戶信息的情況下,通過異步代理操作從本地獲取所述用戶信息。
另一方面,本發(fā)明還提供一種即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的裝置,包括:獲取單元,用于當(dāng)需要在即時(shí)通信界面顯示用戶信息時(shí),通過異步代理操作獲取所述用戶信息;顯示單元,用于將所述異步代理操作獲取的所述用戶信息顯示在所述即時(shí)通信界面的相應(yīng)位置。
可選的,所述獲取單元,包括:查詢模塊,通過異步代理操作查詢本地是否緩存了所述用戶信息;索要模塊,在本地未緩存所述用戶信息的情況下,通過異步代理操作向與所述即時(shí)通信開發(fā)包相對應(yīng)的基礎(chǔ)應(yīng)用軟件索要所述用戶信息。
可選的,所述查詢模塊,具體用于:將用戶身份標(biāo)識(shí)傳遞給異步代理處理函數(shù),以使所述異步代理處理函數(shù)根據(jù)用戶身份標(biāo)識(shí)查詢本地是否緩存了與相應(yīng)的用戶信息。
可選的,所述索要模塊,具體用于:所述異步代理處理函數(shù)將所述用戶身份標(biāo)識(shí)傳遞給所述基礎(chǔ)應(yīng)用軟件,以使所述基礎(chǔ)應(yīng)用軟件根據(jù)所述用戶身份標(biāo)識(shí)向所述基礎(chǔ)應(yīng)用軟件對應(yīng)的服務(wù)器索要所述用戶信息。
可選的,所述獲取單元還包括:獲取模塊,用于在本地緩存了所述用戶信息的情況下,通過異步代理操作從本地獲取所述用戶信息。
本發(fā)明實(shí)施例提供的即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法及裝置,當(dāng)需要在即時(shí)通信界面顯示用戶信息時(shí),能夠通過異步代理操作獲取所述用戶信息并將獲取的用戶信息顯示在即時(shí)通信界面的相應(yīng)位置,這樣,當(dāng)IM SDK的使用者需要將開發(fā)包與基礎(chǔ)應(yīng)用軟件綁定在一起以便使該基礎(chǔ)軟件也具備即時(shí)通信功能時(shí),就可以通過實(shí)現(xiàn)該代理協(xié)議來獲取和顯示相應(yīng)的用戶信息,而無需對即時(shí)通信開發(fā)包的服務(wù)器進(jìn)行相應(yīng)的開發(fā)、協(xié)調(diào)以便從每一種基礎(chǔ)應(yīng)用軟件服務(wù)器獲取相應(yīng)的用戶信息,從而在即時(shí)通信開發(fā)包與基礎(chǔ)應(yīng)用軟件之間實(shí)現(xiàn)分離解耦,大大提高了即時(shí)通信開發(fā)包的通用性和信息交互效率。
附圖說明
圖1是本發(fā)明實(shí)施例提供的即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法的一種流程圖;
圖2是本發(fā)明實(shí)施例中即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法的一種詳細(xì)流程圖;
圖3是本發(fā)明實(shí)施例提供的即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的裝置的一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
如圖1所示,本發(fā)明的實(shí)施例提供一種即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法,包括:
S11,當(dāng)需要在即時(shí)通信界面顯示用戶信息時(shí),通過異步代理操作獲取所述用戶信息;
S12,將所述異步代理操作獲取的所述用戶信息顯示在所述即時(shí)通信界面的相應(yīng)位置。
本發(fā)明實(shí)施例提供的即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法,當(dāng)需要在即時(shí)通信界面顯示用戶信息時(shí),能夠通過異步代理操作獲取所述用戶信息并將獲取的用戶信息顯示在即時(shí)通信界面的相應(yīng)位置,這樣,當(dāng)IM SDK的使用者需要將開發(fā)包與基礎(chǔ)應(yīng)用軟件綁定在一起以便使該基礎(chǔ)軟件也具備即時(shí)通信功能時(shí),就可以通過實(shí)現(xiàn)該代理協(xié)議來獲取和顯示相應(yīng)的用戶信息,而無需對即時(shí)通信開發(fā)包的服務(wù)器進(jìn)行相應(yīng)的開發(fā)、協(xié)調(diào)以便從每一種基礎(chǔ)應(yīng)用軟件服務(wù)器獲取相應(yīng)的用戶信息,從而在即時(shí)通信開發(fā)包與基礎(chǔ)應(yīng)用軟件之間實(shí)現(xiàn)分離解耦,大大提高了即時(shí)通信開發(fā)包的通用性和信息交互效率。
具體而言,異步代理操作也就是將獲取用戶信息任務(wù)與即時(shí)通信任務(wù)二者相分離的操作,將即時(shí)通信界面中需要顯示的用戶信息以異步方式獲取到,從而既不影響即時(shí)通信服務(wù)的及時(shí)性,又能夠?qū)⒏鞣N用戶信息全面獲取到,大大提升了用戶體驗(yàn)。例如,當(dāng)想使美團(tuán)APP具有即時(shí)通信功能時(shí),可以將本發(fā)明實(shí)施例提供的即時(shí)通信開發(fā)包與美團(tuán)APP集成在一起。在集成時(shí),即時(shí)通信開發(fā)包中可以留有與美團(tuán)APP的接口,并以該接口為異步代理。當(dāng)即時(shí)通信界面上需要顯示一些用戶信息時(shí),可以以該接口為異步代理,獲取相應(yīng)用戶信息。
可選的,在步驟S11中,通過異步代理操作獲取所述用戶信息可具體包括:
通過異步代理操作查詢本地是否緩存了所述用戶信息;
在本地未緩存所述用戶信息的情況下,通過異步代理操作向與所述即時(shí)通信開發(fā)包相對應(yīng)的基礎(chǔ)應(yīng)用軟件索要所述用戶信息。
舉例說明,在本發(fā)明的一個(gè)實(shí)施例中,假設(shè)某招聘網(wǎng)站的應(yīng)用軟件通過即時(shí)通信開發(fā)包建立即時(shí)通信功能。異步代理操作可以首先查詢本地是否緩存了用戶信息,在本地未緩存所述用戶信息的情況下,通過異步代理操作向該招聘網(wǎng)站的應(yīng)用軟件索要用戶信息。
可選的,在通過異步代理操作進(jìn)行信息查詢時(shí),可以將用戶身份標(biāo)識(shí)傳遞給異步代理處理函數(shù),以使所述異步代理處理函數(shù)根據(jù)用戶身份標(biāo)識(shí)查詢本地是否緩存了與相應(yīng)的用戶信息。其中,用戶身份標(biāo)識(shí)既可以為個(gè)人用戶標(biāo)識(shí)也可以為群用戶標(biāo)識(shí),本發(fā)明的實(shí)施例對此不限。
基于此,在本地未緩存所述用戶信息的情況下,通過異步代理操作向與所述即時(shí)通信開發(fā)包相對應(yīng)的基礎(chǔ)應(yīng)用軟件索要所述用戶信息可具體包括:
在本地未緩存所述用戶信息的情況下,異步代理處理函數(shù)將所述用戶身份標(biāo)識(shí)傳遞給基礎(chǔ)應(yīng)用軟件,以使所述基礎(chǔ)應(yīng)用軟件根據(jù)所述用戶身份標(biāo)識(shí)向所述基礎(chǔ)應(yīng)用軟件對應(yīng)的服務(wù)器索要所述用戶信息。
仍以上述美團(tuán)APP的即時(shí)通信功能開發(fā)為例,在本地未緩存美團(tuán)用戶信息的情況下,異步代理函數(shù)可以將美團(tuán)即時(shí)通信界面上需要顯示的用戶信息對應(yīng)的用戶身份標(biāo)識(shí)傳遞給基礎(chǔ)應(yīng)用軟件美團(tuán)APP,然后由美團(tuán)APP根據(jù)該用戶身份標(biāo)識(shí)向美團(tuán)服務(wù)器索要相應(yīng)信息。
異步代理函數(shù)獲取到用戶信息后,可以回調(diào)給即時(shí)通信開發(fā)包,以使即時(shí)通信軟件開發(fā)包將相關(guān)用戶信息顯示在軟件的即時(shí)通信界面上。
上述實(shí)施例說明了本地沒有緩存用戶信息時(shí),異步代理可以通過內(nèi)部網(wǎng)絡(luò)向基礎(chǔ)應(yīng)用軟件對應(yīng)的服務(wù)器來獲取相應(yīng)的用戶消息,但本發(fā)明不限于此,在本發(fā)明的其他實(shí)施例中,在本地緩存了用戶信息的情況下,可以通過異步代理操作從本地獲取用戶信息。例如,如果打車軟件本身已經(jīng)緩存了一些用戶信息,則當(dāng)需要為即使通信界面獲取用戶信息進(jìn)行顯示時(shí),異步代理操作可以從本地緩存中獲取相應(yīng)的用戶信息,并通過回調(diào)模塊將用戶信息反饋給即時(shí)通信開發(fā)包??蛇x的,調(diào)用模塊在多種操作系統(tǒng)中可以以不同的方式實(shí)現(xiàn),例如,對于iOS系統(tǒng),可以使用block,對于android系統(tǒng)可以使用匿名listener等。獲取了相應(yīng)的用戶信息后,在步驟S12中,即可將異步代理操作獲取的用戶信息顯示在即時(shí)通信界面的相應(yīng)位置。
可選的,異步代理操作可以通過如下方式實(shí)現(xiàn):
對于iOS系統(tǒng):
對于Android系統(tǒng):
下面通過具體實(shí)施例對本發(fā)明提供的即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法進(jìn)行詳細(xì)說明。
如圖2所示,本實(shí)施例中,即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的方法可包括如下步驟:
S201,即時(shí)通信SDK向異步代理操作發(fā)送用戶信息獲取指令;
S202,異步代理操作向基礎(chǔ)應(yīng)用軟件獲取相應(yīng)的用戶信息;
S203,如果基礎(chǔ)應(yīng)用軟件緩存有相關(guān)用戶信息,則直接通過異步代理反饋給即時(shí)通信SDK;
S204,如果基礎(chǔ)應(yīng)用軟件沒有存儲(chǔ)相關(guān)用戶信息,則向?qū)?yīng)的應(yīng)用服務(wù)器獲取相應(yīng)的用戶信息后,逐步反饋給即時(shí)通信SDK。
相應(yīng)的,如圖3所示,本發(fā)明的實(shí)施例還提供一種即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的裝置,包括:
獲取單元31,用于當(dāng)需要在即時(shí)通信界面顯示用戶信息時(shí),通過異步代理操作獲取所述用戶信息;
顯示單元32,用于將所述異步代理操作獲取的所述用戶信息顯示在所述即時(shí)通信界面的相應(yīng)位置。
本發(fā)明實(shí)施例提供的即時(shí)通信開發(fā)包實(shí)現(xiàn)信息交互的裝置,當(dāng)需要在即時(shí)通信界面顯示用戶信息時(shí),能夠通過異步代理操作獲取所述用戶信息并將獲取的用戶信息顯示在即時(shí)通信界面的相應(yīng)位置,這樣,當(dāng)IM SDK的使用者需要將開發(fā)包與基礎(chǔ)應(yīng)用軟件綁定在一起以便使該基礎(chǔ)軟件也具備即時(shí)通信功能時(shí),就可以通過實(shí)現(xiàn)該代理協(xié)議來獲取和顯示相應(yīng)的用戶信息,而無需對即時(shí)通信開發(fā)包的服務(wù)器進(jìn)行相應(yīng)的開發(fā)、協(xié)調(diào)以便從每一種基礎(chǔ)應(yīng)用軟件服務(wù)器獲取相應(yīng)的用戶信息,從而在即時(shí)通信開發(fā)包與基礎(chǔ)應(yīng)用軟件之間實(shí)現(xiàn)分離解耦,大大提高了即時(shí)通信開發(fā)包的通用性和信息交互效率。
可選的,獲取單元31,可包括:
查詢模塊,通過異步代理操作查詢本地是否緩存了所述用戶信息;
索要模塊,在本地未緩存所述用戶信息的情況下,通過異步代理操作向與所述即時(shí)通信開發(fā)包相對應(yīng)的基礎(chǔ)應(yīng)用軟件索要所述用戶信息。
可選的,查詢模塊,具體可用于:將用戶身份標(biāo)識(shí)傳遞給異步代理處理函數(shù),以使所述異步代理處理函數(shù)根據(jù)用戶身份標(biāo)識(shí)查詢本地是否緩存了與相應(yīng)的用戶信息。
可選的,索要模塊,具體可用于:所述異步代理處理函數(shù)將所述用戶身份標(biāo)識(shí)傳遞給所述基礎(chǔ)應(yīng)用軟件,以使所述基礎(chǔ)應(yīng)用軟件根據(jù)所述用戶身份標(biāo)識(shí)向所述基礎(chǔ)應(yīng)用軟件對應(yīng)的服務(wù)器索要所述用戶信息。
進(jìn)一步的,獲取單元31還可包括:獲取模塊,用于在本地緩存了所述用戶信息的情況下,通過異步代理操作從本地獲取所述用戶信息。
盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實(shí)施例,本領(lǐng)域的技術(shù)人員將意識(shí)到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。