본문으로 건너뛰기
Version: 6.1

사용자 유형 설정

PlanetKit은 그룹 통화에 참여할 때 애플리케이션에서 서로 다른 범주의 사용자를 구분할 수 있도록 사용자의 유형을 설정할 수 있는 기능을 제공합니다.

이 기능을 사용하면 커스텀 사용자 유형(예: 일반 사용자와 봇)을 정의해서 사용자 유형에 따라 애플리케이션이 다르게 작동하거나 UI가 달라지게 만들 수 있습니다. 참고로 LINE Planet은 일부 사용자 유형 값을 빌트인 에이전트 역할을 위해 예약해 두었습니다.

지원 통화 유형최소 SDK 버전
그룹 통화(컨퍼런스)PlanetKit 6.1

사용자 유형

사용자 유형은 크게 다음과 같이 분류됩니다.

  • 커스텀 사용자 유형
    • 애플리케이션에서 정의하고 관리하는 사용자 유형입니다.
    • 값 범위: 1~9999
  • PlanetKit 사용자 유형
    • LINE Planet에서 내부적으로 에이전트 역할로 사용하는 사용자 유형으로 PlanetKitUserType에 정의돼 있습니다.
    • 값 범위: 0, 10000~99999
    • 자세한 내용은 에이전트 통화를 참고하세요.

샘플 코드

다음은 사용자 유형 설정 기능을 사용하는 샘플 코드입니다.

사용자 유형 정의 및 설정​

요구 사항에 맞춰 애플리케이션의 사용자 유형을 정의하고, 그룹 통화에 참여할 때 PlanetKitJoinConferenceSettingBuilderwithCustomUserTypeKey()을 사용해 사용자 유형을 설정하세요.

enum AppUserType: Int {
case videoBot = 100
}

func joinConference(...) {
...
let settings = try! PlanetKitJoinConferenceSettingBuilder()
...
.withCustomUserTypeKey(userType: AppUserType.videoBot.rawValue)
.build()

let param = PlanetKitConferenceParam(myUserId: myUserId, roomId: roomId, roomServiceId: serviceId, displayName: displayName, delegate: manageable, accessToken: accessToken)
...

let result = PlanetKitManager.shared.joinConference(param: param, settings: settings)
...
}

각 사용자 유형에 적용할 로직 구현​

각 사용자 유형에 맞춰 처리할 로직을 구현하세요. PlanetKitUserTypeContainer API를 사용해 사용자 유형을 확인할 수 있습니다.

extension ConferenceViewController: PlanetKitConferenceDelegate {
...
func peerListDidUpdate(_ conference: PlanetKitConference, updated: PlanetKitConferencePeerListUpdateParam) {
for peer in updated.addedPeers {
if peer.userType.customUserType == AppUserType.videoBot.rawValue {
print("Video bot has joined. ID: \(peer.id.uniqueId)")
}
}
for peer in updated.removedPeers {
if peer.userType.customUserType == AppUserType.videoBot.rawValue {
print("Video bot has left. ID: \(peer.id.uniqueId)")
}
}
}
}

관련 API