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 callbool SetCustomUserType(unsigned int customUserType)
unsigned int GetCustomUserType()
PlanetKitUserType
enum class Group callUndefined = 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 callPlanetKitUserTypeOptional GetPlanetKitUserType()
UIntOptional GetCustomUserType()
bool IsPlanetKitUserType() const
Peer
class Group callUserTypeContainerPtr 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;
}
}
}
}
};