Hey Urban Airship Support Team,

I have seen that your documentation says: "Because the Android and Amazon platforms are so similar, you won’t need to tailor your transport settings specifically to either host. The SDK will automatically detect the device’s operating system and use the correct transport at runtime."

Why only at runtime? Is there any chance I can deactivate other services? I am currently using the GCM service on Android and I don't want the Amazon Service. Why do you add the permission in the Android manifest? I don't need them. => This leads to new permissions in my application, and therefore the automatic update for the app is not possible anymore. (Becuase of new permissions => amazon permissions)

<uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE"/>
<permission android:name="com.ruxit.mobile.enterprise.permission.RECEIVE_ADM_MESSAGE" android:protectionLevel="signature"/>
<uses-permission android:name="com.ruxit.mobile.enterprise.permission.RECEIVE_ADM_MESSAGE"/>

Is there any chance I can turn this behavior off? I am currently trying to modify the manifest after your dependency is adding the permission in the manifest. I don't understand why you do this? This is absolutely unnecessary. 

Didn't find what you were looking for?

New post


1 comment

  • Hi Matthias,

    You won't need to modify the permissions or the manifest files.

    In order to support both GCM/FCM and ADM in one SDK, the Urban Airship Android SDK performs manifest merging. So, as you've likely seen, we merge all of the necessary permissions that are needed for Urban Airship into the manifest so that you don't need to worry about adding additional permissions in your manifest. It makes for a simpler integration this way.

    So, all this happens at runtime, and yes, the ADM permissions will be included into the manifest at this time. Again, this is so ADM can be supported within the SDK, if you choose integrate that platform.

    Now, this does not mean that ADM permissions will be included with your Android app. Android devices will use the necessary permissions that are required for GCM/FCM, and any ADM permissions will be ignored, since they cannot be used on Android devices.

    So, even though you are not integrating ADM, your Android devices only use the permissions meant for them. They do not use permissions for other platforms, such as ADM, so you don't need to touch a single thing in your app to change this. It handles all that logic for you.

    Comment actions Permalink

Please sign in to leave a comment.