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. 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.
For more information about how to pick a field for the match key, see Step 5 of the "Importing an App Channel List PET" in the Mobile App Channel Configuration Guide.
Logging the external device ID through the Responsys Mobile App SDK
Advertising ID
PushIOManager.getInstance(this).setAdvertisingID( String advertisingId );
PushIOManager.getInstance(this).getAdvertisingID();
PushIOManager.getInstance(applicationContext).advertisingID = "advertisingId"
val advertisingID = PushIOManager.getInstance(applicationContext).advertisingID
External Device Tracking ID
PushIOManager.getInstance(this).setExternalDeviceTrackingID( String externalDeviceTrackingID );
PushIOManager.getInstance(this).getExternalDeviceTrackingID();
PushIOManager.getInstance(applicationContext).externalDeviceTrackingID = "externalDeviceTrackingID"
val externalDeviceTrackingID = PushIOManager.getInstance(applicationContext).externalDeviceTrackingID;
Logging device ID and API Key to an external SDK
Device ID
PushIOManager.getInstance(this).getDeviceId()
PushIOManager.getInstance(applicationContext).deviceId
API Key
PushIOManager.getInstance(this).getAPIKey()
PushIOManager.getInstance(applicationContext).apiKey