With the App Monitoring feature of App Services, you can test features or designs with a sample set of customers by incrementally rolling out configurations to a set of beta specific testers. This allows you to effectively test new features before rolling them out to all users of your app. Running a beta test with App Services also allows you to monitor app usage, network performance, and errors and crash logging for just the devices included in your beta test.
The beta test monitoring feature can also be useful for any scenario where it would be advantageous to monitor and configure a small subset of devices in your total user base.
To include a user's device in your beta test group, two steps need to be completed:
- You must write some code that accesses the unique device id and displays it to the user of the device.
- The user must report the device id to you so that you can include it in the list of devices to be included in your beta test group.
To get the device ID of a device, do the following:
The App Services SDK for iOS provides the
apigeeDeviceId method to access the user's unique device ID.
//This example assumes the name of your app delegate class is AppDelegate //First, we get an instance of our app delegate AppDelegate *appDelegate = (AppDelegate *)[ [UIApplication sharedApplication] delegate]; //Next, we get the deviceId from our ApigeeMonitoringClient class instance NSString* apigeeDeviceId = [appDelegate.monitoringClient apigeeDeviceId];
The App Services SDK for Android provides the
MonitoringClient.getApigeeDeviceId method to access the user's unique device ID.
//This example assumes your instance of the ApigeeClient class is named 'apigeeClient' //First, we get an instance of the MonitoringClient class ApigeeMonitoringClient monitoringClient = apigeeClient.getMonitoringClient(); //Next, we get the device ID String apigeeDeviceId = monitoringClient.getApigeeDeviceId();
Apigee.Client.getDeviceUUID method to access the user's unique device ID from local storage.
//This example assumes your instance of the Apigee.Client class is named 'apigeeClient' //We get the device ID using our instance of Apigee.MonitoringClient var apigeeDeviceId = apigeeClient.monitor.getApigeeDeviceId();
To apply monitoring and app-specific feature configurations to a set of users, such as those in a Beta test, do the following:
- In the App Services admin portal, select Configure > Beta Testing Configs.
- Check the Enable Device Level Overrides checkbox.
- For each device to be included in the test group, do one of the following:
- All platforms: In the Matching Apigee Device Ids field, enter the Apigee device Id for each target device (put each device Id on a separate line).
- Android only: For Android devices, you may alternately enter the telephone number of each target mobile phone in the Matching Telephone Numbers field (put each telephone number on a separate line).
- Configure the monitoring settings to be applied to your beta test group.
- Configure the app-specific features to be applied to your beta test group.
- Click Save Changes at the bottom of the menu.
The users whose devices have reverted back to the previous configuration will need to kill their app entirely (that is, not have it loaded in memory). In Android, they may need to use task killer. In iOS, they will need to close down their application.
This is necessary since in some cases, the new configuration may not have been downloaded before the initial screen of the app is displayed. As a result, the previous configuration is applied.