MDM configuration for AxA
search cancel

MDM configuration for AxA

book

Article ID: 240735

calendar_today

Updated On:

Products

CA Application Experience Analytics SaaS (AXA)

Issue/Introduction

We need some direction on configuration of native iOS app for AXA via MDM settings.

One of our applications is using MDM for auto deploy. However, when they do the deploy with AxA flag enabled with the AXA settings (Profile/base/upload URLS) the SDK is still trying to use the plist file.

This is a native iOS app. This is the first ENV/app we’ll be using this type of configuration. we are using DX AxA SAAS.

We tested with the prod MDM settings and the non-prod plist file under the project support files and the data was sent to non-prod tenant. If we remove the file completely then we had a build error and had a unsupported URL when we kept the cameo plist empty that’s how we deduced that the SDK was using the plist instead of the MDM settings.

Environment

Release : SAAS

Component : CA APP EXPERIENCE ANALYTICS SAAS

Resolution

The officially supported configuration (without the use of plist file): 

We already documented this in the SDK header file CAMDOReporter.h as well as in online document.

https://techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/app-experience-analytics/19-1/using/using-apis/ios-custom-apis.html#concept.dita_28b4442624ac31bc16205183f72a89dc105a25c5_InitializeSDK

For iOS, we have an option to initialize the SDK with configuration details without adding the _camdo.plist file in the project as we have declared in CAMDOReporter.h file.

/**

 * Initializes the SDK.

 * This call should be made as early as possible in the application life cycle.

 * Typically, it is made at the beginning of didFinishLaunchingWithOptions in the Application delegate class

 *

 * @param options of the type SDKOptions

 * @param configDetails This should be of the type NSDictionary. This should be the content of the CAMAA plist

 * @param completionBlock is a standard (BOOL completed, NSError *error)block

 *

 * Successful execution of the method will have completed as YES and the error object is nil

 * In case of failure, completed is set to NO and error will have an NSError object with

 * domain, code and localizedDescription.

 */

+ (void) initializeSDKWithOptions:(SDKOptions) options configDetails:(NSDictionary *)configDetails completionHandler:(void(^)(BOOL completed, NSError *error)) completionBlock;

You can get the config details from MDM settings and pass that dictionary to this API.

Managed app configuration changes pushed down from an MDM server appear in NSUserDefaults. So we need to add a Notification Center observer to be alerted of any change to NSUserDefaults and we can read the details through managed UserDefaults with the key com.apple.configuration.managed once the notification is received.
 
Check with your App DEV team, if they could able to get the MDM config properties before initializing the AxA SDK, if they can get those, then they can send those config properties to initialiseSDKWithOptions::configDetials API.