Skip to content

Include Android

Denis edited this page Mar 15, 2021 · 31 revisions

⚡ Before you start
Make sure you have correctly setup project settings.


The Clever Ads Solutions Unity plugin is distributed with the EDM4U library. This library is intended for use by any Unity plugin that requires access to Android specific libraries (e.g., AARs) or iOS CocoaPods. It provides Unity plugins the ability to declare dependencies, which are then automatically resolved and copied into your Unity project.

Configure Gradle

Using EDM4U, you will be able to avoid downloading the Android artifacts into your project. Instead, the artifacts will be added to your gradle file during the compilation. To enable this process, follow these steps:

  1. Go to: Player Settings > Publishing Settings > Build
  2. Select Custom Main Gradle Template checkmark to configure dependencies.

For Unity 2019.3+:

  1. Select Custom Launcher Gradle Template checkmark to enable MultiDEX.
    You can read more about MuliDex on the Android Deleveloper page.
  2. Select Custom Base Gradle Template checkmark to update Gradle plugin with fix support Android 11.
    You can read more about fix Gradle plugin with support Android 11 on the Android Deleveloper page.
  3. Select Custom Gradle Properties Template to use Jetfier by EDM4U.

Configure Unity External Dependency Manager

  1. Go to: Assets > External Dependency Manager > Android > Settings
  2. Select Patch mainTemplate.gradle checkmark
  3. Select Use Jetfier checkmark
  4. Save your changes, by pressing OK

In the Unity editor, select Assets > External Dependency Manager > Android Resolver > Resolve. The Unity External Dependency Manager library will append dependencies to mainTemplate.gradle of your Unity app.

Update AndroidManifest permissions

Add the following permissions to your Assets/Plugins/Android/AndroidManifest.xml file inside the <manifest> tag but outside the <application> tag:

<manifest>
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>

Optional Permissions

This permission is used for certain ads that vibrate during play. This is a normal level permission, so this permission just needs to be defined in the manifest to enable this ad feature.

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

This permission is used for certain ads that allow the user to save a screenshot to their phone. Note that with this permission on devices running Android 6.0 (API 23) or higher, this permission must be requested from the user. See Requesting Permissions for more details.

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

This permission is not a mandatory permission, however, including it will enable accurate ad targeting.

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

Some SDK may require a default permission, so please use the following lines to limit it.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove"/>

If you do not find the manifest file Plugins/Android/AndroidManifest.xml, you can take it from the example.
Or Unity 2019.3+ makes it possible to activate in Player Settings > Publishing Settings > Build > Custom Main Manifest checkmark.


What’s Next?

Clone this wiki locally