Boot Option

ChannelPluginSettings is an object that contains information to boot up ChannelIO, specifically use in boot. You should provide a value to memberId property if you want to boot with a registered user.

public class ChannelPluginSettings: NSObject {
  var pluginKey: String = ""
  var memberId: String? = nil
  var memberHash: String? = nil
  var debugMode: Bool = false
  var launcherConfig: LauncherConfig? = nil
  var hideDefaultInAppPush: Bool = false
  var enabledTrackDefaultEvent: Bool = true
  var language: CHLocale = .device
  public init(
    pluginKey: String,
    memberId: String? = nil,
    memberHash: String? = nil
    debugMode: Bool = false,
    launcherConfig: LauncherConfig? = nil,
    hideDefaultInAppPush: Bool = false,
    enabledTrackDefaultEvent: Bool = true,
    language: CHLocale = .device)
  public func set(unsubscribed: Bool) -> ChannelPluginSettings {
    self.unsubscribed = unsubscribed
    return self
@interface ChannelPluginSettings: NSObject
@property (nonatomic, copy) NSString * _Nonnull pluginKey;
@property (nonatomic, copy) NSString * _Nullable memberId;
@property (nonatomic, copy) NSString * _Nullable memberHash;
@property (nonatomic) BOOL debugMode;
@property (nonatomic, strong) LauncherConfig * _Nullable launcherConfig;
@property (nonatomic) BOOL hideDefaultInAppPush;
@property (nonatomic) BOOL enabledTrackDefaultEvent;
@property (nonatomic) enum CHLocale locale;

- (instancetype)init;
- (instancetype)initWithPluginKey:(NSString * _Nonnull)pluginKey userId:(NSString * _Nullable)userId debugMode:(BOOL)debugMode launcherConfig:(LauncherConfig * _Nullable)launcherConfig hideDefaultInAppPush:(BOOL)hideDefaultInAppPush enabledTrackDefaultEvent:(BOOL)enabledTrackDefaultEvent locale:(enum CHLocale)locale;

- (ChannelPluginSettings * _Nonnull)setWithUnsubscribed:(BOOL)unsubscribed;
pluginKeyStringa plugin key that you can obtain from Channel Desk
memberIdStringa member Id
memberHashStringthe hashed value of memberId using SHA256
debugModeBoola flag to indicate debug mode. Default is false
launcherConfigLauncherConfiga object to control launcher position
hideDefaultInAppPushBoola flag to set visibility of the default in-app push. Default is false
enabledTrackDefaultEventBoola flag to enable tracking default events. Default is true
languageCHLocalea locale code, currently supports english, korean and japanese. Default is device locale
unsubscribedBoola value of whether or not to accept marketing


Do not recommend to use a predictable value for memberId

Because memberId is a unique value that we use to identify users, we do not recommend to use predictable values such as numerical combination, email address, user name and etc. It may cause privacy and security issues. We recommend to use higher than 256 bits hash value.


'unsubscribed' can only be set through set function.

Because Objective-c do not have Bool optional, So we need to set function.
And this value has 'OR' property. If original value has true, you can't make it false through 'boot'


'memberHash' is coming soon.

memberHash will support, but not now.