Oracle CX Advertising SDK 4.0
- Bluekai SDK rewritten in Swift
- Added a new
onDataPosted()
callback method which provides information data then previous method which only use to return success or failure status. - Support for GDPR (TCF v2) is implemented.
Note:
It is the responsibility of implementing app to implement & get GDPR consent before initiating Bluekai SDK. If the GDPR consent is given the SDK once initiated will read the vaue & send it to Oracle Data Cloud, if there is no consent given on GDPR pop-up, SDK will not make call to Oracle Data Cloud or show ATT pop-up in case of iOS. - Server response is returned as JSON object in new
onDataPosted()
method. New API methods for profile creation on hashed email.
swift put(email:String?, key:String?, value:String?) objective-c putWithEmail:(NSString * _Nullable)email key:(NSString * _Nullable)key value:(NSString * _Nullable)value; --------- swift putAll(email:String?, map:[String:String]?) objective-c putAllWithEmail:(NSString * _Nullable)email map:(NSDictionary<NSString *, NSString *> * _Nullable)map;
New API methods for profile creation on unique customer id’s.
swift put(customerIdKey:String?, customerIdValue:String?, key:String?, value:String?) objective-c 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 putAllWithCustomerIdKey:(NSString * _Nullable)customerIdKey customerIdValue:(NSString * _Nullable)customerIdValue map:(NSDictionary<NSString *, NSString *> * _Nullable)map;
Below methods are deprecated:
swift init(siteId: String, appVersion: String, idfa: String, devMode: Bool) objective-c initDirectWithSiteId:(NSString *)siteID withAppVersion:(NSString *)version withIdfa:(NSString *)idfa withUserAgent:(NSString *)userAgent withDevMode:(BOOL)devMode --------- swift init(siteId: String, appVersion: String, devMode: Bool) objective-c initDirectAutoIdfaEnabledWithSiteId:(NSString *)siteID withAppVersion:(NSString *)version withDevMode:(BOOL)devMode --------- swift setViewController(view:UIViewController) objective-c setViewController:(UIViewController *)view --------- swift update(withKey key: String, andValue value: String) objective-c updateWithKey:(NSString *)key andValue:(NSString *)value -------- swift update(withDictionary dictionary: [String:String]) objective-c updateWithDictionary:(NSDictionary *)dictionary --------- swift optInPreference: Bool objective-c setOptInPreference:(BOOL)optIn
Approach for setting the properties has been 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. Refer Installation guide.
Deprecated properties setter:
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: String
objective-c
@property (nonatomic) NSString *appVersion;
Set BlueKai site id
swift
siteId: String
objective-c
@property (nonatomic) NSString *siteId;
Not needed because we don’t have SDK initialisation via WebView. In future release, it will be removed.
swift
viewController: UIViewController
objective-c
@property (nonatomic) UIViewController *viewController;
Oracle CX Advertising SDK is always going to use Https, irrespective of value being passed. In future release, it will be removed.
swift
useHttps: Bool
objective-c
@property (nonatomic) BOOL useHttps