本文にスキップする
Under translation
このページは現在翻訳中です。
Version: 6.1

Release notes

This page provides the release notes of PlanetKit 6.1 for Windows.

PlanetKit 6.1

Release date: 2025-08-08

Support user types

  • We have added a feature that allows distinguishing user types defined by the application. This can be used when the application needs to alter behavior or UI configuration for each user type. For example, it can be used to differentiate between regular users and bot users.
  • You can define and use any value within the range of 1 to 9999.
  • Values starting from 10000 are used to differentiate agents provided by LINE Planet. For more information, refer to Agent call.
  • For more information on user types, refer to Setting the user type.

API

Added
  • ConferenceParam class Group call
    • bool SetCustomUserType(unsigned int customUserType)
    • unsigned int GetCustomUserType()
  • PlanetKitUserType enum class Group call
    • Undefined = 0
    • AudioCaller = 10000
    • AudioEchoCallee = 10001
    • VideoEchoCallee = 10002
    • MentalHealthCounselor = 10003
    • Reserved01 = 10004
    • Reserved02 = 10005
    • Reserved03 = 10006
    • Reserved04 = 10007
    • Reserved05 = 10008
    • ParticipantInterpreter = 20000
    • ParticipantTranscriber = 20001
    • ParticipantMentalHealthCounselor = 20002
    • ParticipantReserved01 = 20003
    • ParticipantReserved02 = 20004
    • ParticipantReserved03 = 20005
    • ParticipantReserved04 = 20006
    • ParticipantReserved05 = 20007
    • Unknown = 99999
  • UserTypeContainer class Group call
    • PlanetKitUserTypeOptional GetPlanetKitUserType()
    • UIntOptional GetCustomUserType()
    • bool IsPlanetKitUserType() const
  • Peer class Group call
    • UserTypeContainerPtr GetUserType()

Example code

  • Step 1: Define the application user type and set it when joining a group call.

    constexpr unsigned int CustomUserTypeRegularUser = 1
    constexpr unsigned int CustomUserTypeBot = 2

    class YourConference {
    public :
    void JoinConference(PlanetKit::UserIdPtr pMyId, PlanetKit::MicPtr) {
    auto pConferenceParam = PlanetKit::ConferenceParam::CreateWithAccessToken(pMyId, L"YourRoomId", L"YourRoomServiceId", L"YourAccessToken");

    // Set other parameters as you needed.
    ...

    bool bResult = pConferenceParam->SetCustomUserType(CustomUserTypeRegularUser);

    auto pMic = PlanetKit::PlanetKitManager::GetInstance()->GetAudioManager()->GetCurrentMic();
    auto sJoinResult = PlanetKit::PlanetKitManager::GetInstance()->JoinConference(pConferenceParam, pMic, m_pConference);
    }

    private :
    PlanetKit::PlanetKitConferencePtr m_pConference;
    }
  • Step 2: Implement actions to be processed according to each user type.

    class YourConferenceEvent : public PlanetKit::IConferenceEvent {
    public :
    void OnPeerListUpdate(PlanetKit::PlanetKitConferencePtr pPlanetKitConference, PlanetKit::ConferencePeerUpdateParamPtr pParam) override {
    auto arrayAddedPeer = pParam->GetAddedPeer();

    for(int idx = 0; idx < arrayAddedPeer.Size(); ++idx) {
    auto pPeer = arrayAddedPeer.At(idx);

    auto pUserTypeContainer = pPeer->GetUserType();

    if(pUserTypeContainer->IsPlanetKitUserType()) {
    // Predefined user types in PlanetKit.
    auto ePlanetKitPredefined = pUserTypeContainer->GetPlanetKitUserType().Value();
    }
    else {
    // Custom user type that you set.
    switch(pUserTypeContainer->GetCustomUserType().Value()) {
    case CustomUserTypeRegularUser :
    // CustomUserTypeRegularUser
    break;

    case CustomUserTypeBot :
    // CustomUserTypeBot
    break;
    }
    }
    }
    }
    };