BVPlaybackLink
## Expected methods
- fun updatePlaybackToken(token: String): Unit
- fun startSession(): Unit
- fun endSession(): Unit
- suspend fun getResourceInfo(): ResourceInfo
- fun release(): Unit
- val errorEvent: Flow<BVPlaybackLinkError>
### Entity
```kotlin=
data class ResourceInfo(
val id: String,
val type: String
)
```
### Error
```kotlin=
data object ResponseParseError : BVPlaybackLinkError()
data object ConnectionError : BVPlaybackLinkError()
data object TimeoutError : BVPlaybackLinkError()
data class ClientError(
val code: Int,
val message: String
) : BVPlaybackLinkError()
data class UnknownError(
val e: Throwable
) : BVPlaybackLinkError()
```
## Usage
```kotlin=
// 1
val playbackLink = BVPlaybackLink.Builder().build()
playbackLink.updatePlaybackToken(token)
val resourceInfo = playbackLink.getResourceInfo()
val player = Player.Builder(
PlayerConfig(
licensekey = "XXXXXX",
serviceConfig = V2
)
)
.setAnalyticsConfig(
AnalyticsConfig(
// 2
resourceId = resourceInfo.id,
resourceType = resourceInfo.type
)
)
// load content to playback
player.load(MediaConfig)
playbackLink.startSession() // 3
// exit playback OR error occurs
player.stop()
player.release()
playbackLink.endSession() // 4
playbackLink.release()
```