3-SDK入口
更新時間:2025-08-29 11:30:56
1.PLVLiveScenesSDK
PLVLiveScenesSDK類別是多場景 SDK 的入口,該類別提供了 SDK 初始化、直播頁面資料初始化,以及各功能模組的統一入口和生命週期管理。
2.SDK 初始化
您可以使用PLVLiveScenesSDK的init靜態方法對 SDK 進行初始化,詳細使用程式碼可參考 demo 專案的PLVEntryAbility類別:
PLVLiveSceneSDK.init(context, windowStage)
3.SDK 物件建立
在每次進入一個新的直播頁面前,需要先建立一個新的 SDK 物件,該物件內部會產生一個 sdkId 與該直播頁面相關聯,之後也能在該直播頁面使用 sdkId 去取得 SDK 物件,詳細使用程式碼可參考 demo 專案的PLVLoginPage類別:
// 创建 SDK 对象
const sdk: PLVLiveSceneSDK = PLVLiveSceneSDK.create()
// 获取 SDK 对象
PLVLiveSceneSDK.get(sdk.uniqueId)
4.登入直播頁面
在進入直播頁面之前,需要先進行登入驗證,可以使用 SDK 物件的loginManager進行直播或回放的登入,詳細使用程式碼可參考 demo 專案的PLVLoginPage類別:
// 登录直播
sdk.loginManager.loginLive(userId?: string, channelId?: string, appId?: string, appSecret?: string)
// 登录回放
sdk.loginManager.loginPlayback(userId?: string, channelId?: string, appId?: string, appSecret?: string, videoId?: string)
因為每次登入意味著要進入一個新的直播頁面,因此在登入前需要建立一個新的 SDK 物件,如果登入失敗時則需要呼叫該 SDK 物件的destroy方法進行銷毀。登入成功後,把 SDK 物件的uniqueId傳遞給直播頁面,後續就能在直播頁面使用PLVLiveSceneSDK的get方法取得 SDK 物件了。
5.直播頁面資料初始化
在進入直播頁面後,需要對直播頁面的資料進行初始化,在呼叫 SDK 物件的initData方法後,SDK 內部會進行本地資源的初始化,以及網路資源的請求,詳細使用程式碼可參考 demo 專案的PLVLWWatchLayout類別:
// 初始化sdk数据,如果当前模块(scenes_live模块)为har类型,传getContext();如果为hsp类型,则需要传getContext().createModuleContext('模块名')
// 因sdk内部需要读取rawfile,因此这里需要传入模块的context
sdk.initData(getContext() as common.UIAbilityContext)
6.SDK 物件銷毀
除了登入失敗需要銷毀 SDK 物件外,在退出直播頁面的時候,也需要對 SDK 物件進行銷毀以釋放資源,詳細使用程式碼可參考 demo 專案的PLVLWWatchLayout類別:
sdk.destroy()
