自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開放平臺(tái) - 互動(dòng)玩法演進(jìn)之路

開發(fā) 前端
B站的互動(dòng)玩法目前仍在發(fā)展完善階段,我們經(jīng)歷了從0到1的探索階段,并結(jié)合開放平臺(tái)的體系完成了全鏈路的建設(shè)與搭建。然而,在1到100的發(fā)展過程中,相比市場中的競品,我們?nèi)孕璨粩嘌葸M(jìn)與探索。

1. 背景

隨著直播業(yè)務(wù)和用戶規(guī)模日益壯大,如何豐富直播間內(nèi)容、增強(qiáng)直播間內(nèi)用戶互動(dòng)效果,提升營收數(shù)據(jù)變得更加關(guān)鍵。為此,直播互動(dòng)玩法應(yīng)運(yùn)而生。通過彈幕、禮物、點(diǎn)贊、大航海等方式,用戶可以參與主播的直播內(nèi)容。B站還通過開放平臺(tái),為第三方廠商和開發(fā)者提供了強(qiáng)大的技術(shù)支持,讓直播互動(dòng)玩法更加便捷、穩(wěn)定和高效,為用戶和主播創(chuàng)造了更多的樂趣和價(jià)值。

圖:星體工作室 互動(dòng)玩法案例圖:星體工作室 互動(dòng)玩法案例

2. 平臺(tái)建設(shè)

在著手開發(fā)之前,我們需要確立清晰的業(yè)務(wù)劃分邊界,特別是涉及多方參與的開放平臺(tái)互動(dòng)玩法業(yè)務(wù)。這有助于避免日積月累的問題,確保未來的發(fā)展不受制于歷史債務(wù)。

我們的業(yè)務(wù)劃分主要集中在幾個(gè)核心場景和能力模塊上:

  • 開發(fā)者管理平臺(tái):與開發(fā)者互動(dòng),包括入駐流程、應(yīng)用審核、禮物與面板審核。作為開發(fā)者數(shù)據(jù)的展示出口,為他們提供數(shù)據(jù)回收的支持。
  • 應(yīng)用商店平臺(tái):與主播互動(dòng),包括平臺(tái)與直播姬的應(yīng)用展示與獲取。提供定制化應(yīng)用推薦算法的出口,以提升應(yīng)用的曝光和吸引力。
  • 應(yīng)用交互平臺(tái):與直播間用戶互動(dòng),利用事件平臺(tái)進(jìn)行控制,包括開關(guān)禮物與面板?;?dòng)玩法期間數(shù)據(jù)流轉(zhuǎn)等行為。監(jiān)測與標(biāo)記應(yīng)用的實(shí)時(shí)狀態(tài),確保流暢的用戶體驗(yàn)。
  • 結(jié)算平臺(tái):與營收互動(dòng),包括應(yīng)用期間營收數(shù)據(jù)的統(tǒng)計(jì)、落庫和對(duì)賬。為確保透明度和準(zhǔn)確性,提供完善的結(jié)算支持。

因此我們設(shè)計(jì)的如下的業(yè)務(wù)模塊分層:

圖:平臺(tái)架構(gòu)圖:平臺(tái)架構(gòu)

3. 項(xiàng)目生命周期

圖:互動(dòng)玩法生命周期圖:互動(dòng)玩法生命周期

社區(qū)優(yōu)先的原則確保了我們平臺(tái)的演進(jìn)和提升是以開發(fā)者和用戶的需求為中心的良好策略,明確了業(yè)務(wù)邊界之后,圍繞互玩的整個(gè)生命周期,我們將重心放在四個(gè)核心提升目標(biāo)上:

  • 開發(fā)者入駐效率與權(quán)益保障:通過簡化入駐流程,提供清晰的文檔和支持,確保開發(fā)者能夠快速且順利地接入平臺(tái)。提供快速且準(zhǔn)確的審核機(jī)制,加速應(yīng)用上線,促進(jìn)生態(tài)系統(tǒng)的快速發(fā)展。提供明確的營收手段與完善的對(duì)賬系統(tǒng),保證開發(fā)者收益。
  • 主播使用體驗(yàn):提供直觀且易用的工具和功能,以增強(qiáng)主播的覆蓋率和互動(dòng)性,提升直播質(zhì)量。
  • 直播間用戶體驗(yàn):優(yōu)化直播間界面,降低用戶參與門檻。提供有趣、多樣化的互動(dòng)玩法,激發(fā)用戶的參與熱情,提高用戶粘性。
  • 平臺(tái)管控能力:強(qiáng)化對(duì)內(nèi)容的管理和監(jiān)督,確保內(nèi)容的合法性與安全性。提供豐富的工具,快速響應(yīng)違規(guī)行為,維護(hù)平臺(tái)生態(tài)安全與健康。

3.1 入駐與開發(fā)

在整個(gè)互玩生命周期過程中,開發(fā)者接入平臺(tái)與開發(fā)作為起點(diǎn),門檻會(huì)直接影響開發(fā)者數(shù)量與互玩的供給速度,有一些問題是我們需要思考并解決的:

  • 開發(fā)者如何快速搭建模型?
  • 開發(fā)者如何低成本進(jìn)行數(shù)據(jù)交互調(diào)試?
  • 個(gè)人開發(fā)者在缺少專業(yè)的禮物UI設(shè)計(jì)師的情況下如何進(jìn)行禮物設(shè)計(jì)?

3.1.1 SDK&Demo

我們明白對(duì)事物的認(rèn)識(shí)往往從“是什么”開始,然后才能理解“為什么是這樣”。作為首次接入開放平臺(tái)的開發(fā)者,理解眾多API和調(diào)用文檔并梳理出清晰的交互流程確實(shí)需要時(shí)間。同時(shí)由于開發(fā)者的歷史開發(fā)背景各異,對(duì)官方接入文檔的理解也會(huì)有所不同。

為了降低開發(fā)者的開發(fā)成本并減輕研發(fā)的解答壓力,我們在完善官方技術(shù)文檔的同時(shí),提供了不同語言的示例,以幫助開發(fā)者建立概念模型:

  • Unity&C#客戶端SDK
  • Python&Golang Demo

圖:互動(dòng)玩法接入SDK&Demo圖:互動(dòng)玩法接入SDK&Demo

3.1.2 啟動(dòng)調(diào)試能力

測試階段是完整的應(yīng)用開發(fā)流程中不可或缺的一個(gè)重要環(huán)節(jié),未經(jīng)充分測試的應(yīng)用可能存在潛在的不可預(yù)估的風(fēng)險(xiǎn),為了輔助開發(fā)者在應(yīng)用上架之前能夠進(jìn)行充分且完善的測試,我們解決了以下兩點(diǎn)問題:

Q:開發(fā)者在應(yīng)用開發(fā)完成之后如何在真實(shí)環(huán)境下測試應(yīng)用功能?

A:在應(yīng)用通過審核之前,開發(fā)者可以選擇將其直播間設(shè)置為白名單直播間,這就意味著開發(fā)者可以在真實(shí)的線上環(huán)境中對(duì)其開發(fā)的應(yīng)用進(jìn)行完整的測試與功能回歸。

Q:送禮、發(fā)送醒目留言以及大航海是互動(dòng)玩法交互的重要組成部分,在線上環(huán)境應(yīng)該如何進(jìn)行這幾種交互操作的調(diào)試?

A:這幾種直播間用戶參與的高成本行為,讓開發(fā)者在線上環(huán)境使用正常流程進(jìn)行大量的測試顯然是不合理的。為了解決這個(gè)問題,我們提供了開發(fā)者調(diào)試工具。通過這個(gè)此工具,開發(fā)者可以通過后臺(tái)操作主動(dòng)觸發(fā)由開放平臺(tái)發(fā)出的長連接消息內(nèi)容(包括彈幕、送禮、大航海和醒目留言),從操作到出口消息的過程則由平臺(tái)側(cè)保證數(shù)據(jù)的正確性。

圖:開發(fā)者調(diào)試工具圖:開發(fā)者調(diào)試工具

3.1.3 官方素材庫

在互動(dòng)玩法系統(tǒng)初期,開發(fā)者需要手動(dòng)設(shè)計(jì)并上傳禮物素材,不僅增加了開發(fā)者的研發(fā)成本,也加大了運(yùn)營審核的難度和成本,從而導(dǎo)致素材管理混亂。為了解決這一問題,我們?yōu)殚_發(fā)者提供了一個(gè)更便捷的解決方案:官方素材庫。

現(xiàn)在,開發(fā)者只需從官方素材庫中選擇適合的內(nèi)容,提交創(chuàng)建禮物即可。這一方案在業(yè)務(wù)規(guī)范性方面有很大的提升,同時(shí)降低了設(shè)計(jì)成本和審核成本。為整個(gè)互動(dòng)玩法系統(tǒng)創(chuàng)造了更為有序和統(tǒng)一的環(huán)境,促進(jìn)了生態(tài)的可持續(xù)發(fā)展。

同時(shí)為了確保官方素材庫中的禮物符合用戶需求,我們會(huì)定期進(jìn)行用戶調(diào)研。并且也會(huì)定期更新官方素材庫,添加新的禮物元素和主題,以滿足用戶不斷變化的需求和興趣。

圖:官方禮物素材庫圖:官方禮物素材庫

3.2 提交與審核

3.2.1 包管理工具

當(dāng)進(jìn)行互動(dòng)玩法項(xiàng)目的提審并需要上傳包體時(shí),如何有效地避免被當(dāng)作一個(gè)網(wǎng)盤服務(wù)?這個(gè)時(shí)候我們可以反向利用單點(diǎn)故障理論進(jìn)行思考。

單點(diǎn)故障理論:系統(tǒng)中存在一個(gè)或一些關(guān)鍵的組件、環(huán)節(jié)或節(jié)點(diǎn),如果其中的任何一個(gè)被破壞、故障或失效,可能導(dǎo)致整個(gè)系統(tǒng)的崩潰或失效。

我們可以通過分析利用平臺(tái)作為網(wǎng)盤的使用路徑來找到其專屬單點(diǎn)故障:

  1. 獲取上傳鏈接
  2. 上傳文件
  3. 進(jìn)行持久化存儲(chǔ)
  4. 下載文件

在不影響正常業(yè)務(wù)邏輯的情況下,我們針對(duì)第3步進(jìn)行處理,持久化存儲(chǔ)追加前提條件,提升存儲(chǔ)門檻,以業(yè)務(wù)的視角控制有效文件的判定,定時(shí)掃描刪除無效包體。

同時(shí)這個(gè)問題普遍出現(xiàn)在開放平臺(tái)的各個(gè)業(yè)務(wù)場景,因此我們搭建了一個(gè)包管理系統(tǒng),統(tǒng)一收口這一業(yè)務(wù)場景。

圖:包生命周期管理圖:包生命周期管理

3.2.2 運(yùn)營審核工具

我們可以通過分析利用平臺(tái)作為網(wǎng)盤的使用路徑方面進(jìn)行審核:

  • 互動(dòng)玩法內(nèi)容是否合規(guī),是否存在敏感內(nèi)容?
  • 互動(dòng)玩法調(diào)用模式是否符合開放平臺(tái)規(guī)范?

作為運(yùn)營,只能夠在審核的使用過程中,對(duì)于互動(dòng)玩法內(nèi)容作出合規(guī)性校驗(yàn),因此我們?yōu)檫\(yùn)營提供基礎(chǔ)的合規(guī)性校驗(yàn)工具對(duì)于包體進(jìn)行校驗(yàn),為運(yùn)營提供審核依據(jù)。

該工具需同時(shí)滿足兩個(gè)條件:

  • 監(jiān)聽服務(wù)對(duì)于開放平臺(tái)的請求
  • 統(tǒng)計(jì)接口的調(diào)用頻率

在技術(shù)調(diào)研初期,想通過抓包工具對(duì)數(shù)據(jù)進(jìn)行分析,監(jiān)聽https請求的443端口流量,并且從流量中過濾出來host為"live-open.biliapi.com"的相關(guān)請求,即對(duì)開放平臺(tái)相關(guān)請求。

圖:監(jiān)聽端口流量圖:監(jiān)聽端口流量

經(jīng)過測試,由于通過抓包工具是在七層協(xié)議中傳輸層截取的數(shù)據(jù),基于https協(xié)議的請求數(shù)據(jù)都被加密,無法獲取具體的請求內(nèi)容,不滿足條件2,因此該方案被否決。

圖:抓包結(jié)果圖:抓包結(jié)果

為了獲取接口調(diào)用的詳細(xì)情況,有兩個(gè)數(shù)據(jù)來源,調(diào)用方和被調(diào)用方。在無法強(qiáng)制在調(diào)用方代碼中插入統(tǒng)計(jì)邏輯的情況下,目光便聚焦在被調(diào)用方,但線上服務(wù)器用作測試統(tǒng)計(jì),顯然是不合理的。

線上真實(shí)環(huán)境不能用,便考慮使用仿真沙盒環(huán)境, 此時(shí)代理轉(zhuǎn)發(fā)的方案呼之欲出,大概思路如下:

  1. 用戶更改本地host配置,把開放平臺(tái)的域名指向localhost
  2. 本地啟動(dòng)一個(gè)代理服務(wù),監(jiān)聽443端口
  3. 本地代理負(fù)責(zé)轉(zhuǎn)發(fā)"live-open.biliapi.com"的相關(guān)請求與記錄接口調(diào)用結(jié)果
  4. 本地服務(wù)關(guān)閉時(shí)輸出調(diào)用結(jié)果。

圖:沙盒代理流程圖:沙盒代理流程

圖:檢測結(jié)果圖:檢測結(jié)果

3.3 使用與結(jié)算

3.3.1 身份碼體系

互動(dòng)玩法的使用與直播房間強(qiáng)綁定,因此在互動(dòng)玩法開啟時(shí),玩法客戶端需要一個(gè)途徑與當(dāng)前直播間進(jìn)行關(guān)聯(lián)操作,基于此問題,我們考慮過以下兩種途徑:

提供方式

優(yōu)勢

劣勢

開啟互動(dòng)玩法后主播輸入房間號(hào)

使用門檻低,可在OBS使用

安全性低,主播可以在他人直播間開啟互動(dòng)玩法

讀取主播的登陸態(tài)傳遞房間號(hào)

安全性中,主播之間不可互相開啟

使用門檻高,只能在直播姬使用

開發(fā)者可以開啟任意房間的互動(dòng)玩法


在以上兩種途徑的劣勢都不可接受的情況下,我們需要一種新的房間號(hào)標(biāo)識(shí)的傳輸方式,并且同時(shí)要滿足以下幾個(gè)要求:

  • 不依賴直播姬的登陸態(tài),主播在使用其他直播工具時(shí)依然可以開啟互動(dòng)玩法
  • 主播之間不可知,主播不可以通過一個(gè)公開標(biāo)識(shí)啟動(dòng)其他主播的應(yīng)用
  • 開發(fā)者不可知,玩法開發(fā)者無法獲取任意主播的應(yīng)用

因此我們推出了一套獨(dú)立標(biāo)識(shí)(即身份碼系統(tǒng)),主播可以生成唯一標(biāo)識(shí)與房間號(hào)綁定,并且在公域?qū)λ瞬豢梢姡_保主播之間以及主播與開發(fā)者之間的信息是隔離的,與開放平臺(tái)的交互通過身份碼進(jìn)行,由開放平臺(tái)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,并且同時(shí)為了避免身份碼泄漏造成安全問題,提供定時(shí)刷新以及手動(dòng)強(qiáng)制刷新能力,保證數(shù)據(jù)的合規(guī)安全。

3.3.2 互動(dòng)結(jié)算

與開發(fā)者分成由互動(dòng)玩法產(chǎn)生的營收流水是構(gòu)建良好合作模式的關(guān)鍵。然而,如果僅以互動(dòng)啟動(dòng)時(shí)間作為計(jì)算依據(jù),可能會(huì)導(dǎo)致不合理的結(jié)果,因?yàn)樵趩?dòng)期間產(chǎn)生的艦長、醒目留言等營收行為都會(huì)被計(jì)算在內(nèi)。

為了解決這個(gè)問題,我們提出了一個(gè)與互動(dòng)玩法緊密相關(guān)的流水計(jì)算依據(jù):互動(dòng)禮物。每一個(gè)互動(dòng)玩法都有自己特定的禮物,我們只統(tǒng)計(jì)由互動(dòng)禮物產(chǎn)生的營收。這樣可以準(zhǔn)確反映互動(dòng)玩法的實(shí)際貢獻(xiàn),避免了其他不相關(guān)因素的干擾。

通過將互動(dòng)禮物作為流水計(jì)算的依據(jù),我們希望能夠建立一個(gè)更公正、透明且與互動(dòng)玩法緊密相關(guān)的分成機(jī)制,從而激勵(lì)更多的開發(fā)者參與。這不僅可以提高開發(fā)者的積極性,也有助于形成一個(gè)健康、正向循環(huán)的互動(dòng)生態(tài)。

由于不同的互動(dòng)玩法的分成比例不同且可以實(shí)時(shí)調(diào)整,這給我們的管理和感知帶來了挑戰(zhàn)。為了有效應(yīng)對(duì)這些變化,我們需要建立一套與公司內(nèi)部結(jié)算體系緊密相關(guān)的結(jié)算系統(tǒng)。

圖:結(jié)算架構(gòu)圖:結(jié)算架構(gòu)

同時(shí)為了保障公司和開發(fā)者的權(quán)益,我們需要進(jìn)行流水對(duì)賬工作,主要包括以下兩個(gè)維度:

  • 實(shí)時(shí)對(duì)賬:在互動(dòng)玩法運(yùn)行過程中,建立實(shí)時(shí)對(duì)賬系統(tǒng),實(shí)時(shí)追蹤和核對(duì)每一筆交易的流水,以便及時(shí)發(fā)現(xiàn)和解決可能出現(xiàn)的問題。
  • 日流水對(duì)賬:日流水對(duì)賬是對(duì)實(shí)時(shí)對(duì)賬的補(bǔ)充,也是在出具日賬單前的最后核查工作。通過日流水對(duì)賬,我們可以確保對(duì)賬的準(zhǔn)確性和完整性。

圖:結(jié)算對(duì)賬流程圖:結(jié)算對(duì)賬流程

3.4 監(jiān)控與反饋

在開放平臺(tái)的互動(dòng)玩法系統(tǒng)的迭代維護(hù)過程中,確保系統(tǒng)的安全性和魯棒性是至關(guān)重要的。面對(duì)各種不確定性、噪聲以及變化,保障系統(tǒng)在這些情況下能夠保持穩(wěn)定的基本能力是一個(gè)重大因素。考慮到互動(dòng)玩法系統(tǒng)的調(diào)用方均為外部開發(fā)者,相比公司內(nèi)部業(yè)務(wù),我們需要更加嚴(yán)格的管控措施。

上線并不是互動(dòng)玩法生命周期的終點(diǎn),我們采取了一系列措施來持續(xù)跟蹤監(jiān)控系統(tǒng),對(duì)系統(tǒng)bug進(jìn)行觸達(dá)反饋,并對(duì)惡意調(diào)用進(jìn)行限流或封禁,以確保平臺(tái)高效運(yùn)轉(zhuǎn)或在極端情況下降低運(yùn)行。

以下是我們采用的一些措施:

  • 安全中心體系:為防止突發(fā)流量的惡意請求,我們將互玩相關(guān)接口接入開放平臺(tái)統(tǒng)一的安全管控中心。超過預(yù)設(shè)限制的調(diào)用方將被一段時(shí)間封禁,并隨著觸發(fā)次數(shù)的增加,封禁時(shí)間會(huì)逐漸延長,后續(xù)可以單獨(dú)討論一下安全中心的相關(guān)建設(shè)。
  • 監(jiān)控大盤與數(shù)據(jù)統(tǒng)計(jì):除了突發(fā)流量,開發(fā)者頻繁的錯(cuò)誤請求也是常見問題。我們在請求時(shí)進(jìn)行上報(bào)統(tǒng)計(jì),并將數(shù)據(jù)接入公司的監(jiān)控平臺(tái),實(shí)時(shí)觀察和統(tǒng)計(jì)。這有助于降低告警的噪音,同時(shí)提高對(duì)問題的敏感度。
  • 線上問題反饋:針對(duì)互動(dòng)玩法內(nèi)的bug,我們?yōu)橹鞑ヌ峁┝藢iT的反饋渠道。通過定期機(jī)器人同步,運(yùn)營團(tuán)隊(duì)能夠?qū)栴}及時(shí)反饋給開發(fā)者,從而實(shí)現(xiàn)問題的快速定位和解決。

圖:監(jiān)控大盤圖:監(jiān)控大盤

4. 未來展望

B站的互動(dòng)玩法目前仍在發(fā)展完善階段,我們經(jīng)歷了從0到1的探索階段,并結(jié)合開放平臺(tái)的體系完成了全鏈路的建設(shè)與搭建。然而,在1到100的發(fā)展過程中,相比市場中的競品,我們?nèi)孕璨粩嘌葸M(jìn)與探索。

我們面臨的挑戰(zhàn)有以下幾個(gè)方面:

  • 數(shù)據(jù)實(shí)時(shí)分析能力不足:在互動(dòng)玩法過程中,我們實(shí)時(shí)數(shù)據(jù)分析能力不足。強(qiáng)化數(shù)據(jù)預(yù)警分析能力可以幫助我們及時(shí)地發(fā)現(xiàn)潛在問題并做出相應(yīng)調(diào)整。
  • 商業(yè)化體系尚待完善:我們需要提升直播間用戶的消費(fèi)能力,同時(shí)深入挖掘直播間廣大用戶的潛在商業(yè)價(jià)值。完善商業(yè)化體系將有助于增加收入來源并提高用戶參與度。
  • 超前思考系統(tǒng)穩(wěn)定性建設(shè):隨著上架的互玩和使用的主播擴(kuò)大,我們需要以超前的思維布局,持續(xù)思考和落地系統(tǒng)的穩(wěn)定性建設(shè)。這包括技術(shù)和流程的不斷優(yōu)化,以確保系統(tǒng)的穩(wěn)定性和用戶體驗(yàn)。

在面對(duì)這些挑戰(zhàn)時(shí),通過持續(xù)的努力和創(chuàng)新,我們相信可以不斷優(yōu)化互動(dòng)玩法系統(tǒng),更好地滿足用戶需求,使其在市場中脫穎而出。

本期作者

吳盛嗶哩嗶哩高級(jí)開發(fā)工程師吳盛嗶哩嗶哩高級(jí)開發(fā)工程師

張夢瑤 嗶哩嗶哩高級(jí)開發(fā)工程師張夢瑤 嗶哩嗶哩高級(jí)開發(fā)工程師

賀一科 嗶哩嗶哩高級(jí)開發(fā)工程師賀一科 嗶哩嗶哩高級(jí)開發(fā)工程師

魏駿文 嗶哩嗶哩資深開發(fā)工程師魏駿文 嗶哩嗶哩資深開發(fā)工程師

責(zé)任編輯:武曉燕 來源: 嗶哩嗶哩技術(shù)
相關(guān)推薦

2015-12-30 14:29:53

NFV開放平臺(tái)

2023-07-02 11:14:21

工具TypeScript框架

2019-02-18 15:23:21

馬蜂窩MESLambda

2021-08-18 17:16:10

Git分片讀寫分離

2017-06-29 13:29:34

大數(shù)據(jù)PAI機(jī)器學(xué)習(xí)

2019-04-23 09:13:54

蘇寧采購架構(gòu)

2023-03-16 07:20:15

大數(shù)據(jù)平臺(tái)云數(shù)據(jù)

2017-10-23 09:10:52

2013-04-27 14:27:39

大數(shù)據(jù)全球技術(shù)峰會(huì)大數(shù)據(jù)開放數(shù)據(jù)平臺(tái)

2024-07-17 11:40:58

2024-10-28 22:37:36

下載中心設(shè)計(jì)系統(tǒng)

2023-01-03 17:43:39

網(wǎng)易郵箱數(shù)倉

2009-08-05 16:14:32

CDMA網(wǎng)絡(luò)的演進(jìn)無線網(wǎng)絡(luò)發(fā)展

2018-03-27 10:06:26

對(duì)象存儲(chǔ)演進(jìn)

2015-11-23 16:22:11

互聯(lián)網(wǎng)

2023-02-01 10:11:06

轉(zhuǎn)轉(zhuǎn)容器日志

2014-01-15 09:09:56

2015-07-17 08:23:06

品高云計(jì)算

2012-11-19 11:36:16

PTNLTE網(wǎng)絡(luò)承載

2024-08-14 08:11:41

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)