The Open Anonymous Device Identifier (OAID) is a unique identifier for Android devices. The Mobile Security Alliance (MSA) recommends all Chinese-manufactured devices provide an OAID. You can use the OAID to attribute and measure devices where Google Play Services isn’t available.
The OAID plugin provides the OAID of a device. The SDK will continue to use other identifiers as well as the OAID. The OAID is readable on all devices using the MSA SDK or Huawei Mobile Service (HMS) Core SDK on Huawei devices.
Add the plugin to your app
Maven
If you are using Maven, add the following dependency to your build.gradle
file:
For Huawei OAID measurement, you must add a developer repository and additional dependencies.
- Add the following to your project’s
build.gradle
file:
- Add the following to your app-level
build.gradle
file:
Install standalone binary
You can also add the plugin as a standalone binary from the releases page.
Add the MSA SDK to your app
Requirements
To enable the OAID plugin to read OAID values from the MSA SDK, you need to add it to your project. To do this:
- Copy the MSA SDK (AAR file) to the
libs
directory of your project and set the dependency. - Copy the
supplierconfig.json
file to theassets
directory of your project. - You can find the MSA SDK and detailed instructions at the MSA website.
Add the HMS Core SDK to your app
You can use the HMS Core SDK to access the OAID of Huawei devices. To enable the Adjust OAID plugin to read values from the HMS Core SDK, update your build.gradle
as follows:
- Add the Huawei maven repository.
- Add the HMS Core SDK.
Proguard settings
If your app isn’t targeting the Google Play Store, you don’t need to add all the rules set out in the Android 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.
If you are adding the MSA SDK AAR as a dependency, add the following rules:
Use the plugin
Once you have set up the plugin, you can gather the device’s OAID. To do this, call the AdjustOaid.readOaid(applicationContext)
method before starting the Adjust SDK.
If you want to prevent the SDK from reading the OAID, call the AdjustOaid.doNotReadOaid()
method.