Migrate Android SDK to version 3.8.5

When migrating the app to the latest Android version, complete the following basic steps:

  1. Replace the existing .aar files with the new .aar files.
  2. Update the code that syncs inbox/in-app messages if using our inbox plugin if you are upgrading from SDK 3.8.1 or lower. For more information, go here.
  3. Replace any plugin source/binaries you use with our SDKs, such as our inbox or in-app plugins.
  4. Clean and rebuild.

Add permissions to your app

In previous versions of Android SDK, we included and merged the permissions for locations to your app by default. With the Android SDK version 3.8.5, we have removed these permissions from the SDK manifest so you can control the permissions you add to your app.

If you have locations enabled, complete the following steps:

  1. To use locations, add the following permissions. BLUETOOTH and BLUETOOTH_ADMIN are only needed if you use beacons. On later versions of Android, you also need to request these permissions explicitly from the user. For more information, see Requesting location permissions on Android section.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
  1. Add the following services. If you don't use beacons, don't add the last two lines for MceBluetoothScanner and BeaconsVerifier services.
<service android:name="co.acoustic.mobile.push.sdk.location.LocationRetrieveService" />
<service android:name="co.acoustic.mobile.push.sdk.location.LocationEventsIntentService" />
<service android:name="co.acoustic.mobile.push.sdk.location.LocationSyncAlarmListener" />
<receiver android:name="co.acoustic.mobile.push.sdk.location.LocationUpdateCaller" />

<service android:name="co.acoustic.mobile.push.sdk.beacons.MceBluetoothScanner" />
<service android:name="co.acoustic.mobile.push.sdk.beacons.BeaconsVerifier" />
  1. If you send simple pushes that include the dial action, you will need to add the following permission to your manifest:
<!-- CALL_PHONE is optional. It is only required is the dial action is used -->
<uses-permission android:name="android.permission.CALL_PHONE" />