SDK changelog
View the changes to the Oracle CX Advertising SDKs (formally know as the Oracle Data Cloud) including:
-
New features
-
Significant recent changes
-
Platform notices
The changelog applies to both the Android SDK and iOS SDK. Samples are provided in Swift and Objective-C.
Oracle CX Advertising SDK version 4.0.0
Oracle CX Advertising SDK rewritten in Swift
The Oracle CX Advertising iOS SDK (formally know as the Oracle Data Cloud iOS SDK) was rewritten in Swift.
New onDataPosted() callback method
-
Added a new
onDataPosted()
callback method which provides information data then previous method which only use to return success or failure status. -
Server response is returned as JSON object in new
onDataPosted()
method.
New API methods for profile creation on hashed email
The changes apply to both the Android SDK and iOS SDK. Samples are provided in Swift and Objective-C.
Swift
put(email:String?, key:String?, value:String?)
Objective-C
(void)putWithEmail:(NSString * _Nullable)email key:(NSString * _Nullable)key value:(NSString * _Nullable)value
Swift
putAll(email:String?, map:[String:[String]]?)
Objective-C
(void)putAllWithEmail:(NSString * _Nullable)email map:(NSDictionary<NSString *, NSArray<NSString *> *> * _Nullable)map
New API methods for profile creation on unique customer IDs
Swift
put(customerIdKey:String?, customerIdValue:String?, key:String?, value:String?)
Objective-C
(void)putWithCustomerIdKey:(NSString * _Nullable)customerIdKey customerIdValue:(NSString * _Nullable)customerIdValue key:(NSString * _Nullable)key value:(NSString * _Nullable)value
Swift
putAll(customerIdKey:String?, customerIdValue:String?, map:[String:[String]]?)
Objective-C
(void)putAllWithCustomerIdKey:(NSString * _Nullable)customerIdKey customerIdValue:(NSString * _Nullable)customerIdValue map:(NSDictionary<NSString *, NSArray<NSString *> *> * _Nullable)map
Changes to setting properties
Approach for setting the properties has changed. You can still set it in the previous way, but that's been deprecated. What is encouraged now is to set it via ORAAdvDataContainer
class and oracle.json. For more information, see the iOS version 4.0.0 instructions or the Android version 4.0.0 instructions.
Deprecated features
Deprecate methods
The following methods have been deprecated. The changes apply to both the Android SDK and iOS SDK. Samples are provided in Swift and Objective-C.
Swift
init(siteId:String, appVersion: String, idfa: String, devMode: Bool)
Objective-C
initDirectWithSiteId:(NSString * _Nonnull)siteId withAppVersion:(NSString * _Nonnull)appVersion withIdfa:(NSString * _Nonnull)idfa withDevMode:(BOOL)devMode
Swift
init(siteId:String, appVersion: String, devMode: Bool)
Objective-C
initDirectAutoIdfaEnabledWithSiteId:(NSString * _Nonnull)siteId withAppVersion:(NSString * _Nonnull)appVersion withDevMode:(BOOL)devMode
Swift
setViewController(view:UIViewControler)
Objective-C
setViewControler:(UIViewController *)View
Swift
update(withKey key: String, addValue value: String)
Objective-C
updateWithKey:(NSString * _Nonnull)key andValue:(NSString * _Nonnull)value
Swift
update(withDictionary dictionary: [String:String])
Objective-C
updateWithDictionary:(NSDictionary<NSString *, NSArray<NSString *> *> * _Nonnull)dictionary
Swift
optInPreference: Bool
Objective-C
setOptInPreference:(BOOL)optIn
Deprecate property setters
The following property setters have been deprecated. The changes apply to both the Android SDK and iOS SDK. Samples are provided in Swift and Objective-C.
-
Set developer mode (YES or NO)
Swift
devMode: Bool
Objective-C
@property (nonatomic) BOOL devMode;
-
Enable SDK request logging (YES or NO)
Swift
isLoggingEnabled: Bool
Objective-C
@property (nonatomic) BOOL isLoggingEnabled;
-
Set the calling application version number
Swift
appVersion: Bool
Objective-C
@property (nonatomic) NSString *appVersion;
-
Initialization via WebView - the SDK does not have initialization via WebView. In a future release, these properties will be removed.
Swift
viewController: UIViewController
Objective-C
@property (nonatomic) NSString *viewController;
-
Use HTTPS - the SDK will always use HTTPS, regardless of the value passed in this property. In a future release, these properties will be removed.
Swift
useHttps: UIViewController
Objective-C
@property (nonatomic) NSString useHttps;