IMEI plugin integration

Important:
This plugin is only meant for apps that are not targeting the Google Play Store.

Mobile devices come with an International Mobile Equipment Identity (IMEI) and a Mobile Equipment Identifier (MEID). You can use an Android device's IMEI and MEID for attribution in certain markets. To use this feature, you first need to complete the required steps in your Adjust dashboard. Once you have completed the steps, you can use this plugin.

The IMEI plugin provides the IMEI and MEID values of a device. The SDK will continue to use other identifiers as well as the IMEI and MEID.

Before you use this plugin, make sure to follow the get started guide and integrate the Adjust SDK into your app. See the React Get Started Guide for React settings.

Add IMEI plugin to your app

Maven

Add as JAR

Add permission

Ensure the following permission is present in your AndroidManifest.xml file. Add it if it is not.

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

As of Android 6.0 you may need to request app permission. This is not necessary if the OS has been set up to not require app permissions.

Proguard settings

If your app is not targeting the Google Play Store, you do not need to add all the rules set out in the get started guide. You can remove rules related to Google Play Services and install referrer libraries. You only need to keep the rules that apply to the Adjust SDK.

-keep public class com.adjust.sdk.** { *; }

Use the plugin

Important:
The IMEI and MEID are persistent identifiers. You are responsible for ensuring that your collection and processing of this data is lawful.

Once you have set up the plugin, you can gather the device's IMEI and MEID. To do this, call the AdjustImei.readImeie method before starting the Adjust SDK.

JavaAndroid
C#Unity
AdjustImei.readImei();
// ...
Adjust.onCreate(config);

If you want to prevent the SDK from reading the IMEI and MEID, call the AdjustImei.doNotReadImei method.

JavaAndroid
C#Unity
AdjustImei.doNotReadImei();