Search Unity

Feedback Share your Unity Mediation Beta Feedback Here

Discussion in 'Unity Mediation' started by tailorjay, Oct 14, 2021.

Thread Status:
Not open for further replies.
  1. DeclanMcPartlin

    DeclanMcPartlin

    Unity Technologies

    Joined:
    Nov 19, 2020
    Posts:
    146
    Hello @pablo_leban,

    Thank you for reaching out. This is most likely due to the Xcode version you are using, check this thread for more information.

    Let us know if that works for you, thanks!
     
  2. pablo_leban

    pablo_leban

    Joined:
    Sep 19, 2013
    Posts:
    68
    Thank you! I've managed to fix this by updating Xcode as you said.

    However I have a new problem now. It appears that there are missing SKAdNetworks.

    I've followed the https://unityads.unity3d.com/help/monetization/ios14 example and I can see a big list of SKAdNetworks on my Xcode project's plist, but I'm still getting this error.

    Code (CSharp):
    1. AdColony [[I] ERROR [/I]] : Controller : [error] [App] SKAdNetworks missing from Info.plist. Expected networks: ["4pfyvq9l8r.skadnetwork","yclnxrl5pm.skadnetwork","v72qych5uu.skadnetwork","tl55sbb4fm.skadnetwork","t38b2kh725.skadnetwork","prcb7njmu6.skadnetwork","ppxm28t8ap.skadnetwork","mlmmfzh3r3.skadnetwork","klf5c3l5u5.skadnetwork","hs6bdukanm.skadnetwork","c6k4g5qg8m.skadnetwork","9t245vhmpl.skadnetwork","9rd848q2bz.skadnetwork","8s468mfl3y.skadnetwork","7ug5zh24hu.skadnetwork","4fzdc2evr5.skadnetwork","4468km3ulz.skadnetwork","3rd42ekr43.skadnetwork","2u9pt9hc89.skadnetwork","m8dbw4sv7c.skadnetwork","7rz58n8ntl.skadnetwork","ejvt5qm6ak.skadnetwork","5lm9lj6jb7.skadnetwork","44jx6755aq.skadnetwork","mtkv5xtk9e.skadnetwork","6g9af3uyq4.skadnetwork","uw77j35x4d.skadnetwork","u679fj5vs4.skadnetwork","rx5hdcabgc.skadnetwork","g28c52eehv.skadnetwork","cg4yq2srnc.skadnetwork","9nlqeag3gk.skadnetwork","275upjj5gd.skadnetwork","wg4vff78zm.skadnetwork","qqp299437r.skadnetwork","kbmxgpxpgc.skadnetwork","294l99pt4k.skadnetwork","2fnua5tdw4.skadnetwork","ydx93a7ass.skadnetwork","523jb4fst2.skadnetwork","cj5566h2ga.skadnetwork","r45fhb6rf7.skadnetwork","g2y4y55b64.skadnetwork","wzmmz9fp6w.skadnetwork","n6fk4nfna4.skadnetwork","kbd757ywx3.skadnetwork","n9x2a789qt.skadnetwork","pwa73g5rt2.skadnetwork","74b6s63p6l.skadnetwork","44n7hlldy6.skadnetwork","5l3tpt7t6e.skadnetwork","e5fvkxwrpn.skadnetwork","gta9lk7p23.skadnetwork","84993kbrcf.skadnetwork","pwdxu55a5a.skadnetwork","6964rsfnh4.skadnetwork","a7xqa6mtl2.skadnetwork"]
    Edit: I've disabled AdColony and this error seems to be gone, but I still want to know how to fix it.
     
    Last edited: Dec 8, 2021
  3. jfouk

    jfouk

    Joined:
    Dec 29, 2019
    Posts:
    5
    I'm getting an issue where an ad is loaded, but when a user clicks on the ad, a black screen shows, and the user is unable to get rid of it until quiting the app and restarting. This only happens sometimes, but from the logs, I don't see any errors. These are the events I'm subscribing to and logging.

    Code (CSharp):
    1. rewardedAd = new RewardedAd(_adUnitId);
    2.             // Subscribe callback methods to load events:
    3.             rewardedAd.OnLoaded += AdLoaded;
    4.             rewardedAd.OnFailedLoad += AdFailedToLoad;
    5.  
    6.             // Subscribe callback methods to show events:
    7.             rewardedAd.OnShowed += AdShown;
    8.             rewardedAd.OnFailedShow += AdFailedToShow;
    9.             rewardedAd.OnUserRewarded += UserRewarded;
    10.             rewardedAd.OnClosed += AdClosed;
    So far this is only happening for one of my users, but I don't have that many users. He is able to watch ads successfully sometimes. Any clues?
     
  4. DeclanMcPartlin

    DeclanMcPartlin

    Unity Technologies

    Joined:
    Nov 19, 2020
    Posts:
    146
    Hey @pablo_leban,

    Thanks for sharing your experience. A few questions regarding your setup:
    • Inside your generated Xcode project, if you select the target Unity-iPhone, then click on the Info tab, how many items does your SKAdNetworkItems key have? At the time of writing this message, there should be 123 items.
    • Which version of Unity are you using?
    Thank you for your feedback.
     
  5. DeclanMcPartlin

    DeclanMcPartlin

    Unity Technologies

    Joined:
    Nov 19, 2020
    Posts:
    146
    Hello @jfouk, thanks for reaching out.

    To help us determine the issue, could you help us clarify a few things:
    • Which platform is this happening on, and if it is device specific, which device(s)?
    • Which version of Unity did you use to build your application?
    • Which ad networks do you have configured within your solution? (Unity, AdColony, Admob, etc)
    Thank you
     
  6. jfouk

    jfouk

    Joined:
    Dec 29, 2019
    Posts:
    5
    Sure thing.

    • Platform is Android, device information:

    - Xiaomi M2101K7AG
    - Rylai
    - Android OS 11 / API-30 (RKQ1.201022.002/V12.0.10.0.RKGMIXM)
    - ARM64 FP ASIMD AES
    - 3591 MB
    - Adreno (TM) 612 (Vulkan)


    • Unity version 2021.1.2f1.
    • Ad networks are Unity and Admob.

    I will note this user used to have trouble filling ads, when I was just on the Unity Ads SDK. He is in the Belarus region, and had a low fill rate. Since switching to Unity Mediation, he has no trouble loading ads, but is seeing this black screen issue sometimes. Could it be that the ads are actually not filling, yet is entering the "loaded" state anyways?
     
  7. pablo_leban

    pablo_leban

    Joined:
    Sep 19, 2013
    Posts:
    68
    Correct. I have 123 items and I was using Unity 2020.3.23f1.



    Edit: Updated to Unity 2020.3.24f1 and still getting the error. I'm also on Mediation 0.3.0-preview.3
     
    Last edited: Dec 10, 2021
  8. wisesm1

    wisesm1

    Unity Technologies

    Joined:
    Sep 15, 2017
    Posts:
    9

    Hey @jfouk,

    There's a possibility this may be a render issue for one of the ad networks being run. The Mediation SDK will only enter loaded state once an ad network has indicated it has loaded an ad.

    Any chance you were able to get a screenshot of the black screen (if there are any privacy or X button icons or overlays)? We may be able to determine which ad network is having problems and look into next steps.
     
  9. DeclanMcPartlin

    DeclanMcPartlin

    Unity Technologies

    Joined:
    Nov 19, 2020
    Posts:
    146
    Hey @pablo_leban,

    Thank you for confirming. I checked the logs and I am able to reproduce this, that being said, you should still be able to show ads and monetize with AdColony, but attribution might be affected - for the time being. We are looking to update our list of SKAdNetwork items and will let you know when we have updated it to include all the SKAdNetwork items that AdColony requires.

    Thanks again for pointing this out.
     
  10. DeclanMcPartlin

    DeclanMcPartlin

    Unity Technologies

    Joined:
    Nov 19, 2020
    Posts:
    146
    Hey @pablo_leban,

    Try using AdColony again (rebuild from Unity), you should see 129 SKAdNetwork items now, I cannot reproduce the issue anymore. Let me know if the same applies for you.

    Thank you for pointing out this issue.
     
  11. jfouk

    jfouk

    Joined:
    Dec 29, 2019
    Posts:
    5
    I have a video of the user seeing the black screen after trying to watch an ad, but there's nothing on the screen. No icons or anything. The only networks I'm using is Unity and Admob. Also, the user is able to watch the ad after swapping out of the app, then reentering the app (which gets him out of the black screen), and clicking on the ad button again.
     
  12. wisesm1

    wisesm1

    Unity Technologies

    Joined:
    Sep 15, 2017
    Posts:
    9
    Ah. This is a bit tricky. Anecdotally, we’ve seen problems with javascript rendered ads in both Admob and Unity Ads - moreso on the interstitial side of things, but without an icon or two (usually at least one of those do appear if it were indeed the case mentioned), it’s hard to tell if this is a render issue with the ad itself or something else.

    For some more info: once the ad show has been called, render and lifecycle behavior is diverted to and handled by the showing ad network. State changes to an ad unit will only occur if the ad network tells the mediation sdk via load callbacks, show callbacks, etc.

    We will try our best to reproduce the problem (but haven't had much luck, unfortunately) and see if we can get back to you in this thread. However, any more info you can provide here will be super helpful! Thanks.
     
  13. jfouk

    jfouk

    Joined:
    Dec 29, 2019
    Posts:
    5
    What I've seen recently is if he enters the black screen issue, if he somehow gets out of that, he is able to watch an ad right away afterwards, and the ad that is loaded is an admob ad. The other consistent thing is the first ad he watches is probably awhile after the ad is loaded, say around 15 min or so. Is that a problem? Can an ad get stale?
     
  14. DaveKap

    DaveKap

    Joined:
    Mar 6, 2013
    Posts:
    94
    FYI I still have to run pod install manually after every build update I make in order to get xcworkspace generated so I can build for my device, testflight, and release. Is this ever going to get dealt with? It's a huge pain to productivity, especially while I'm in the middle of trying to debug ads showing up just fine in the editor but failing to show up once the app is in testflight.

    I'm gonna be honest, this Mediated Ad experience has been horrible.
     
  15. DaveKap

    DaveKap

    Joined:
    Mar 6, 2013
    Posts:
    94
    Hah... wow... just... wow...

    I went to the package manager in the MacOS version of Unity to see if maybe there was an update to mediation and saw that for some reason the package had corrupted itself and showed as version 0.0.0. So I decided to remove it so I could just replace it with the latest tarball. This caused Unity to crash. I went back to run the project to discover the entire project directory was deleted. Amazing. I'm lucky I have all this backed up on both collaborate and my own github but just... wow guys. Bravo on this beta.
     
  16. jcGrenier

    jcGrenier

    Unity Technologies

    Joined:
    Feb 23, 2021
    Posts:
    145
    Hi @DaveKap , sorry to hear you are experiencing these issues, however we must say a project folder being deleted is an issue we never heard about, and we highly encourage you to send a bug report as this is major.

    As for the corrupted package, please note that the tarball file is not extracted, but linked to. So if you want to use that method, make sure not to move or delete the tarball file's location after installing the package as this might cause issues.
     
  17. jcGrenier

    jcGrenier

    Unity Technologies

    Joined:
    Feb 23, 2021
    Posts:
    145
    Hi @jfouk ,
    @wisesm1 is unfortunately not around at the moment, but if I can give a brief answer for him, I would say as far as I know, no, ads do not go stale. However, it is possible that an adNetwork would only support 1 ad at a time, and loading a second one of the same type, (Say, 2 interstitial ads for network X) might unload/invalidate the first. These cases should definitely be handled by the mediation package, and I am not aware of a known issue of that sort at the moment, but if you think it might be the case please let us know and we will investigate.
     
  18. pablo_leban

    pablo_leban

    Joined:
    Sep 19, 2013
    Posts:
    68
    So Unity Mediation is live on my game with around 60k DAU for about a month. It has 3 Ad Sources configured (Unity Ads, AdMob and AdColony).

    The only report I'm getting sometimes is that the user is not getting the reward after watching an ad, but the reason is difficult to know as all 3 ad sources seems to be configured correctly (I've already have revenue on both 3) and this error isn't something I could reproduce easily.

    I'm on Mediation 0.3.0-preview.3 and Unity 2020.3.24f1.

    Also, let's say I add a new AdSource to a Waterfall, let's say AppLovin, and the AppLovin SDK is not available in the current production version? Will the game keep working normally?

    Thank you.
     
    Last edited: Dec 29, 2021
  19. jcGrenier

    jcGrenier

    Unity Technologies

    Joined:
    Feb 23, 2021
    Posts:
    145
    Hi @pablo_leban , first of all congrats on the 60k DAU, that is no small feat!

    As for your question, if you add AppLovin to your waterfall, and it is the "winning" line item, but the app does not include AppLovin, what will happen is an exception being thrown, about a class not found, if I remember correctly. This won't crash your game or anything, but the user will not be served the ad, and you will not make revenue.

    We obviously recommend that you add all necessary ad network adapters to your project, but from my experience testing our SDK, the consequences should not be dramatic, although I do encourage you to make a quick test before deploying this at large, as there might be some issues we simply did not see on our end.
     
  20. DeclanMcPartlin

    DeclanMcPartlin

    Unity Technologies

    Joined:
    Nov 19, 2020
    Posts:
    146
    Hi @DaveKap

    I'm sorry to hear you've been experiencing issues. Regarding xcworkspace generation, if there is no xcworkspace file, this almost certainly means there was some error that occurred. A lot of what could cause such an issue is out of our control, this could be due to: no cocoapods installed, an unsupported version, missing settings for cocoapods, and so on. If you could, please share the Unity console logs after building for iOS, so we can see if there are any clues as to what went wrong there.

    Thank you for sharing your experience.
     
  21. DeclanMcPartlin

    DeclanMcPartlin

    Unity Technologies

    Joined:
    Nov 19, 2020
    Posts:
    146
    Hi @pablo_leban

    Thanks for reaching out. Regarding reports for user rewards, to confirm, are these reports from users themselves?
    How does your application determine when to reward a user, are you using the rewarded callbacks for example?
    Is this specific to a specific platform or (if you have the information) specific to an ad network?

    Regarding adding an ad network to a waterfall used in a deployed app, to add to what @jcGrenier mentioned, the waterfall line item for ad network that isn't included in an app version will be skipped, and the SDK will attempt to load the next line item instead.
     
  22. DoneGames

    DoneGames

    Joined:
    Dec 8, 2018
    Posts:
    1
    It works very badly now. eCPM dropped by more than 2 times compared to Unity ADS! Other advertising sources provide very few impressions.Almost all ad impressions are collected by Unity ADS with a very low rate. Waterfalls are very inconvenient to edit. Unable to delete extra positions and it creates a mess. At first glance, this works much worse than Unity ADS and the income has dropped very much.
     
  23. LastAtaman

    LastAtaman

    Joined:
    Feb 17, 2017
    Posts:
    3
    In Android 4.4 native implementation before even calling any mediation API functions, the following issue occurred:

    Code (CSharp):
    1. Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 19
    2.         at okhttp3.internal.platform.AndroidPlatform.<clinit>(AndroidPlatform.kt:172)
    3.         at okhttp3.internal.platform.Android10Platform.<clinit>(Android10Platform.kt:71)
    4.         at okhttp3.internal.platform.Platform$Companion.findPlatform(Platform.kt:206)
    5.         at okhttp3.internal.platform.Platform$Companion.access$findPlatform(Platform.kt:168)
    6.         at okhttp3.internal.platform.Platform.<clinit>(Platform.kt:169)
    7.         at okhttp3.OkHttpClient.<init>(OkHttpClient.kt:237)
    8.         at okhttp3.OkHttpClient$Builder.build(OkHttpClient.kt:1069)
    9.         at a.a.a.i0.b.<init>(Unknown Source)
    10.         at a.a.a.b0.<init>(Unknown Source)
    11.         at com.unity3d.mediation.UnityMediationSDKInitializer.create(Unknown Source)
    12.         at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:155)
    13.         at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:198)
    14.         at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:42)
    I am not initializing SDK below the Android API 19.
     
  24. jcGrenier

    jcGrenier

    Unity Technologies

    Joined:
    Feb 23, 2021
    Posts:
    145
    Hi @DoneGames ,
    We are sorry to hear you are experiencing poor performances with the mediation SDK. We would expect your results to be at least as good, and likely better than using Unity Ads alone. Our developers tried to look into your setup but they would like to have a chat with you to gather more informations, and potentially help you get better results. I will send you a private message with one of our developer's email address, please reach out to them and they will assist you.
     
  25. jcGrenier

    jcGrenier

    Unity Technologies

    Joined:
    Feb 23, 2021
    Posts:
    145
    Hi @LastAtaman ,
    Please make sure that your minimum android API set in projectSettings/player is 21 or above, and that no androidmanifest overwrites this.
     
  26. macrochip

    macrochip

    Joined:
    Feb 4, 2018
    Posts:
    1
    Hello. I've implemented Unity Mediation into my project and the ads are working correctly in the editor. However, when I build for Android and run the game on an Android device, my interstitial loading fails with this message:
    Exception raised while retrieving the Ad Unit Configuration: com.unity3d.mediation.w: Requested Ad Unit has incorrect format


    I have double checked and triple checked the ad ID and the game ID and they are set up correctly. What are the potential reasons behind this error message?
     
Thread Status:
Not open for further replies.