Closed rsodre closed 4 years ago
Hi @rsodre
I downloaded Admob 5.1.0 and try Android Resolver, and I did not see com.unity3d.ads.unity-ads-3.4.2.aar
under Assets/Plugin/Android
folder.
Besides, Unity Ads package does not really utilize Android Resolver at all so it cannot take that into consideration.
Could you try the latest Admob package and see if that resolves your issue?
Thank you, Shawn
Sorry, I forgot to mention I also use AdMob mediation, with Unity Ads as an active source.
I can confirm it's the resolver who's downloading the unity ads libs, because if I turn off resolver before build, it's not downloaded.
I see what you mean. https://github.com/googleads/googleads-mobile-unity/blob/v5.1.0/mediation/UnityAds/source/plugin/Assets/GoogleMobileAds/Editor/UnityMediationDependencies.xml#L3
I am not familiar with how mediation works and whether it is designed to work with Unity Ads package. Could you file a bug through their channel? It is apparent that Admob Unity Ads mediation need to find some solution for this. https://github.com/googleads/googleads-mobile-unity/issues
And to reiterate, Android Resolver can only handle packages following Android Resolver standard, which is that Dependencies.xml file, and apparently Unity Ads is not. As a result, it cannot take those .aar
files in Unity Ads package into consideration.
Since this is a scenario that is out of our control, I would recommend you for the following approaches (either one):
.aar
files. This means you need to remove redundant files when you try to resolve dependency but you probably only need to do so once when you install new packages.Hope this helps. Shawn
And to reiterate, Android Resolver can only handle packages following Android Resolver standard, which is that Dependencies.xml file, and apparently Unity Ads is not. As a result, it cannot take those .aar files in Unity Ads package into consideration.
It's not clear to me if it's possible for the Resolver to identify a lib from an installed package. If it can, I agree that the AdMob plugin is failing to find it, and I will open an issue there. But if it can't, the Resolver has a flaw, because that's where plugins and packages are supposed to be from now on. It should be able to find dependencies there too.
On my project, here's where the project's lib is installed...
@rsodre
And again, it is out of our control to ask Unity to follow EDM4U's standard to resolve Android dependencies. If those loose .aar
is not documented in a way, ex. Dependencies.xml, that EDM4U can recognized, there is very limited thing that this plugin can do.
Since this is an open-source project and used by many company other than Google, we welcome any potential solutions for this and pull requests!
Let us know if you hear anything from Ads team.
Shawn
Hey @rsodre. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.
If you have more information that will help us get to the bottom of this, just add a comment!
Google Ads did some digging here... https://github.com/googleads/googleads-mobile-unity/issues/1337#issuecomment-640950840
@rsodre
Hope I explained the situation well enough in both threads.
Basically EDM4U currently cannot resolve dependencies for .aar
which is not documented in any Dependencies.xml
file. What EDM4U can solve is limited but we welcome any proposal or pull request.
And please do try their suggestion about removing the dependencies.
Hope this help. Shawn
Unity editor version: 2919.3.10 External Dependency Manager version: 1.2.153 Source you installed EDM (from .unitypackage or Unity Package Manager): Package Manager Features in External Dependency Manager in use (Android Resolver, iOS Resolver, VersionHandler, etc.): Android Resolver Plugins SDK in use (Firebase, Admob, Facebook, etc.): Admob, Unity Ads Platform you are using the Unity editor on (Mac, Windows, or Linux): Mac Platform you are targeting (iOS, Android, and/or desktop): Android, iOS Scripting Runtime (Mono, and/or IL2CPP):IL2CPP
Please describe the issue here:
I have installed Unity Ads version 3.4.5, from the Package Manager( com.unity.ads) When I build for Android, the Resolver ignores it and dowmloads
com.unity3d.ads.unity-ads-3.4.2.aar
, causing a ton of duplicated symbols. I tried to update the package to 3.4.2, same version that is resolved, and the problem persists.The resolver should detect that the Unity Ads package is installed and use it instead of the lib.
Someone at Unity suggested that we should just remove the package, but I need the
UnityEngine.Advertisements
namespace on my scripts.What's the issue repro rate? 50% After the build fails, if I delete
com.unity3d.ads.unity-ads-3.4.2.aar
, I can build successfully But later on some build it will resolve the lib and fail again.