Skip to content
dschuppa edited this page Aug 2, 2021 · 15 revisions

What is Config?

Emarsys SDK now provides a solution for applicationCode and merchantId change in a convenient way, without restarting the SDK.

Use cases of applicationCode change

Note

When changeApplicationCode has been called, the SDK will log out the user and a setContactWithContactFieldValue must be called again with the correct contactFieldValue.

  1. Turn on Mobile Engage feature

    There was no applicationCode set in the SDK before and with Config it can be set from nil to a valid code.

Note

In that case when the SDK was setup with nil applicationCode, the developer is responsible to call setPushToken: with the valid deviceToken if it was received during when the SDK was in inactive state

  1. Turn off Mobile Engage feature

    Erase a previously set applicationCode and disable the feature by setting it to nil.

  2. Use a different applicationCode

    Change a previously set applicationCode to a new one. If there was a pushToken set, the SDK saves it, calls clearPushToken before executing the applicationCode change and restores the original pushToken for the new applicationCode.

  3. Use a different contactFieldId

    Change a previously set contactFieldId, to use a different contactField for authentication.

Use cases of merchantId change

  1. Turn on Predict feature

    There was no merchantId set in the SDK before and with Config it can be set from nil to a valid merchantId.

  2. Turn off Predict feature

    Erase a previously set merchantId and disable the feature by setting it to nil.

  3. Use a different merchantId

    Change a previously set merchantId to a new one.

changeApplicationCode

1.1 changeApplicationCode

Note

If any error occurs during the change process, the completionBlock will be called with an error and the Mobile Engage feature will be turned off.

Objective-C
[Emarsys.config changeApplicationCode:<applicationCode: NSString>
                          completionBlock:^(NSError *error) {
                                if(error){
                                    NSLog(error);
                                }
                            }];
Swift
Emarsys.config.changeApplicationCode(applicationCode: applicationCodeValue.text) { error in
            if error != nil {
                print("\(error)")
            }
}

Errors can be handled in the completionBlock.

changeMerchantId

Objective-C
[Emarsys.config changeMerchantId:<merchantId: NSString>];
Swift
Emarsys.config.changeMerchantId(<merchantId: String>)

applicationCode

Provides what is the actual applicationCode set in the SDK.

Objective-C
[Emarsys.config applicationCode];
Swift
Emarsys.config.applicationCode()

merchantId

Provides what is the actual merchantId set in the SDK.

Objective-C
[Emarsys.config merchantId];
Swift
Emarsys.config.merchantId()

contactFieldId

Provides what is the actual contactFieldId set in the SDK.

Objective-C
[Emarsys.config contactFieldId];
Swift
Emarsys.config.contactFieldId()

hardwareId

Provides what is the actual hardwareId used by the SDK.

Objective-C
[Emarsys.config hardwareId];
Swift
Emarsys.config.hardwareId()

languageCode

Provides what is the actual language of the application.

Objective-C
[Emarsys.config languageCode];
Swift
Emarsys.config.languageCode()

pushSettings

Provides what is the actual notificationSettings set for the application.

Objective-C
[Emarsys.config pushSettings];
Swift
Emarsys.config.pushSettings()

sdkVersion

Provides the actual sdkVersion

Objective-C
[Emarsys.config sdkVersion];
Swift
Emarsys.config.sdkVersion()