본문으로 건너뛰기
Version: 6.1

릴리스 노트

iOS/macOS용 PlanetKit 6.1의 릴리스 노트입니다.

PlanetKit 6.1.1

릴리스 일자: 2025-08-29

(macOS에만 해당) 오디오 볼륨 설정 기능의 버그 수정

입력 및 출력 채널을 모두 갖춘 외부 마이크 장치의 볼륨을 조정할 때 스피커 볼륨이 의도치 않게 변경되는 문제를 해결했습니다.

(macOS에만 해당) VPIO가 활성화될 때 발생할 수 있는 크래시 수정

macOS에서 오디오 프리뷰가 실행 중일 때 VPIO가 활성화되면 발생할 수 있는 크래시를 해결했습니다.

PlanetKit 버전 6.1.0에서는 다음과 같은 조건에서 VPIO가 활성화돼 문제가 발생할 수 있습니다.

  • VPIO를 명시적으로 켜는 경우
  • MLNS를 비활성화해 VPIO가 켜지는 경우
  • 저사양 장치에서 MLNS가 자동으로 비활성화되어 VPIO가 켜지는 경우

PlanetKit 버전 6.1.0을 macOS에서 사용하면서 위 조건 중 하나라도 해당하는 상황이 발생할 수 있다면 업데이트가 필요합니다.

PlanetKit 6.1

릴리스 일자: 2025-08-08

사용자 유형 지원

  • 애플리케이션에서 정의한 사용자 유형을 지원하여, 사용자 유형에 따라 앱의 동작이나 UI를 맞춤화할 수 있습니다 (예: 일반 사용자와 봇 사용자를 구별).
  • 사용자 유형 값은 1부터 9999까지 설정할 수 있습니다.
  • 10000 이상의 값은 LINE Planet에서 제공하는 에이전트에 예약되어 있습니다. 자세한 내용은 에이전트 통화를 참조하세요.
  • 사용자 유형과 관련된 자세한 내용은 사용자 유형 설정을 참고하세요.

API

추가
  • PlanetKitJoinConferenceSettingBuilder class Group call
    • func withCustomUserTypeKey(customUserType: Int) throws -> PlanetKitJoinConferenceSettingBuilder
  • PlanetKitUserType enum Group call
  • PlanetKitUserTypeContainer class Group call
  • PlanetKitConferencePeer class Group call
    • var userType: PlanetKitUserTypeContainer { get }
  • PlanetKitConference class Group call
    • var myCustomUserType: Int? { get }
    • var myCustomUserTypeValue: NSNumber? { get }

예제 코드

  • 1단계: 애플리케이션 사용자 유형을 정의하고 그룹 통화에 참여할 때 설정합니다.

    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)
    ...
    }
  • 2단계: 각 사용자 유형에 따라 처리할 작업을 구현합니다.

    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)")
    }
    }
    }
    }