Importing external device data
Many mobile app users do not sign up and provide profile data. This makes it difficult to create marketing campaigns that are of interest to the recipients. Responsys enables Marketers to enhance the information about unknown device users by importing device-based mobile analytics data.
To implement this, Responsys users can use the instructions in the "Using an App Channel List PET for mobile app behavioral targeting" section in the Mobile App Channel Configuration Guide. Refer to the document for more information about this topic.
There are two main items with which they must coordinate with Mobile App Developers:
[1] Which option will you use to import external device data into Responsys? Mobile App Developers need to share this information with the Responsys users, because it determines the type of match key the Responsys users will set for the import job.
-
Will the external device ID be logged through Responsys? Every mobile-aware external SDK also has the concept of a Device ID. You should be able to log the external Device ID as “External Device Tracking ID” within your mobile app code. Your mobile app should do this as part of a new device registration and for subsequent device registration updates.
-
Will the Responsys Device ID and API Key be logged through an external SDK? You should be able to get the Oracle Responsys Mobile App Platform Cloud Service SDK’s Device ID and API Key and log that with every user interaction. For example, when the user views a product, adds a product to the wish list, and the like, your mobile app should get the Responsys Device ID and API Key and log that as part of the interaction.
[2] What match key will they use to import the external data? If they are logging an external device ID through Responsys, they must choose one of the following App Channel List fields:
-
RIID_: This is the unique App Channel List Recipient ID for the device (not the Profile Record) and it is logged for all activities. Marketers might use this when they have data from an internal system of record.
-
ADVERTISERID: This is the unique, platform-specific advertiser ID for the device. Depending on the platform, it is either the IDFA or the Google AD ID. We do not recommend using this as a match key to import into the App Channel List PET when an account has more than one app using the same App Channel List. Because ADVERTISERID is unique for a device, there will be a conflict when a device has installed more than one app from the same account. Also, device users can reset the Advertiser ID and generate a new one at any time, so there is no guarantee that this value will remain unchanged.
-
EXT_DEVICE_TRACKINGID: This field may contain data captured by other SDKs, such as external analytics data about a device. This ID represents the unique Device ID of an external system. Using the Mobile App SDK, you can log this during the first device registration and subsequent device registration updates.
Logging the external device data through the Responsys Mobile App SDK
You can use the console log to find out the edti
value provided by application (where externaldevicetrackingvalue is the edti value):
Registration event data: {
appv = "6.37.0.4";
cr = 40444;
d = 2;
di = "798C34AB-FE5C-4A6E-A0BF-8C936C3D0276";
edti = externaldevicetrackingvalue;
h = 1334;
ins = 1523518239;
l = "en-IN_IN";
libv = "6.37.0.0";
mf = Apple;
mod = "iPhone9,3";
osv = "11.3";
tz = "Asia/Kolkata";
utc = 19800;
w = 750;
}
Set logging on (PIOLogLevelVerbose recommended during development) to print the SDK log to the device console, as described in Debugging & Logging. You can filter the log by "PushIOManager", as shown:
[PushIOManager] -[PIORegistrationManager getRegisterContextData] Registration event data: {
appv = "6.37.0.0";
cr = 40444;
d = 2;
di = "CF19FF08-06A6-42D1-9B52-C7DF6A9A01EA";
dt = 057c444f673a60ff649a2aec166bff0c155f2b931785166a4ce10454dce0e613;
h = 1334;
ins = 1519719421;
l = "en-IN_IN";
libv = "6.35.0";
mf = Apple;
mod = "iPhone9,3";
osv = "11.3";
pmr = "{updates,badges,sounds,alerts,actions}";
tz = "Asia/Kolkata";
utc = 19800;
w = 750;
}
Advertising ID
Set
To set AdvertisingIdentifier
, use the following, where AdvertisingIdentifierValue
is the IDFA for the device:
[[PushIOManager sharedInstance] setAdvertisingIdentifier:@"AdvertisingIdentifierValue"];
PushIOManager.sharedInstance().advertisingIdentifier = "AdvertisingIdentifierValue";
Get
To get AdvertisingIdentifier
:
[PushIOManager sharedInstance].advertisingIdentifier
PushIOManager.sharedInstance().advertisingIdentifier
External Device Tracking ID
Set
To set the External Device Tracking ID, use the following:
[[PushIOManager sharedInstance] setExternalDeviceTrackingID:@"externalDeviceTrackingIDValue"];
PushIOManager.sharedInstance().externalDeviceTrackingID = "externalDeviceTrackingIDValue"
Get
To get the External Device Tracking ID:
[[PushIOManager sharedInstance] externalDeviceTrackingID];
PushIOManager.sharedInstance().externalDeviceTrackingID
Logging device ID and API Key to an external SDK
To get the Device ID:
NSString *deviceID = [[PushIOManager sharedInstance] getDeviceID];
let deviceID = PushIOManager.sharedInstance().getDeviceID()
To get the API Key:
NSString *apiKey = [[PushIOManager sharedInstance] getAPIKey];
NSString *apiKey = [[PushIOManager sharedInstance] getAPIKey];