本發(fā)明涉及互聯(lián)網(wǎng)移動端應(yīng)用開發(fā)領(lǐng)域,具體涉及一種優(yōu)化直播移動端用戶關(guān)注操作的方法和一種優(yōu)化直播移動端用戶關(guān)注操作的系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的飛速發(fā)展,手機(jī)等智能移動設(shè)備的功能越發(fā)多樣,越來越多的用戶更加傾向于使用智能移動設(shè)備上的移動客戶端進(jìn)行直播內(nèi)容的觀賞,同時用戶在移動客戶端上對喜歡的主播進(jìn)行發(fā)送禮物、關(guān)注等操作,通過點擊關(guān)注按鈕,對主播進(jìn)行關(guān)注操作,當(dāng)用戶下一次觀看直播時,進(jìn)入關(guān)注列表,即可方便快捷的找到相應(yīng)主播,省去在全部直播列表中查找主播的繁瑣操作。
但是,當(dāng)前的關(guān)注和取消關(guān)注操作普遍還只適用于電腦端的直播觀看場景,針對智能移動設(shè)備采用的無線聯(lián)網(wǎng)方式所存在的網(wǎng)絡(luò)不穩(wěn)定特定,目前還缺乏一種更好地適用于移動客戶端上的關(guān)注和取消關(guān)注操作方案。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種優(yōu)化直播移動端用戶關(guān)注操作的方法和一種優(yōu)化直播移動端用戶關(guān)注操作的系統(tǒng),有效保證用戶進(jìn)行關(guān)注或取消關(guān)注操作時的使用體驗。
為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是,包括:
s1:當(dāng)用戶點擊當(dāng)前直播房間的關(guān)注按鈕或取消關(guān)注按鈕后,判斷用戶智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài),若網(wǎng)絡(luò)為連接可用,轉(zhuǎn)到s3,若網(wǎng)絡(luò)為不可用,轉(zhuǎn)到s2;
s2:提示用戶網(wǎng)絡(luò)連接失敗,并結(jié)束;
s3:判斷用戶是否登錄直播移動客戶端,若未登錄,則彈出登錄框,提示用戶登錄,當(dāng)用戶成功登錄后轉(zhuǎn)到s4,若已登錄,則轉(zhuǎn)到s4;
s4:若用戶點擊的為取消關(guān)注按鈕,則轉(zhuǎn)到s5,若用戶點擊的為關(guān)注按鈕,則判斷用戶的uid值與當(dāng)前直播房間主播的uid值是否相同,若相同,則結(jié)束,若不相同,則轉(zhuǎn)到s5;
s5:用戶對當(dāng)前直播房間關(guān)注/取消關(guān)注成功,同時在用戶的關(guān)注列表中相應(yīng)地增添/刪除當(dāng)前直播房間對應(yīng)的主播,并將關(guān)注列表數(shù)據(jù)同步至服務(wù)器。
在上述技術(shù)方案的基礎(chǔ)上,所述關(guān)注按鈕和取消關(guān)注按鈕為同一按鈕;
當(dāng)用戶關(guān)注當(dāng)前直播間時,所述按鈕顯示為“取消關(guān)注”;
當(dāng)用戶取消關(guān)注當(dāng)前直播間時,所述按鈕顯示為“關(guān)注”。
在上述技術(shù)方案的基礎(chǔ)上,當(dāng)用戶對當(dāng)前直播房間關(guān)注成功時,按鈕上文字顯示由“關(guān)注”變?yōu)椤叭∠P(guān)注”,同時在用戶的關(guān)注列表中增添當(dāng)前直播房間對應(yīng)的主播;
當(dāng)用戶對當(dāng)前直播房間取消關(guān)注成功時,按鈕上文字顯示由“取消關(guān)注”變?yōu)椤瓣P(guān)注”,同時在用戶的關(guān)注列表中刪除當(dāng)前直播房間對應(yīng)的主播。
在上述技術(shù)方案的基礎(chǔ)上,s5中,數(shù)據(jù)同步至服務(wù)器的具體步驟為:
s501:調(diào)用一接口函數(shù),并在接口函數(shù)中寫入用戶的操作狀態(tài),以及當(dāng)前直播房間的房間id,所述操作狀態(tài)為關(guān)注或取消關(guān)注;
s502:接口函數(shù)發(fā)送至服務(wù)器,進(jìn)行數(shù)據(jù)同步,并返回提示信息,告知用戶關(guān)注/取消關(guān)注操作成功。
在上述技術(shù)方案的基礎(chǔ)上,當(dāng)用戶關(guān)注成功,則打開當(dāng)前直播房間對應(yīng)主播的開播提醒;
當(dāng)用戶取消關(guān)注成功,則關(guān)閉當(dāng)前直播房間對應(yīng)主播的開播提醒。
在上述技術(shù)方案的基礎(chǔ)上,所述登錄框包括用戶名輸入框和密碼輸入框;
當(dāng)用戶輸入用戶名和密碼后,服務(wù)器進(jìn)行用戶名和密碼的驗證,若驗證通過,則用戶登錄成功,若驗證失敗,則提示用戶登錄失敗并結(jié)束。
本發(fā)明還提供一種優(yōu)化直播移動端用戶關(guān)注操作的系統(tǒng),包括:
判斷模塊,其用于判斷用戶智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài)和登錄狀態(tài),以及判斷用戶的uid值與當(dāng)前直播房間主播的uid值是否相同;
執(zhí)行模塊,其用于根據(jù)網(wǎng)絡(luò)連接可用且已登錄同時uid值與當(dāng)前直播房間主播的uid值不同的用戶的關(guān)注/取消關(guān)注操作,在用戶的關(guān)注列表中相應(yīng)地增添/刪除當(dāng)前直播房間對應(yīng)的主播,并將關(guān)注列表數(shù)據(jù)同步至服務(wù)器。
在上述技術(shù)方案的基礎(chǔ)上,還包括驗證模塊,所述驗證模塊用于進(jìn)行用戶登錄智能移動設(shè)備上直播移動客戶端時用戶名和密碼的驗證。
在上述技術(shù)方案的基礎(chǔ)上,當(dāng)用戶的關(guān)注列表中增添了當(dāng)前直播房間對應(yīng)的主播,則打開該主播的開播提醒;
當(dāng)用戶的關(guān)注列表中刪除了當(dāng)前直播房間對應(yīng)的主播,則關(guān)閉該主播的開播提醒。
在上述技術(shù)方案的基礎(chǔ)上,當(dāng)智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài)為連接可用、用戶已登錄直播移動客戶端以及用戶的uid值與當(dāng)前直播房間主播的uid值不相同時,同步模塊將用戶的關(guān)注/取消關(guān)注操作狀態(tài)同步至服務(wù)器。
與現(xiàn)有技術(shù)相比,本發(fā)明一種優(yōu)化直播移動端用戶關(guān)注操作的方法的優(yōu)點在于:針對直播移動客戶端采用無線網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸可能存在的網(wǎng)絡(luò)不穩(wěn)定特性,當(dāng)用戶進(jìn)行關(guān)注或取消關(guān)注操作時,進(jìn)行智能移動設(shè)備網(wǎng)絡(luò)連接狀態(tài)的判斷,為后續(xù)的數(shù)據(jù)傳輸操作提供保證;設(shè)置uid值判斷機(jī)制,避免主播自己關(guān)注自己,進(jìn)行無用操作,減少不必要的網(wǎng)絡(luò)請求,有效降低服務(wù)器負(fù)擔(dān);對于成功進(jìn)行了關(guān)注或取消關(guān)注操作的用戶,自動進(jìn)行相應(yīng)地開播提醒設(shè)置操作,提升用戶對于直播移動客戶端的使用體驗。
本發(fā)明一種優(yōu)化直播移動端用戶關(guān)注操作的系統(tǒng)的優(yōu)點在于:通過判斷模塊對于用戶智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài)和用戶是否登錄直播移動客戶端,有效保證用戶進(jìn)行關(guān)注或取消關(guān)注操作數(shù)據(jù)直播移動客戶端和服務(wù)器間同步的成功,同時進(jìn)行用戶的uid值與當(dāng)前直播房間主播的uid值是否相同的判斷,減少不必要的網(wǎng)絡(luò)請求,減少服務(wù)器的額外開銷。
附圖說明
圖1為本發(fā)明一種優(yōu)化直播移動端用戶關(guān)注操作的方法的流程圖。
具體實施方式
以下結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步詳細(xì)說明。
參見圖1所示,本發(fā)明實施例提供一種優(yōu)化直播移動端用戶關(guān)注操作的方法,適用于用戶在智能移動設(shè)備的直播移動客戶端上進(jìn)行關(guān)注/取消關(guān)注操作,本發(fā)明實施例中,智能移動設(shè)備為手機(jī)或平板電腦,本發(fā)明優(yōu)化直播移動端用戶關(guān)注操作的方法具體包括:
s1:當(dāng)用戶點擊當(dāng)前直播房間的關(guān)注按鈕或取消關(guān)注按鈕后,判斷用戶智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài),若網(wǎng)絡(luò)為連接可用,轉(zhuǎn)到s3,若網(wǎng)絡(luò)為不可用,轉(zhuǎn)到s2。直播移動客戶端在播放直播時,會自動向后緩存一段時間的直播內(nèi)容,此緩存機(jī)制會存在直播正在播放,而智能移動設(shè)備卻已斷開網(wǎng)絡(luò)連接的現(xiàn)象,因此,當(dāng)用戶點擊關(guān)注按鈕或取消關(guān)注按鈕后,進(jìn)行智能移動設(shè)備網(wǎng)絡(luò)連接狀態(tài)的判斷,防止用戶出現(xiàn)無效操作,為后續(xù)的數(shù)據(jù)同步提供保障。
同時,對于用戶點擊關(guān)注按鈕或取消關(guān)注按鈕的操作,編寫一函數(shù),將用戶的關(guān)注或取消關(guān)注操作狀態(tài)寫入編寫的函數(shù)中,便于后續(xù)需使用用戶的操作狀態(tài)時的快速調(diào)用,有效提升開發(fā)效率。編寫的函數(shù)具體為:
-(void)followornottheroomalert:(bool)isfollowsender:(uibutton*)btn
其中,參數(shù)isfollow為bool(真、假)類型,當(dāng)isfollow為yes時,表示用戶進(jìn)行的是關(guān)注操作,當(dāng)isfollow為no時,表示用戶進(jìn)行的是取消關(guān)注操作。
智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài)通過函數(shù)語句if([devicehelperconnectedtonetwork]==notreachable)進(jìn)行判斷,其中,connectedtonetwork為一類方法,使用類名devicehelper進(jìn)行調(diào)用,connectedtonetwork的返回值是枚舉類型,例如,當(dāng)返回值為notreachable時,表示網(wǎng)絡(luò)不可用。
s2:提示用戶網(wǎng)絡(luò)連接失敗,并結(jié)束,具體的,使用函數(shù)語句[uiviewshowtoastonwindow:@"網(wǎng)絡(luò)斷開連接,請檢查網(wǎng)絡(luò)設(shè)置"]來告知用戶網(wǎng)絡(luò)連接失敗。
s3:判斷用戶是否登錄直播移動客戶端,即用戶在直播移動客戶端上是否進(jìn)行了登錄,若未登錄,則彈出登錄框,提示用戶登錄,當(dāng)用戶成功登錄后轉(zhuǎn)到s4,若已登錄,則轉(zhuǎn)到s4;
對于未登錄的用戶,則使用函數(shù)語句[selfshowloginwithtype:action_attentioncompletion:nil]彈出登錄框,讓用戶登錄,其中,showloginwithtype函數(shù)是一個對象方法,該函數(shù)中的第一個參數(shù)action_attention是枚舉類型的,action_attention用來代表彈出的登錄框,第二個參數(shù)completion是一個代碼塊,用以表示函數(shù)執(zhí)行完畢后,后續(xù)需要執(zhí)行的額外操作,本發(fā)明實施例中無需執(zhí)行額外操作,登錄框包括用戶名輸入框和密碼輸入框,用戶在用戶名輸入框和密碼輸入框中輸入用戶名和密碼,用戶名和密碼參數(shù)傳入nil中,nil是一個類對象的值。
當(dāng)用戶輸入用戶名和密碼后,服務(wù)器進(jìn)行用戶名和密碼的驗證,若驗證通過,則用戶登錄成功,若驗證失敗,則提示用戶登錄失敗并結(jié)束。
s4:若用戶點擊的為取消關(guān)注按鈕,則轉(zhuǎn)到s5,若用戶點擊的為關(guān)注按鈕,則判斷用戶的uid(useridentifier,用戶標(biāo)識符)值與當(dāng)前直播房間主播的uid值是否相同,若相同,則結(jié)束,若不相同,則轉(zhuǎn)到s5;本步驟調(diào)用上述編寫的函數(shù),根據(jù)isfollow所對應(yīng)的是yes還是no,從而快速而便捷的獲知用戶點擊的為關(guān)注按鈕還是取消關(guān)注按鈕。
用戶在某一網(wǎng)站或移動客戶端上注冊成為會員后,服務(wù)器會自動給用戶分配一個uid值,類似于給用戶進(jìn)行了編號。對于用戶的uid值與當(dāng)前直播房間主播的uid值是否相同的判斷,具體為:調(diào)用函數(shù)語句if([[[dyusermangershareinstant]getuuid]isequaltostring:self.roominfo.owner_uid]),其中[dyusermangershareinstant]是獲取dyusermanger*類型的實例,[dyusermangershareinstant]getuuid]用于獲取用戶的uid值,然后使用isequaltostring函數(shù)獲取當(dāng)前直播房間主播的uid值,兩uid值進(jìn)行是否相同的判斷。通過uid值的判斷,避免主播自己關(guān)注自己,因為在直播的過程中,主播無需進(jìn)行自己房間的查找,減少無用操作,從而避免了不必要的網(wǎng)絡(luò)請求,減少服務(wù)器的額外開銷。
s5:用戶對當(dāng)前直播房間關(guān)注/取消關(guān)注成功,使用函數(shù)語句self.isattentioned=isfollow記住用戶當(dāng)前的關(guān)注或取消關(guān)注的狀態(tài),方便其它空間獲取關(guān)注狀態(tài),同時在用戶的關(guān)注列表中相應(yīng)地增添/刪除當(dāng)前直播房間對應(yīng)的主播,并將關(guān)注列表數(shù)據(jù)同步至服務(wù)器,即將用戶對當(dāng)前直播間的關(guān)注或取消關(guān)注操作同步至服務(wù)器。關(guān)注按鈕和取消關(guān)注按鈕為同一按鈕,且按鈕上文字顯示為“關(guān)注”或“取消關(guān)注”,當(dāng)用戶關(guān)注當(dāng)前直播間時,所述按鈕顯示為“取消關(guān)注”;當(dāng)用戶取消關(guān)注當(dāng)前直播間時,所述按鈕顯示為“關(guān)注”,從而方便用戶更好地掌握自己是否對當(dāng)前房間主播進(jìn)行了關(guān)注。當(dāng)用戶對當(dāng)前直播房間關(guān)注成功時,按鈕上文字顯示由“關(guān)注”變?yōu)椤叭∠P(guān)注”,同時在用戶的關(guān)注列表中增添當(dāng)前直播房間對應(yīng)的主播;當(dāng)用戶對當(dāng)前直播房間取消關(guān)注成功時,按鈕上文字顯示由“取消關(guān)注”變?yōu)椤瓣P(guān)注”,同時在用戶的關(guān)注列表中刪除當(dāng)前直播房間對應(yīng)的主播。按鈕文字顯示的改變通過btn.selected=isfollow;語句進(jìn)行。
數(shù)據(jù)同步至服務(wù)器的具體步驟為:
s501:調(diào)用一接口函數(shù),并發(fā)起網(wǎng)絡(luò)請求,并在接口函數(shù)中寫入用戶的操作狀態(tài),以及當(dāng)前直播房間的房間id(房間號),網(wǎng)絡(luò)請求通過函數(shù)-(void)submintfollowalert:(bool)followsender:(uibutton*)sender發(fā)起,接口函數(shù)為[interfacemanageruserfollowordeltheroom:followroomids:@[self.roomid]completion:^(interrorcode,nsstring*errormessage,iddata),該接口函數(shù)是一個類方法,使用interfacemanager類進(jìn)行調(diào)用,interfacemanager是一個接口調(diào)用的管理類,用戶的操作狀態(tài)寫入?yún)?shù)follow中,@[self.roomid]代表數(shù)組,當(dāng)前直播房間的房間id寫入到@[self.roomid]中。操作狀態(tài)為關(guān)注或取消關(guān)注;
s502:接口函數(shù)發(fā)送至服務(wù)器,進(jìn)行數(shù)據(jù)同步,并返回提示信息,告知用戶關(guān)注/取消關(guān)注操作成功。當(dāng)用戶關(guān)注成功,則打開當(dāng)前直播房間對應(yīng)主播的開播提醒;當(dāng)用戶取消關(guān)注成功,則關(guān)閉當(dāng)前直播房間對應(yīng)主播的開播提醒。
服務(wù)器返回給直播移動客戶端的提示信息為函數(shù)(interrorcode,nsstring*errormessage,iddata),其中errorcode為錯誤碼,errormessage為錯誤的提示信息,data正常請求返回的信息。
若errorcode=0,則表示數(shù)據(jù)同步成功,用戶關(guān)注或取消關(guān)注操作成功。對于用戶取消關(guān)注操作成功,關(guān)閉當(dāng)前直播房間對應(yīng)主播的開播提醒,同時使用函數(shù)語句[umessageremovetag:roomtagresponse:^(idresponseobject,nsintegerremain,nserror*error),該函數(shù)語句為一個類方法,使用類名umessage進(jìn)行調(diào)用,該函數(shù)語句中,參數(shù)roomtag表示需要移除的設(shè)備的標(biāo)識,參數(shù)^(idresponseobject,nsintegerremain,nserror*error)為一代碼塊,用以執(zhí)行該函數(shù)語句的回調(diào)結(jié)果,其中error代表返回的錯誤信息。
若errorcode=1或2,則說明在數(shù)據(jù)直播移動客戶端和服務(wù)器間同步的過程中,用戶離線或未登錄,則使用[selfshowloginwithtype:action_normalcompletion:nil];showloginwithtype對象方法,其中,參數(shù)action_normal代表普通操作,例如:關(guān)閉當(dāng)前直播房間對應(yīng)主播的開播提醒即為普通操作,參數(shù)nil則用于彈出登錄框供用戶再次登錄。對于用戶是否登錄,采用二次校檢,確保數(shù)據(jù)的成功同步。
本發(fā)明實施例中的優(yōu)化直播移動端用戶關(guān)注操作的方法:針對直播移動客戶端采用無線網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸可能存在的網(wǎng)絡(luò)不穩(wěn)定特性,當(dāng)用戶進(jìn)行關(guān)注或取消關(guān)注操作時,進(jìn)行智能移動設(shè)備網(wǎng)絡(luò)連接狀態(tài)的判斷,為后續(xù)的數(shù)據(jù)傳輸操作提供保證;設(shè)置uid值判斷機(jī)制,避免主播自己關(guān)注自己,進(jìn)行無用操作,減少不必要的網(wǎng)絡(luò)請求,有效降低服務(wù)器負(fù)擔(dān);對于成功進(jìn)行了關(guān)注或取消關(guān)注操作的用戶,自動進(jìn)行相應(yīng)地開播提醒設(shè)置操作,提升用戶對于直播移動客戶端的使用體驗。
本發(fā)明實施例還提供一種基于上述優(yōu)化直播移動端用戶關(guān)注操作的方法的優(yōu)化直播移動端用戶關(guān)注操作的系統(tǒng),該系統(tǒng)包括判斷模塊、執(zhí)行模塊和驗證模塊。
判斷模塊用于判斷用戶智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài)和登錄狀態(tài),以及判斷用戶的uid值與當(dāng)前直播房間主播的uid值是否相同;執(zhí)行模塊用于根據(jù)網(wǎng)絡(luò)連接可用且已登錄同時uid值與當(dāng)前直播房間主播的uid值不同的用戶的關(guān)注/取消關(guān)注操作,在用戶的關(guān)注列表中相應(yīng)地增添/刪除當(dāng)前直播房間對應(yīng)的主播,并將關(guān)注列表數(shù)據(jù)同步至服務(wù)器,即當(dāng)智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài)為連接可用、用戶已登錄直播移動客戶端以及用戶的uid值與當(dāng)前直播房間主播的uid值不相同時,同步模塊將用戶的關(guān)注/取消關(guān)注操作狀態(tài)同步至服務(wù)器。驗證模塊用于進(jìn)行用戶登錄智能移動設(shè)備上直播移動客戶端時用戶名和密碼的驗證。
當(dāng)用戶的關(guān)注列表中增添了當(dāng)前直播房間對應(yīng)的主播,則打開該主播的開播提醒;當(dāng)用戶的關(guān)注列表中刪除了當(dāng)前直播房間對應(yīng)的主播,則關(guān)閉該主播的開播提醒。
本發(fā)明實施例中的優(yōu)化直播移動端用戶關(guān)注操作的系統(tǒng):通過判斷模塊對于用戶智能移動設(shè)備的網(wǎng)絡(luò)連接狀態(tài)和用戶是否登錄直播移動客戶端,有效保證用戶進(jìn)行關(guān)注或取消關(guān)注操作數(shù)據(jù)直播移動客戶端和服務(wù)器間同步的成功,同時進(jìn)行用戶的uid值與當(dāng)前直播房間主播的uid值是否相同的判斷,避免主播進(jìn)行無用的自己關(guān)注自己操作,減少不必要的網(wǎng)絡(luò)請求,減少服務(wù)器的額外開銷。
本發(fā)明不局限于上述實施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。