ユーザータイプの設定
WebPlanetKitは、グループ通話に参加する際にアプリケーションで異なるカテゴリのユーザーを区別できるよう、ユーザータイプを設定する機能を提供します。
この機能を使用すると、カスタムユーザータイプ(例:一般ユーザーとボット)を定義し、ユーザータイプに応じてアプリケーションの動作やUIを変えることができます。なお、LINE Planetは一部のユーザータイプの値をビルトインエージェントの役割のために予約しています。
通話タイプ | SDKの最低バージョン |
---|---|
グループ通話(カンファレンス) | WebPlanetKit 5.4 |
ユーザータイプ
ユーザータイプは大きく次のように分類されます。
- カスタムユーザータイプ
- アプリケーションで定義し、管理するユーザータイプです。
- 値の範囲:1~9999
- PlanetKitユーザータイプ
- LINE Planetで内部的にエージェントの役割として使用するユーザータイプで、
PLANET_KIT_USER_TYPE
に定義されています。 - 値の範囲:0、10000~99999
- 詳しくは、エージェント通話を参照してください。
- LINE Planetで内部的にエージェントの役割として使用するユーザータイプで、
サンプルコード
以下は、ユーザータイプの設定機能を使用するサンプルコードです。
ユーザータイプの定義および設定
要件に合わせてアプリケーションのユーザータイプを定義し、グループ通話に参加する際にConferenceParams
のcustomUserType
プロパティを使用してユーザータイプを設定します。
const SAMPLE_BOT_TYPE = 100;
const conferenceParams = {
...,
customUserType: SAMPLE_BOT_TYPE
};
planetKit.joinConference(conferenceParams)
.then(() => {
// Successfully joined a conference
})
.catch((joinConferenceError) => {
// If the value of `customUserType` is invalid, joining a conference will fail with the reason code `INVALID_CUSTOM_USER_TYPE`.
});
各ユーザータイプに適用するロジック実装
各ユーザータイプに合わせて処理するロジックを実装します。UserTypeContainer
APIを使用してユーザータイプを確認できます。
const onEvtPeerListUpdated = (peerListUpdatedParam) => {
const { addedPeers, removedPeers, totalPeersCount } = peerListUpdatedParam;
addedPeers.forEach((peer) => {
if (peer.userType.getCustomUserType() === SAMPLE_BOT_TYPE) {
console.log("Sample bot has joined.");
}
});
removedPeers.forEach((peer) => {
if (peer.userType.getCustomUserType() === SAMPLE_BOT_TYPE) {
console.log("Sample bot has left.");
}
});
};