Suggested readings: App Content Optimizer, Use Cases for App Content Optimizer
The following methods are required to create variables for App Content Optimizer depending on the data type.
Retrieving Content with Stored Data
The Content Optimizer feature provides methods that store the last retrieved data on the device. When using these methods, the SDK retrieves and returns the most recently fetched value, reducing the need for repeated network requests. This approach enhances performance and ensures consistent content availability across sessions.
If prefer to prioritize efficiency and reliability can use these methods to maintain seamless content delivery without requiring a fresh data request each time.
Get string data
This method allows you to retrieve a string type of data.
| Parameter | Type |
|---|---|
| variableName | String |
| defaultValue | String |
| dataType | ContentOptimizerDataType |
Method Signature
getContentStringWithName(variableName: string, defaultValue: any, contentOptimizerDataType: number): Promise <any>;Method Example
window.Insider.getContentStringWithName('string_variable_name', 'defaultValue', Insider.contentOptimizerDataType.ELEMENT);Get boolean data
This method allows you to retrieve a boolean type of data.
| Parameter | Type |
|---|---|
| variableName | String |
| defaultValue | Boolean |
| dataType | ContentOptimizerDataType |
Method Signature
getContentBoolWithName(variableName: string, defaultValue: boolean, contentOptimizerDataType: number): Promise <any>;Method Example
await window.Insider.getContentBoolWithName('bool_variable_name', true, Insider.contentOptimizerDataType.ELEMENT);Get integer data
This method allows you to retrieve integer type of data.
| Parameter | Type |
|---|---|
| variableName | String |
| defaultValue | Integer |
| dataType | ContentOptimizerDataType |
Method Signature
getContentIntWithName(variableName: string, defaultValue: number, contentOptimizerDataType: number): Promise <any>;Method Example
await window.Insider.getContentIntWithName('int_variable_name', 10, Insider.contentOptimizerDataType.ELEMENT);Retrieving Content Without Stored Data
For use cases that require real-time content updates can use alternative methods that always request the latest data from the backend instead of using stored values. These methods ensure that the most up-to-date information is retrieved at the time of request, making them ideal for time-sensitive campaigns or dynamic content updates.
By using this approach, gain full control over content freshness, ensuring that the latest data is always reflected in their applications. If real-time data is not available at the time of the request, the specified default value will be returned, maintaining a smooth user experience.
Get string data
This method allows you to retrieve a string type of data.
| Parameter | Type |
|---|---|
| variableName | String |
| defaultValue | String |
| dataType | ContentOptimizerDataType |
Method Signature
getContentStringWithoutCache(variableName: string, defaultValue: any, contentOptimizerDataType: number): Promise <any>;Method Example
await window.Insider.getContentStringWithoutCache('string_variable_name', 'defaultValue', Insider.contentOptimizerDataType.ELEMENT);Get boolean data
This method allows you to retrieve a boolean type of data.
| Parameter | Type |
|---|---|
| variableName | String |
| defaultValue | Boolean |
| dataType | ContentOptimizerDataType |
Method Signature
getContentBoolWithoutCache(variableName: string, defaultValue: boolean, contentOptimizerDataType: number): Promise <any>;Method Example
await window.Insider.getContentBoolWithName('bool_variable_name', true, Insider.contentOptimizerDataType.ELEMENT);Get integer data
This method allows you to retrieve integer type of data.
| Parameter | Type |
|---|---|
| variableName | String |
| defaultValue | Integer |
| dataType | ContentOptimizerDataType |
Method Signature
getContentIntWithoutCache(variableName: string, defaultValue: number, contentOptimizerDataType: number): Promise <any>;Method Example
await window.Insider.getContentIntWithName('int_variable_name', 10, Insider.contentOptimizerDataType.ELEMENT);