Multiple Responsys account Apps
App developers can associate a single app with multiple Responsys accounts. If you have multiple Responsys accounts (each possibly corresponding to a separate brand, organization, or geographic region), but have a single app, you can configure and use the same app for each of your Responsys accounts.
NOTES:
-
This feature is available under our Controlled Availability program. To request access to this feature, please contact your Customer Success Manager or log in to My Oracle Support and create a service request.
-
Your organization's mobile apps must be built with the 19B Responsys Push SDK (version 6.41.0) or greater.
Getting Started
If you already have multiple Responsys accounts, this topic will guide you through how to associate a single app between those accounts.
Step 1: Add your app to each Responsys account
Your app needs to be associated with each Responsys account. Ensure that the same iOS and Android credentials are configured for the app in each account.
[1.1] Log in to your Responsys account and navigate to the Mobile App Console.
[1.2] Find your app and click Edit. If you are creating the app for the first time, see Manage Apps and Platforms for instructions.
[1.3] Under Multiple Responsys Account, select Yes.
[1.4] Repeat these steps for each Responsys account for which you want to associate with the app.
Step 2: Download configuration files
You must download and bundle the configuration files from each Responsys account with your app.
[2.1] Log in to your Responsys account and navigate to the Mobile App Console.
[2.2] Find your app and click Edit. If you are creating the app for the first time, see Manage Apps and Platforms for instructions.
[2.3] Click the Platform link on the left-side navigation bar. The Platform page is displayed.
[2.4] Locate the platform for which you want to download the files, and then click Download. A menu list is displayed.
[2.5] Select pushio_config.json
. The file will download.
[2.6] Bundle the file with your app.
[2.7] Repeat these steps for each Responsys account for which you want to associate with the app.
Step 3: Implement Responsys Push SDK APIs
Apps must maintain a mapping of the app configurations (different configurations might include geography, brand, or organization) to the “Responsys Account Configuration Profile”. The app will then invoke the Responsys SDK APIs for these scenarios.
-
When an app user installs the app, the app must use the Responsys Push SDK APIs to initialise the app configuration to a specific geography, brand, or organization. Thereby tying the app to a Responsys account.
-
Whenever an app user switches the app's configuration (geography, brand, or organization) the app must use the Responsys Push SDK APIs to re-configure the app to a new configuration, thereby dis-associating the app from the current account and tying the app to a new Responsys account.
The SDK APIs that enable these operations are detailed below.
Configuration APIs
The SDK provides several configure()
and configureAndRegister()
APIs for app developers to setup the SDK without using the pushio_config.json
file.
boolean configure (String apiKey, String accountToken, String senderId, String conversionUrl, String riAppId, String accountName)
void configureAndRegister (String apiKey, String accountToken, String senderId, String conversionUrl, String riAppId, String accountName)
Where accountName
is a new parameter added to the pushio_config.json
file that indicates the account name used for logging into Responsys.
If you choose to have the SDK configured via pushio_config.json
, you are required to provide the file name of the config file.
boolean configure (String fileName) throws Exception
void configureAndRegister (String fileName) throws Exception
Where fileName
is the name of the config file. If the file is not found, an Exception/Error will be thrown.
NOTES:
-
The SDK will try to find the given file, parse it and initialize the SDK.
-
If the new
apiKey
andaccountToken
(provided via API or discovered in the config file) are found to be different than the stored ones, then the SDK will be reset. -
It is important to note that the
configureXX()
API calls are atomic. So, should the reset or re-initialization process fail for any reason, the SDK should be able to go back to the last successful configuration.
SDK Reset
The SDK will make a Responsys unregistration API call (PushIOManager.unregisterApp())
once the configureXX()
API calls return successfully. SDK reset should happen once the Responsys unregistration API call returns successfully.
Excluded from SDK Resets
The PIOConfigurationManager
maintains a list of excluded items that are not to be removed during a SDK reset.
installed_at // Install Time
uuid // Device ID
pushio_data_migrated // Data migration flag
user_id // User ID
// Push permission and other related (pmr) values
In addition to the above keys, the SDK will also not reset:
-
Message Center messages
-
Preferences