Skip to content

Optional setup

After the basic configuration, you can customize initialization via chainable methods on AffiseSettingsApi or directly through the AffiseInitPropertiesType object.

The AffiseInitPropertiesType type (src/AffiseInitProperties.ts:7-30) and the default values on AffiseInitProperties (src/AffiseInitProperties.ts:32-45):

| Field | Type | Default | |---|---|---| | affiseAppId | string | required | | secretKey | string | required | | isProduction? | boolean | true (:35) | | partParamName? | string \| null | null (:36) | | partParamNameToken? | string \| null | null (:37) | | appToken? | string \| null | null (:38) | | enabledMetrics? | boolean | false (:39) | | autoCatchingClickEvents? | AutoCatchingType[] | [] (:40) | | domain? | string \| null | null (:41) | | onInitSuccessHandler? | OnInitSuccessHandler \| null | null (:42) | | onInitErrorHandler? | OnInitErrorHandler \| null | null (:43) | | configStrings | Record<AffiseConfig[keyof AffiseConfig & number], any> \| null | {} (:44) | | disableModules | AffiseModules[] \| null | [] (:45) |

The full AffiseSettingsApi surface (src/settings/AffiseSettingsApi.ts):

setProduction(production: boolean): AffiseSettingsApi // :17
setDomain(domain: string): AffiseSettingsApi // :25
setPartParamName(partParamName: string): AffiseSettingsApi // :32
setPartParamNameToken(partParamNameToken: string): AffiseSettingsApi // :39
setAppToken(appToken: string): AffiseSettingsApi // :46
setOnInitSuccess(onInitSuccessHandler: OnInitSuccessHandler): AffiseSettingsApi // :65
setOnInitError(onInitErrorHandler: OnInitErrorHandler): AffiseSettingsApi // :70
setConfigValue(key: AffiseConfig, value: any): AffiseSettingsApi // :74
setConfigValues(values: Record<AffiseConfig, any>): AffiseSettingsApi // :79
setDisableModules(disableModules: AffiseModules[]): AffiseSettingsApi // :84
start(): void // :89

setDomain(domain: string) overrides the default Affise endpoint. Trailing slash is irrelevant (src/settings/AffiseSettings.ts:54, AffiseSettingsApi.ts:22). Example from:

Affise
.settings({
affiseAppId: 'Your appId',
secretKey: 'Your SDK secretKey',
})
.setDomain("https://YoureCustomDomain/") // Set custom domain
.start(); // Start Affise SDK

Callback type aliases (src/settings/OnInitSuccessHandler.ts:1, src/settings/OnInitErrorHandler.ts:1):

export type OnInitSuccessHandler = () => void;
export type OnInitErrorHandler = (e: string) => void;

Register handlers via setOnInitSuccess / setOnInitError (src/settings/AffiseSettingsApi.ts:65, :70; impl src/settings/AffiseSettings.ts:115-126). Internally the handlers are wired via AffiseApiMethod.ON_INIT_SUCCESS_HANDLER ("on_init_success_handler") and ON_INIT_ERROR_HANDLER ("on_init_error_handler") (src/native/AffiseApiMethod.ts:27-28, src/native/AffiseNative.ts:43-51).

Affise
.settings({
affiseAppId: "Your appId",
secretKey: "Your SDK secretKey",
})
.setOnInitSuccess(() => {
// Called if library initialization succeeded
console.log(`Affise: init success`);
})
.setOnInitError((error) => {
// Called if library initialization failed
console.log(`Affise: init error ${error}`);
})
.start(); // Start Affise SDK

The AffiseConfig enum currently declares one string key (src/settings/AffiseConfig.ts:1-3):

export enum AffiseConfig {
FB_APP_ID = "fb_app_id",
}

Use setConfigValue(AffiseConfig.FB_APP_ID, '<id>') or setConfigValues({...}). Internally values land in configStrings: Record<string, any>, so other server-recognised keys may also work.

Prevent specific modules from starting by listing them in setDisableModules([...]) (src/settings/AffiseSettingsApi.ts:84). Values come from the AffiseModules enum (src/module/AffiseModules.ts:1-17):

  • ADSERVICE, ADVERTISING, ANDROIDID, APPSFLYER, LINK, META, NETWORK, PERSISTENT, PHONE, STATUS, SUBSCRIPTION, RUSTORE, HUAWEI, GOOGLE, TIKTOK (GOOGLE added in 1.7.8).

See modules for what each module contributes.

Affise.setSecretKey(secretKey: string) (src/index.ts:77-79) updates the secret at runtime; maps to AffiseApiMethod.SET_SECRET_KEY = "set_secret_id" (src/native/AffiseApiMethod.ts:10).