7月24日,第三屆全球互聯(lián)網(wǎng)通信云大會(WICC 2021)在北京成功召開,數(shù)千開發(fā)者共赴通信云技術(shù)盛宴。本次會議中,“開發(fā)者服務(wù)生態(tài)”被作為重要議題引起了全產(chǎn)業(yè)鏈的廣泛關(guān)注。作為大會主辦方,全球互聯(lián)網(wǎng)通信云領(lǐng)導廠商融云不但提出了為什么要服務(wù)好開發(fā)者的觀點,而且還帶來了怎樣構(gòu)建開發(fā)者服務(wù)生態(tài)的解決方案。
例如,在“場景化賦能與創(chuàng)新”技術(shù)分論壇中,融云前端高級架構(gòu)師臧其龍發(fā)表了《基于語聊房場景化 SDK,探索新一代 PaaS 服務(wù)的演進方向》的主題演講,他以融云語聊房Demo為載體,通過解析語聊房場景的業(yè)務(wù)邏輯和技術(shù)關(guān)鍵點,傳遞了真正能讓開發(fā)者“開箱即用”的產(chǎn)品理念,這不僅是開發(fā)者服務(wù)生態(tài)的解決方案之一,還成為技術(shù)分論壇的開發(fā)者關(guān)注亮點。
圖1:融云前端高級架構(gòu)師臧其龍發(fā)表演講
細致入微,剝離出場景背后的核心業(yè)務(wù)邏輯
在技術(shù)分論壇中,臧其龍首先解釋了封裝首款基于場景化Demo的初衷,“由于年初Clubhouse和Tiya兩款語聊房產(chǎn)品的示范效應(yīng),帶動泛娛樂領(lǐng)域?qū)Ω黝愓Z聊房App旺盛的市場需求。融云針對這一熱點需求,選擇以語聊房產(chǎn)品作為探索新一代 PaaS 服務(wù)的切入點。”
當進一步剖析語各類聊房App的功能后,臧其龍發(fā)現(xiàn),雖然它們長相各異,但場景結(jié)構(gòu)大體相似。其業(yè)務(wù)邏輯可定義為:以上麥下麥的形式來管理用戶發(fā)布或者訂閱音頻流邏輯的SDK。所謂上麥,即用戶開啟發(fā)布音頻流的能力,房間其他人可以聽到麥位上人的音頻;下麥則是用戶轉(zhuǎn)變?yōu)槠胀ㄓ脩?,只能聽別人發(fā)布的音頻流,自己不能發(fā)布。
因此,融云出品的語聊房產(chǎn)品遵循這一定義,抽象出語聊房App中的所有功能,形成了較為完整的場景化SDK,并且基于此提供相應(yīng)的Demo,便于開發(fā)者“開箱即用”。這也是融云首次將IM和RTC的雙重能力在底層完全打通封裝成一個SDK接口,提供給開發(fā)者。
隱藏技術(shù)設(shè)計難點,開發(fā)者只需關(guān)注自身業(yè)務(wù)訴求
融云在研發(fā)過程中,通過對語聊房產(chǎn)品的邏輯分析發(fā)現(xiàn),在業(yè)務(wù)場景實現(xiàn)方面,關(guān)鍵的技術(shù)難點來自于三個方面:
圖2:語聊房Demo設(shè)計技術(shù)關(guān)鍵點
第一,如何實現(xiàn)麥位狀態(tài)的云端存儲與通知。 麥位狀態(tài)的變更必然要通知到語聊房房間內(nèi),包括觀眾和主播在內(nèi)的所有人,并且App也需要根據(jù)麥位狀態(tài)的變化,更新UI呈現(xiàn)。
要實現(xiàn)這一功能,必須面對復雜的業(yè)務(wù)流程,比如,如何訂閱流?如何訂閱主播的流?如果麥位上的角色從觀眾切換到主播后,也要面臨如何去發(fā)布流的問題。在融云語聊房場景化的SDK中,這些復雜細節(jié)已經(jīng)全部基于融云聊天室屬性管理(KV)完成,因此,開發(fā)者不必關(guān)心訂閱流的邏輯,不必關(guān)心設(shè)置、刪除、獲取以及設(shè)置回調(diào)等屬性變化和麥位狀態(tài)變化,只需通過一個EnterSeat接口,在收到回調(diào)后,刷新UI,兩步操作即可全部實現(xiàn)。
第二,如何實現(xiàn)邀請上麥和排麥請求。 這主要涉及App中的邀請機制和申請機制,例如在語聊房主播邀請一個或多個觀眾合唱的場景中,面臨主播發(fā)出邀請,受邀觀眾收到邀請,選擇同意、取消或者拒絕的流程。這時,邀請機制能否及時送達、及時接收十分重要,一旦消息丟失、亂序,都會直接影響到用戶體驗。
在融云語聊房SDK中,利用融云IM信令,通過調(diào)用RequestSeat實現(xiàn)請求上麥,管理員會在收到RequestSeatListDidChange回調(diào),拿到申請連麥的人員列表后,選擇Accept、reject,甚至cancel來處理請求。那么相應(yīng)發(fā)起申請的觀眾端,就會收到RequestSeatDidAccept或者reject。也就是說,細節(jié)已被全部隱藏,開發(fā)者只需要通過非常直白的命名,在5分鐘甚至更短的時間內(nèi),就能理解整個流程的實現(xiàn)方式。
第三,如何設(shè)計API。 臧其龍強調(diào)應(yīng)該要設(shè)計出簡捷但不簡單的API接口,既要求設(shè)計簡捷方便開發(fā)者調(diào)用,又必須覆蓋所有功能。為此,融云在設(shè)計時秉持三個原則:
貼近業(yè)務(wù)。不能過度抽象脫離業(yè)務(wù),這一點剛好與一般SDK設(shè)計原理相反;
可擴展。覆蓋所有語聊房的場景,包含狼人殺等特殊場景,所以在特定模型上增加了擴展,比如麥位的extra;
簡潔易用。屏蔽多余邏輯,例如屏蔽用戶手動訂閱流等。
這樣一來,開發(fā)者如果只需要上麥下麥和通話場景,而無需“禮物”、“點贊”等功能,使用融云語聊房場景化SDK,只要兩個回調(diào)就能夠?qū)崿F(xiàn)。如若加上“禮物”、“點贊”以及單群聊場景,只需將voice room mode模塊完整地拖到自己的rss項目里,也只要5分鐘就可以滿足需求。因此,融云語聊房場景化 SDK & Demo,極大節(jié)約了開發(fā)者的研發(fā)成本,包括時間成本和人員成本,是一款真正意義上的“開箱即用”產(chǎn)品。
融云下一階段發(fā)力重點,提供更多場景化Demo
使用融云這款語聊房場景化SDK的另一個好處是它提供了安全審查能力。臧其龍向開發(fā)者承諾:包括融云語聊房SDK、IMLib SDK在內(nèi)的所有用戶,在使用中大可以把工作重心放在產(chǎn)品核心能力研發(fā)上,融云的安全審查能力可對圖、文、音、視全面設(shè)防,為客戶提前排除業(yè)務(wù)風險。實際上,不僅僅是這款產(chǎn)品,融云的IMKit和RTC都提供了同樣的語音鑒黃、視頻鑒黃能力,并且可以針對敏感信息第一時間進行后臺攔截。
對于未來,臧其龍透露,不同場景的覆蓋,是下一階段融云的重要發(fā)力點。為幫助開發(fā)者獲得高質(zhì)量的產(chǎn)品使用體驗,融云認為僅僅提供SDK和API接口都是“不負責任”的做法,因為針對某一特定場景,開發(fā)者往往要在上百個SDK中,尋找適合自己業(yè)務(wù)邏輯的某幾十個或十幾個SDK,這對開發(fā)者來說,絕非易事。
因此,針對直播場景、會議場景、在線教育場景等多個熱門場景,融云將逐步為其提供場景化Demo,進一步簡化開發(fā)者的開發(fā)成本。貼近開發(fā)者,提煉并滿足開發(fā)者的共性需求,做開發(fā)者值得信賴的伙伴,這是融云的初心,不會改變。
結(jié)語
本屆WICC,融云在技術(shù)分論壇提出要基于語聊房場景化 SDK,探索新一代 PaaS 服務(wù)的演進方向:隨著SDK數(shù)量增多,PaaS 通信云廠商要深入理解不同行業(yè)的業(yè)務(wù)層,展開場景化能力的比拼。融云率先推出了語聊房場景化Demo產(chǎn)品,實踐并引領(lǐng)著PaaS 通信云賽道新的增長點。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!