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 for storing 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 you prefer to prioritize efficiency and reliability, you 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.
| 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.
| 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, you 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.
With this approach, you can gain full control over content freshness, ensuring that the latest data is always reflected in their applications. If real-time data is unavailable at the time of the request, the specified default value will be returned to maintain a smooth user experience.
Get string data
This method allows you to retrieve a string.
| 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.
| 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 an integer.
| 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);