Oracle CX Advertising SDK 4.0

  1. Bluekai SDK rewritten in Swift
  2. Added a new onDataPosted() callback method which provides information data then previous method which only use to return success or failure status.
  3. 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.

  4. Server response is returned as JSON object in new onDataPosted() method.
  5. 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;
    
  6. 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;
    
  7. 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
    
  8. 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