Skip to content

Android SDK Minimum Requirements

Raluca Pettinger edited this page Oct 27, 2017 · 8 revisions

The following minimum requirements are needed to utilize the Android Device Collector:

  • Min SDK API Level - 8
  • Application with the following permissions in the Android Manifest File:
    <manifest ...>
    . . .
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    . . .
    </manifest>

The <uses-permission> elements must be children of the <manifest> element. NOTE: A minimum requirement is what is required to run the software successfully.

  • To collect Geo Location and Device ID information (which is on by default), request the following permissions in the manifest:
    <manifest ...>
    <!-- This is will enhance the device ID -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- pick one of these two for Geo Location (FINE is preferred) -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    </manifest>

In order to use this SDK, the newest version of the mobile application must be downloaded. Although it is not required to activate the location service, it is highly recommended. This does not involve the actual usage of the location services. If a user turns their GPS or other Location Services off, the Android SDK will just note that the Location Service was not available.

In the Android SDK, if the user turns off Location Services or the Application does not REQUEST the correct permissions at install time in the manifest, the SDK will not use the Location Service. However, if the merchant wants to forcibly prevent Location Services from attempting to run, they can notify their Client Success Manager and request to "SKIP" that collector. This is NOT recommended, especially if the app already requests COARSE or FINE LOCATION permissions. However,these can be turned off programmatically, by adding the Enum CollectorEnum.GEO_LOCATION to the EnumSet and inserting it in the datacollectors.skipCollectors() method. See the Reference Implementation included in the SDK for examples.