diff --git a/examples/audience/Assets/Plugins/Android/mainTemplate.gradle b/examples/audience/Assets/Plugins/Android/mainTemplate.gradle
index 795cadd4d..3558a761f 100644
--- a/examples/audience/Assets/Plugins/Android/mainTemplate.gradle
+++ b/examples/audience/Assets/Plugins/Android/mainTemplate.gradle
@@ -22,6 +22,12 @@ apply plugin: 'com.android.library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
**DEPS**
+ // Google Play Install Referrer Library, resolved from Maven (the Audience
+ // package no longer bundles it as an .aar - it conflicted with other SDKs).
+ // EDM4U projects get it automatically from ImmutableAudienceDependencies.xml;
+ // this sample has no EDM4U, so it declares the dependency manually.
+ implementation 'com.android.installreferrer:installreferrer:2.2'
+
// Uncomment to enable GAID collection (requires AUDIENCE_MOBILE_ATTRIBUTION
// scripting define + AudienceConfig.EnableMobileAttribution). Without this
// line the SDK still builds and runs, but `gaid` / `gaidLimitAdTracking`
diff --git a/src/Packages/Audience/Editor/ImmutableAudienceDependencies.xml b/src/Packages/Audience/Editor/ImmutableAudienceDependencies.xml
new file mode 100644
index 000000000..795855d1d
--- /dev/null
+++ b/src/Packages/Audience/Editor/ImmutableAudienceDependencies.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ https://maven.google.com
+
+
+
+
diff --git a/src/Packages/Audience/Editor/ImmutableAudienceDependencies.xml.meta b/src/Packages/Audience/Editor/ImmutableAudienceDependencies.xml.meta
new file mode 100644
index 000000000..cc144bdd1
--- /dev/null
+++ b/src/Packages/Audience/Editor/ImmutableAudienceDependencies.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9d07b68218d6495c87d75e4db65d7b7b
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/Audience/README.md b/src/Packages/Audience/README.md
index 936bdb801..57fa92b71 100644
--- a/src/Packages/Audience/README.md
+++ b/src/Packages/Audience/README.md
@@ -47,17 +47,29 @@ Press Play; `ImmutableAudience.Initialized` returns `true` and `AnonymousId` bec
- Integration guide and API reference:
- Sample Unity project: [`examples/audience`](https://github.com/immutable/unity-immutable-sdk/tree/main/examples/audience)
-## Vendored dependencies
+## Android dependencies
-The package vendors prebuilt third-party AARs for mobile attribution. They are only included in your build when the corresponding scripting define is set; without the define they're stripped via `defineConstraints` on the plugin meta files.
+Mobile install attribution (the `AUDIENCE_MOBILE_ATTRIBUTION` define) needs the Google Play Install Referrer Library. The package does **not** bundle it as a prebuilt `.aar` — bundled AARs can't be de-duplicated by Gradle, so shipping `installreferrer-2.2.aar` directly caused class/version conflicts when a game already pulled in the same library via another SDK. Instead it's resolved from Maven:
-| File | Version | Source | Required define |
-| --- | --- | --- | --- |
-| `Runtime/Plugins/Android/installreferrer-2.2.aar` | 2.2 | [maven.google.com](https://maven.google.com/web/index.html#com.android.installreferrer:installreferrer:2.2) | `AUDIENCE_MOBILE_ATTRIBUTION` |
+| Dependency | Version | Source |
+| --- | --- | --- |
+| `com.android.installreferrer:installreferrer` | 2.2 | [maven.google.com](https://maven.google.com/web/index.html#com.android.installreferrer:installreferrer:2.2) |
-`Runtime/Plugins/Android/proguard-user.txt` ships explicit R8 keep rules for the Install Referrer Library. Unity's gradle build merges it automatically when the AAR is included.
+**With [EDM4U](https://github.com/googlesamples/unity-jar-resolver) (recommended):** no action needed. `Editor/ImmutableAudienceDependencies.xml` declares the dependency and EDM4U's Android Resolver fetches it, resolving any version conflict with other SDKs to a single highest version. Install EDM4U as a project prerequisite — do not embed a second copy.
-Before tagging a release, check `maven.google.com` for newer versions of any vendored dependency and bump the pinned filename if needed.
+**Without EDM4U:** add the dependency to your `Assets/Plugins/Android/mainTemplate.gradle`:
+
+```gradle
+dependencies {
+ implementation 'com.android.installreferrer:installreferrer:2.2'
+}
+```
+
+`Runtime/Plugins/Android/proguard-user.txt` ships explicit R8 keep rules for the Install Referrer Library; Unity's gradle build merges them regardless of how the dependency is resolved.
+
+`play-services-ads-identifier` (GAID) is intentionally left for the studio to add, so games that don't collect the advertising ID never declare the `AD_ID` permission.
+
+Before tagging a release, check `maven.google.com` for a newer version and bump the pinned version above and in `ImmutableAudienceDependencies.xml` if needed.
## License
diff --git a/src/Packages/Audience/Runtime/Plugins/Android/installreferrer-2.2.aar b/src/Packages/Audience/Runtime/Plugins/Android/installreferrer-2.2.aar
deleted file mode 100644
index ea4f702e5..000000000
Binary files a/src/Packages/Audience/Runtime/Plugins/Android/installreferrer-2.2.aar and /dev/null differ
diff --git a/src/Packages/Audience/Runtime/Plugins/Android/installreferrer-2.2.aar.meta b/src/Packages/Audience/Runtime/Plugins/Android/installreferrer-2.2.aar.meta
deleted file mode 100644
index 4dd39c72f..000000000
--- a/src/Packages/Audience/Runtime/Plugins/Android/installreferrer-2.2.aar.meta
+++ /dev/null
@@ -1,33 +0,0 @@
-fileFormatVersion: 2
-guid: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
-PluginImporter:
- externalObjects: {}
- serializedVersion: 2
- iconMap: {}
- executionOrder: {}
- defineConstraints:
- - AUDIENCE_MOBILE_ATTRIBUTION
- isPreloaded: 0
- isOverridable: 1
- isExplicitlyReferenced: 0
- validateReferences: 1
- platformData:
- - first:
- Android: Android
- second:
- enabled: 1
- settings: {}
- - first:
- Any:
- second:
- enabled: 0
- settings: {}
- - first:
- Editor: Editor
- second:
- enabled: 0
- settings:
- DefaultValueInitialized: true
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/src/Packages/Audience/Runtime/Plugins/Android/proguard-user.txt b/src/Packages/Audience/Runtime/Plugins/Android/proguard-user.txt
index fad7cf61b..64f37cf29 100644
--- a/src/Packages/Audience/Runtime/Plugins/Android/proguard-user.txt
+++ b/src/Packages/Audience/Runtime/Plugins/Android/proguard-user.txt
@@ -1,6 +1,7 @@
# Keep Google Play Install Referrer Library symbols.
#
-# The AAR (installreferrer-2.2.aar) ships consumer rules in
+# The installreferrer AAR (resolved from Maven via EDM4U or a manual gradle
+# dependency - see README) ships consumer rules in
# META-INF/com.android.tools/proguard/proguard.txt and Unity's gradle build
# auto-merges them, but R8 fullMode in Unity 2022.3+ has been observed to
# discard merged consumer rules in some studio configurations. These