# 2\_3-快速集成-鸿蒙

### 1 阅读准备

提前下载项目Demo，准备好一个url，最好是保利威云直播/云点播的观看端url，可以体验到更完整的功能。

### 2 环境要求

| 名称                   | 要求           |
| -------------------- | ------------ |
| compatibleSdkVersion | >= 4.1.0(11) |

### 3 项目配置

#### 3.1 集成SDK

修改模块的`oh-package.json5`文件，来集成SDK

```ts
  "dependencies": {
    // WebViewSDK
    "plvwebsdk": "version"
  }
```

#### 3.2 需要权限

当前SDK所需要的权限如下：

```ts
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      },
      {
        "name": "ohos.permission.GET_NETWORK_INFO"
      }
    ]
```

#### 3.3 跳转页面

当前demo中提供了两个页面可供跳转，分别是：

1. `PLVInputPage`是单个WebView页面演示入口页面，演示了单个WebView页面该如何进行配置和使用
2. `PLVFeedWebPage` 是多个WebView页面演示入口页面，演示了Feed流下使用WebView页面

您可以根据项目的需要，选择集成使用那个页面。

#### 3.4 项目配置

请在`EntryAbility`中配置以下核心代码：

```ts
export default class PLVEntryAbility extends UIAbility {
    ...
    onWindowStageCreate(windowStage: window.WindowStage): void {
        // demo核心代码, 绑定windowStage
        PLVWebViewWindowManager.setWindowStage(windowStage)
        ....
    }
    
    onForeground(): void {
    // Ability has brought to foreground
    PLVLogger.info(TAG, 'Ability onForeground');
    // demo核心代码
    PLVWebViewWindowManager?.onForeground()
  }

    onBackground(): void {
    // Ability has back to background
    PLVLogger.info(TAG, 'Ability onBackground');
    // demo核心代码
    PLVWebViewWindowManager?.onBackground()
  }
}
```

请确保使用小窗功能前调用 `PLVWebViewWindowManager.setWindowStage(windowStage)` 小窗功能需要依赖windowStage来实现

#### 3.5 参数修改

demo中的参数配置都是在`PLVWebViewConfig`中进行配置，你可以选择使用的UA、视频播放地址、是否开启悬浮窗等操作。 `注意：如果需要到Saas页面的小窗功能的情况，必须在UA中带上Android和PLVUAConfig.defaultUA字段`

```ts
PLVWebViewConfig()
          .setUrl("https://www.polyv.net") // 设置需要加载Url
          .setUa("Android" + PLVUAConfig.defaultUA) // 设置当前UA
          .setSupportAutoFloating(false) // 设置是否支持自动小窗
          .setAllowFloatingWindow(true) // 设置是否支持开启小窗功能
```

可以根据您的需求进行相应配置。

更多详细功能可以参考项目完整demo来使用。
