googleanalytics / google-analytics-plugin-for-unity

Google Analytics plugin for the Unity game creation system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Function SoundChannelInstance *SoundChannel::operator->() const may only be called from main thread!

alaslipknot opened this issue · comments

Hi,

Calling Reward Ads cause the game to crash and output this error :

Function SoundChannelInstance *SoundChannel::operator->() const may only be called from main thread! AppAdvisory.Ads.AAAdmob:OnAdOpeningRewarded(Object, EventArgs) System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) System.Reflection.MethodBase:Invoke(Object, Object[]) UnityEngine.AndroidJavaProxy:Invoke(String, Object[]) UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr) 12-05 18:45:13.500 28685 28685 E Unity : [ line 21] (Filename: Line: 21)

After testing the game with an empty scene (no audioSource) the Ads worked properly and i got no error, so i had to come back to my game and :

  • Disable All Enabled AudioSource when calling for reward Ads (must disable it, setting it to mute still crash the game) :
    AudioSource[] musicSource = Object.FindObjectsOfType(typeof(AudioSource)) as AudioSource[];

for (int i = 0; i < musicSource.Length; i++) { musicSource[i].enabled = false; }

  • re-Enable All AudioSource when Ad is closed

For a game that has a lot more than just one audioSource for music that are dynamic and running constantly, running that FindObjectsOfType every death is really not something that i usually do, so am wondering, is everyone aware of this issue ? why is AdMob reward ads cause unity to crash when its playing Audio while every other Ad network that i used in the past doesn't ?

Thanks!

I have the same problem. The complete disabling of the background sound helped (pause sound does not help).
Unity 2018.1, Google Mobile Ads Unity Plugin v3.13.1.