[Android 11] Unity Ads was not able to get current network type due to missing permission

Hi,

I’m having issues with Unity Ads on Android 11. I’m just able to see around 8 rewarded ads, and from that point on Advertisement.IsReady always returns false with the placement status of NoFill.

I notice that the Unity Ads logs are showing a missing permission error (not sure if it’s related to the issue) :

04-05 13:46:50.144 W/UnityAds(30546): com.unity3d.services.core.connectivity.ConnectivityMonitor.connectionStatusChanged() (line:173) :: Unity Ads was not able to get current network type due to missing permission
04-05 13:47:14.504 W/UnityAds(30546): com.unity3d.services.core.device.Device.getNetworkType() (line:135) :: Unity Ads was not able to get current network type due to missing permission
04-05 13:47:14.529 W/UnityAds(30546): com.unity3d.services.core.device.Device.getNetworkType() (line:135) :: Unity Ads was not able to get current network type due to missing permission

I wonder if this could be related, as the method TelephonyManager#getNetworkType() was deprecated on Android 11 and it does require the permission READ_PHONE_STATE and I’m having issues ONLY on Android 11.

I’m using Unity Ads 3.7.0.

Thank you.

I’m also seeing this warning since upgrading to Unity Ads 3.7.1.

This could be expected behavior. Since we use an auction to determine which ads to serve, if there are no bids, then No Fill is status that’s returned from the SDK. The number of ads in a session can be a factor in how advertisers bid, so this might just be expected in this case.

This is likely just a warning that shouldn’t impact functionality. If this were a problem, I would expect it to be a problem for all impressions, not just after a certain point. But we can have the engineering team take a look though.

1 Like