BootConfig

Configures options for ChannelIO.boot().

FieldTypeDescription
pluginKey@NonNull StringA plugin key.
memberId@Nullable StringAn identifier to distinguish each user. See how to boot as a member user.
memberHash@Nullable StringA HMAC-SHA256 value of memberId. See enabling member hash. You should also pass memberId whenever memberHash is non-null.
profile@Nullable ProfileA user’s profile.
language@Nullable LanguageA user’s language. If null, the language is set to the language of the device.
unsubscribeEmail@Nullable BooleanWhether to unsubscribe from the email marketing message.
unsubscribeTexting@Nullable BooleanWhether to unsubcribe from the SMS marketing message.
trackDefaultEvent@NonNull BooleanWhether to track default events such as PageView.
hidePopup@NonNull BooleanWhether to hide popups such as marketing popup and in-app notification.
channelButtonOption@Nullable ChannelButtonOptionAn option for Channel button. See customizing channel button.
bubbleOption@Nullable BubbleOptionAn option for popups such as marketing popup and in-app notification. See customizing popups.
appearance@Nullable AppearanceAn option for appearance that the SDK will use.

enum Language

Languages that the Channel Talk supports.

FieldDescription
KOREANKorean.
JAPANESEJapanese.
ENGLISHEnglish.

ChannelButtonIcon

Preset icons for the Channel button.

enum class ChannelButtonIcon {  
  Channel,
  ChatBubbleFilled,
  ChatProgressFilled,
  ChatQuestionFilled,
  ChatLightningFilled,
  ChatBubbleAltFilled,
  SmsFilled,
  CommentFilled,
  SendForwardFilled,
  HelpFilled,
  ChatProgress,
  ChatQuestion,
  ChatBubbleAlt,
  Sms,
  Comment,
  SendForward,
  Communication,
  Headset,
}

ChannelButtonPosition

Position values for the Channel button.

enum class ChannelButtonPosition {
  RIGHT,
  LEFT,
}

ChannelButtonOption

An option for the Channel button.

<init>

FieldTypeDescription
iconChannelButtonIconThe icon type of the Channel button.
positionChannelButtonPositionThe position of the Channel button.
xMarginfloatA X-axis margin from position in DP.
yMarginfloatA Y-axis margin from position in DP.
FieldTypeDescription
iconChannelButtonIconThe icon type of the Channel button.
FieldTypeDescription
positionChannelButtonPositionThe position of the Channel button.
xMarginfloatA X-axis margin from position in DP.
yMarginfloatA Y-axis margin from position in DP.

BubbleOption

An option for the marketing popups and in-app notifications.

FieldTypeDescription
position@NonNull BubblePositionThe position of the popup.
yMarginfloatA Y-axis margin from position in DP.

Profile

A user’s profile. See BootConfig#setProfile(Profile).

Primitive fields

FieldTypeDescription
name@Nullable StringA name of a user.
email@Nullable StringAn email of a user.
mobileNumber@Nullable StringA mobile number of a user.
avatarUrl@Nullable StringAn avatar URL of a user.

setProperty

Set custom field for the profile.

FieldTypeDescription
propertyKey@NonNull StringA key of the profile property.
propertyValue@Nullable ObjectA value of the profile property.

setProperties

Set multiple profile properties.

User

FieldTypeDescription
id@NonNull StringA user id.
memberId@Nullable StringAn identifier to distinguish member users. Anonymous user is null.
name@Nullable StringA name of the user.
avatarUrl@Nullable StringAn avatar URL of the user.
profile@Nullable Map<String, Object>A profile of the user.
alertintThe number of important notifications. The default channel button shows it as a number in the badge.
unreadintThe number of unread notifications. It includes the value of alert. The default channel button shows it as a dot.
tags@Nullable ListA tag list of the user.
language@Nullable StringA language of the user.
unsubscribeTextingbooleanWhether the user has unsubcribed from receiving a SMS or LMS marketing message.
unsubcribeEmailbooleanWhether the user has unsubscribed from receiving an email marketing message.

PopupData

An information of in-app popup.

FieldTypeDescription
chatId@NonNull StringA chat room ID that the popup was shown.
avatarUrl@Nullable StringAn avatar URL of the popup.
name@NonNull StringA name shown on the popup.
message@NonNull StringA message that is shown on the popup.

UserData.Builder

Builds a new User instance. See ChannelIO.updateUser(UserData, UserUpdateCallback) for details.

setLanguage

Sets a language of the user.

FieldTypeDescription
language@NonNull LanguageA language of the user.

setTags

Sets a tag list of the user.

FieldTypeDescription
tags@Nullable ListA tag list of the user.

setProfileMap

Sets profile information of the user.

FieldTypeDescription
tags@Nullable ListA tag list of the user.

setProfileOnceMap

Sets profile information of the user only when it is not present.

FieldTypeDescription
profileOnceMap@Nullable Map<String, Object>A profile information of the user.

setUnsubscribeEmail

Sets whether the user wants to unsubscribe from an email marketing message.

FieldTypeDescription
unsubcribeEmail@NonNull BooleanWhether the user wants to unsubscribe from an email marketing message.

setUnsubcribeTexting

Sets whether the user wants to unsubscribe from a SMS or LMS marketing message.

FieldTypeDescription
unsubscribeTexting@NonNull BooleanWhether the user wants to unsubscribe from a SMS or LMS marketing message.

BootStatus

A result for ChannelIO.boot().

FieldDescription
SUCCESSThe boot was successful.
NOT_INITIALIZEDChannelIO.initialize() was not called.
NETWORK_TIMEOUTThe boot failed because of a network issue.
NOT_AVAILABLE_VERSIONNot a supported SDK version.
SERVICE_UNDER_CONSTRUCTIONChannel Talk server is under construction.
REQUIRE_PAYMENTThe channel is blocked or you need to check the subscription plan.
ACCESS_DENIEDServer responded with 4xx status code.
UNKNOWNAn unknown error.

enum Appearance

An appearance for the SDK.

FieldDescription
LIGHTA light theme.
DARKA dark theme.
SYSTEMFollows the system theme.