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.
buttonOption@Nullable BubbleOptionAn option for popups such as marketing popup and in-app notification. See customizing popups.

enum Language

Languages that the Channel supports.

FieldDescription
KOREANKorean.
JAPANESEJapanese.
ENGLISHEnglish.

ChannelButtonOption

An option for the Channel button.

FieldTypeDescription
positionChannelButtonPositionThe position of 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.
alertintAn alert count of the user.
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.io 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.