Search Unity

Issues in migrating to 5.2

Discussion in 'Unity Ads & User Acquisition' started by Aurigan, Sep 9, 2015.

  1. Aurigan

    Aurigan

    Joined:
    Jun 30, 2013
    Posts:
    291
    5.2 brings even easier integration for some Unity services which is great. For Unity Ads I'm struggling to see how to correctly migrate though. Steps so far:
    • It appears 5.2 no longer requires the SDK/package download from the Unity store, so I've removed that from my project (using the package uninstaller asset from the Unity Store).
    • Once that was done the ShowOptions() creation in my code needed to be tweaked as it looks like there are differences in the Unity integrated version (specifically 'pause' appears to have been removed).
    • Toggled on the Ads service in the new 5.2 services window. This appears to auto-create a new project, game IDs and placement identifiers that are only visible on the new Unity Ads dashboard (dashboard.unityads.unity3d.com/), completely ignoring what's currently in production.
    So, issues/questions are:
    • Why are there now two dashboards? What's the long-term plan for these?
    • Is there any way to get the in-production ads/gameIDs to show up in the new dashboard and ads services panel in the editor? Likewise for all the historical stats/data.
    • Assuming this isn't possible will calling Advertisment.Initialize() with the old gameIDs continue to work? The hint for the method seems to imply it's mutually exclusive with having the ads service toggled on in the services panel. Should I just give up on the current/old setup?
    • I can't see a way on the new dashboard to edit/delete the placements or see which is now default - which placement is getting checked by IsReady() ?
    Thanks in advance for your help.
     
    Last edited: Sep 10, 2015
    nspilanis likes this.
  2. RR25

    RR25

    Joined:
    Jul 6, 2015
    Posts:
    4
    I'm having the same problems. The new dashboard is very limited and I cant find / link any of the previous projects I had in the old one.
     
  3. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    A few API changes were made to the Unity Ads asset package when version 1.2.0 released:
    • Advertisement.isReady is now Advertisement.IsReady
    • DebugLevel.ERROR is now DebugLevel.Error, WARNING is Warning, etc.
    • Advertisement.allowPrecache was removed
    • ShowOptions.pause was removed (video ads will always pause the game)
    • gamerSid was moved from ShowOptionsExtended to ShowOptions
    • ShowOptionsExtended was removed
    The new Services window does give you the option to link to an existing Unity Project ID, or create a new one. If the project you select hasn't been initialized with Unity Ads before, two new game IDs will be created (one for iOS and one for Android) when you enable Unity Ads.

    You can reassign existing game IDs under Advanced in the Settings tab of Ads in the Services window.

    Screen Shot 2015-09-10 at 3.34.55 PM.png

    Helpful things to be aware of:
    • Enabling the toggle switch for Ads in the Services window enable API access for Unity Ads. Disabling it will disable Ads in the Unity Engine, but will allow you to import and continue to use the Unity Ads Asset package without encountering an API conflict.
    • EDIT: Disabling either iOS or Android platforms under Ads in the Services window will strip the Unity Ads API from the build when building for the disabled platform. To manually initialize Unity Ads, you'll need an editor script that disables the initializeOnStartup property of AdvertisementSettings. See the following post for details.
    • Enabling the Test Mode option will show test ads when showing ads on device (a placeholder will always appear instead when showing ads in Editor). Disabling the Test Mode will show live production ads on device. You can override the test mode option from the old Unity Ads Admin by updating the Ad Test Mode settings under the Monetization Settings tab of your game profile.
    Please keep in mind you should always leave test mode enabled while developing and testing your app. You are not permitted by our Terms of Service agreement to click on live production ads in your own game.

    Unity Ads is migrating to a new Unity Ads Admin (http://dashboard.unityads.unity3d.com) and will be deprecating the old Unity Ads Admin (http://unityads.unity3d.com) as more features become available in the new the new Admin. Some features may not be fully functional as we bring them online early on. We will be working quickly to sort out the bugs. Please let us know if you have any concerns by email or contacting us through the Unity Ads Admin.

    Please see the Unity Ads section of the Unity Manual for further details.
     
    Last edited: Sep 23, 2015
    Salazar, actraiser3 and nspilanis like this.
  4. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    >Disabling a platform will allow you to use the Advertisements.Initialize() method to initialize Unity Ads manually (in case >you have multiple game IDs per platform that you need to choose from at runtime).

    I just tried this and while dummy ads are shown in the editor, when I build my iOS game with the iOS-Checkbox in Ads Services cleared and do manual initialization from code, it will throw an error:

    "The type or namespace name `ShowResult' could not be found. Are you missing a using directive or an assembly reference?"

    I have included "usingUnityEngine.Advertisements" of course (ShowResult being a member of that namespace).

    With the box in iOS Ads Services checked, it compiles fine but manual initialization does not work. With the Box checked and leaving out the iOS GameId in the appropriate field, I get

    "UnityAdsEditor: Server returned error message: No numeric game id set, cannot send response"
    which is kinda expected and did not do the trick.

    Any advice how to achieve manual initialization?

    -act
     
    Last edited: Sep 11, 2015
  5. Aurigan

    Aurigan

    Joined:
    Jun 30, 2013
    Posts:
    291
    Thanks for the response. I think it would great for the Ads team to post a migration guide in the same way the Analytics team has.

    Wow, I tried this several times, there's something very broken about the way those input fields function in the OSX version of the Editor. It took me several attempts to make them accept input/overwriting, I'd actually tried this before and given up assuming they weren't editable.

    I'm just going to hope that after entering my existing game IDs it will continue to update the old dashboard and use that dashboard settings for the default zone etc. Please let us know if this isn't expected!
     
    Last edited: Sep 11, 2015
    super77gg and CAKE1 like this.
  6. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    Absolutely. I'm going to be posting an migration guide later today.

    Yeah, I'm encountering the same issue. There appear to be a number of wonky issues like this with the UI in the new Services window. This will have to get fixed in a patch. Keep an eye on the release notes.

    Entering your existing game IDs will continue to use and associate impression data and revenue with those game IDs. We're currently shifting over to a new data model on the backend though, and will be building out the new Unity Ads Admin to support this data model and the UDN Organization / Project models.

    This migration involves quite a bit of work. There may be some some issues affecting the Admin that pop up (like revenue dropping to $0.00) as we migrate accounts. All the data is still there in the system (revenue hasn't disappeared), it's just that some of the data might not be migrating at the same time as when the new data model is implemented. Don't panic right away if you see something like this. If it doesn't resolve itself within 72hrs, please email or contact us through the Unity Ads Admin.

    Thanks for reporting these issue. The feedback is very helpful.
     
    Salazar and super77gg like this.
  7. madruse

    madruse

    Joined:
    Dec 16, 2014
    Posts:
    1
    I setup my project ID, turned on Ads, clicked the dashboard, added two games to Ads (iOS and Android), and now in the Unity Services panel, I see nothing under the services, its just blank.

    Online, in the dashboard, everything is there and working.

    Pre-5.2, I was manually passing my IDs with Advertisement.Initialize() based on the platform and now I'm seeing these errors:
    UnityAdsEditor: Server returned error message: No numeric game id set, cannot send response
    UnityEngine.Advertisements.<GetAdPlan>c__Iterator0:MoveNext()
    UnityAdsEditor: Failed to fetch campaigns.
    UnityEngine.Advertisements.<GetAdPlan>c__Iterator0:MoveNext()

    Should I just not use Advertisement.Initialize() anymore and let the new built-in services do it's own initialize? If so, how can I enter the IDs if the panel is blank?

    Thanks!
     
  8. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    Unfortunatly, that is not the way how it works at the moment. Right now a little hack is needed to achieve manual initialization in Unity 5.2.

    1. In the Unity Services-Tab it is important to have UnityAds turned on and the platforms (iOS and/or Android) selected, otherwise building will fail for missing Advertisment-Namespace
    2. Find the file ProjectSettings/UnityAdsSetttings.asset and open it in a text editor
    3. In the file, set m_InitializeOnStartup to 0 - that prevents buildin UnityAds to try initializing with the configured Ids in the Advanced Section of the Unity Services-Tab. The lack of any ids there leads to the "no numeric ids"-error by the way when m_InitializeOnStartup is set to 1.

    Now manually passing Ids using Advertisement.Initialize() works again.

    -act
     
    Last edited: Sep 15, 2015
    lliviu likes this.
  9. engieelec

    engieelec

    Joined:
    Feb 5, 2015
    Posts:
    10
    In Unity 5.2, should any background music be paused before displaying the advertisement?

    I have a singleton Music Manager implementation that persists between scenes. If I play music in one scene, then change, the music keeps playing. If I choose to display the ad, then the music keeps on playing :( and does not pause or stop.

    I am using unity remote to test and have the build settings set to iOS.
     
    Last edited: Sep 16, 2015
  10. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
  11. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    @madruse @actraiser3: EDIT: Disabling either iOS or Android platforms under Ads in the Services window will strip the Unity Ads API from the build when building for the disabled platform. To manually initialize Unity Ads, you'll need an editor script that disables the initializeOnStartup property of AdvertisementSettings. See the following post for details.

    In Editor, the Unity Player is not paused when an ad (in this case a placeholder for an ad) is shown. The Unity Player is however paused when an ad is shown on device. To simulate this in editor, you could set the Time.timeScale to 0 and AudioListener.volume to 0 when the ad is shown. Then restore both values to 1f when the ad is closed. You can use the ShowOptions.resultCallback to handle restoring values, or check against Advertisements.isShowing.

    Keep in mind, you would only need to simulate this in Editor. You wouldn't need to run the same code on device.
     
    Last edited: Sep 23, 2015
  12. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    @unity-nikkolai - I read this advise before but when I disable both platforms I get the following error when compiling for iOS: The type or namespace name `ShowResult' could not be found. Are you missing a using directive or an assembly reference?

    It works fine with the platforms enabled and (for manual initialization) turning m_InitializeOnStartup off in the asset. Note that in the Unity Editor, your suggestions works fine though. It looks to me that in my setup "Advertisements" is not available at compile time when the platforms are disabled in the Service Tab.

    -act
     
  13. Salazar

    Salazar

    Joined:
    Sep 2, 2013
    Posts:
    235
    Hello @actraiser3

    Could you please confirm that you have the latest assetstore package , and you are using UnityEngine.Advertisements namespace.

    Sometimes, re-installing package solves namespace problems.

    Regards,
     
  14. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    Maybe I don't understand the concept entirely but I was under the impression that the plugin package must not be installed anymore (even for manual initialization) starting Unity 5.2 - so I removed it. Here are all my scenarios which I just tested one by one:

    Manual Initialization does not work:

    A. When I install the Unity Ads plugin from the AssetStore and the service Unity Ads is enabled (with both the platforms disabled as suggested by Nikolai), then I get the error: "The imported type `UnityEngine.Advertisements.ShowResult' is defined multiple times"

    B. When I do not install the Plugin Package from the Unity Store and Enable Unity Ads in the Service Tab but disable both platforms I get this error when building for iOS: The type or namespace name `ShowResult' could not be found. Are you missing a using directive or an assembly reference?

    Manual Initialization Does Work

    C. When I install Unity Ads from the Asset Store and disable Unity Ads in the Service Tab - everything works.

    D. When I do not install the Plugin Package, enable Unity Ads in the Service Tab and activate both Platforms, it works after I set m_InitializeOnStartup to off, otherwise UnityAds tries to initialize automatically.


    Currently I use scenario D - could you please clarify which the recommended way would be?

    -act

     
    unity-nikkolai likes this.
  15. Tapgames

    Tapgames

    Joined:
    Dec 1, 2009
    Posts:
    242
    @unity-nikkolai
    I have successfully integrated Unity Ads in my game but encounter some little difficulties. I have testmode on.
    When users want to unlock some free upgrades they need to watch a video ad when completed they get there upgrade for an hour. I have currently set them to one minute just for testing. but sometimes even in testing mode there are no ads to be shown and isready gives me false in testing mode. But when I tap my iOS home button to suspend the app and resume again it works. I cannot figure this out.

    Thanks!
     
  16. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    @actraiser3: I'll need to verify this functionality. If this is the case, we'll have to get this fixed in an upcoming patch release. Thanks for breaking this down.

    @Tapgames: This is a known issue. It's already fixed in the Unity Ads asset package, and should be fixed in an upcoming patch release of Unity. Thanks for reporting.
     
  17. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    @actraiser3: This analysis is spot on. Apparently this is expected functionality. Scenario C is currently the recommended use case. However, scenario D appears to work just fine as well. Thank you for sharing this with us.

    Neither of these cases are satisfactory. I'm trying to determine now what the integration workflow should be moving forward, and what we need Unity Ads to supply functionality wise to support various types of integrations.

    I'll be sure to update you when this changes.
     
  18. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    @actraiser3: There's another solution.

    You can create an editor script that disables AdvertisementSettings.initializeOnStartup:
    1. Enable Ads in Services window in Unity.
    2. Create file Editor/BuildProcess.cs in the project with this code:
      Code (CSharp):
      1. using UnityEditor;
      2. using UnityEditor.Callbacks;
      3. using UnityEditor.Advertisements;
      4.  
      5. public class BuildProcess : Editor
      6. {
      7.     [PostProcessScene]
      8.     public static void OnPostprocessScene ()
      9.     {
      10.         AdvertisementSettings.enabled = true;
      11.         AdvertisementSettings.initializeOnStartup = false;
      12.     }
      13. }
    3. Call Advertisement.Initialize() the usual way to initialize Ads.
     
  19. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    @unity-nikkolai Thank you for checking and the Editor-Script. What I would like to suggest is that there should be a standardized way for all current and future integrated Unity services (Ads, Analytics, Cloud Build,...) to configure and initialize service ids adhoc from script and not tie a Unity project 1:1 to a service.

    In my case, I create many different versions of an app from a single Unity Project, that is for different platforms, different audiences (e.g. variations in culture/localization, beta versions) with different feature-sets (e.g. paid vs free). I would like to have control over the used Unity Services for each of the versions of a game, that is, to have the freedom to use different project ids for the services as needed when running the game.

    In other words, imho all Unity Services should be created with multi-client support per project in mind.

    Greets
    -act
     
    Last edited: Sep 24, 2015
    splintergames and unity-nikkolai like this.
  20. dougbello

    dougbello

    Joined:
    Apr 9, 2015
    Posts:
    15
    what a mess....

    Please, you have thousands of users, can you organize it better?

    Create an official youtube channel, make 3 videos:

    - 1 explaining the new procedures for new projects,

    - 2 Showing migration from previous unity ads

    - 3. Another one, on how to reset and restart unity ads that doesn't show anything anymore, once you project is a mess.

    And give it a status of beta if you need thousands of workarounds to make it work, so we can choose another ads providers.

    official documentation has 3 lines with very poor explanation... now there is a new dashboard and the old still works...

    you have a 50 minute official tutorial for ads integration, but everything has changed and no warnings there at all.

    For new users like me its a nightmare.

    It's very disapointing.

    I had a project working with 5.1 but I was stupid enough to update it, now ads doesn't work and I have to remake all the code... after that a lot of errors with the new dashboard. I deleted the old project from unity ads dashboard and create a new one, but now I cannot see it inside unity services anymore and keep giving me the error: Unfortunately your project cannot use the new UnityDashboard yet. How to restart all of it, without loosing all my work?
     

    Attached Files:

  21. anthonov

    anthonov

    Joined:
    Sep 24, 2015
    Posts:
    160
    same as dougbello,
    update to 5.2, and there is no "integrated" ads or analytics, nothing work, no doc,
    and my game loose 30 fps on android...
    did you check or test new release?
    [edit]
    now it work for ads and analytics for me, maybe editor and visual just need time to refresh/reload...
     
    Last edited: Sep 25, 2015
  22. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    Hi folks, I'm working on writing up new docs that cover what's new with Unity Ads 5.2 and the state of the Unity Ads dashboards. Will also be including migration guides and integration as well as dashboard workflow guides.

    Should see these updated later this week.
     
  23. andymads

    andymads

    Joined:
    Jun 16, 2011
    Posts:
    1,614
    That will be very useful.

    One thing I would like to point out is that after installing the 5.2.1p1 patch I again got the errors relating to duplicates. My Unity Ads is off in the Services window, however I had to turn it on, and then off again in order to clear the errors.

     
  24. testliv

    testliv

    Joined:
    Oct 1, 2015
    Posts:
    1
    I upgraded to Unity 5.2.1f1 with the latest UnityAds.
    I usexcode 7 and when I switch to compile unity from IL2CPP to Mono@x I get this error:
    Unhandled Exception: System.ArgumentException: get_isDebugBuild can only be called from the main thread.

    Constructors and field initializers will be executed from the loading thread when loading a scene.

    Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

    when I launch my app.
    The only place that I could find this is in Advertisement.cs and suspect is the assignment to the _debug level.
    Please suggest a solution.
     
  25. cannedbananas

    cannedbananas

    Joined:
    Oct 2, 2015
    Posts:
    1
    After updating to Unity 5.2, whenever I opened my project that used Unity Ads, I'd get an error about a duplicate UnityEngine.Advertisements namespace. For a long time I fixed this by going into my scripts, removing "using UnityEngine.Advertisements;" which gave the error namespace not found, then putting it back in each time I opened the project.

    Today I figured out I could go through the project and delete all the old Unity Ads package assets that were imported by the asset store, turn Unity Ads on in the Window->Services menu instead, and then my ads still work without all the namespace errors to deal with whenever I open a project. Hope this helps someone else!
     
  26. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    the new dashboard cant show all reports like the old web panel really?
    On old webpanel we have reports, dashboard, and show info by game, but this is impossible on new dashboard?
     
  27. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    The new dashboard isn't fully built out yet. Features are still being added. In the coming weeks, we will be updating the new dashboard with improved stats.

    You can still generate your own CSV report using the Monetization Stats API. In the new dashboard, the stats API key can be found under the Manage Organization tab.
     
  28. infosekr

    infosekr

    Joined:
    Jul 12, 2013
    Posts:
    46
    After removing the Unity Ads package and turning on Unity Ads from the services tab, everything works ok for Android, but on iOS I receive an error building in XCode:

    error: /Users/<path to project>/UnityAds/UnityAds.bundle: No such file or directory

    Do I need to do something extra to get the bundle to show up for the iOS project? Or is the problem that this copy step that is failing should not be in the xcode project built by Unity. Anyone else seeing this problem? (seen in 5.2.1p3, 5.2.2, and 5.2.2p2, xcode 7.1)

    EDIT: I tried using the UnityAds.bundle from the plugin version, but that doesn't match the .h and .mm file in the Xcode project. When I replace the .h and .mm files with the plugin version, now I get further linker errors, as I'm sure now there is code from the service mismatching with the plugin code. This just seems like a problem with Unity not copying in the UnityAds bundle that goes with the Unity Ads service.

    EDIT: I also tried copying the UnityAds.bundle and UnityAds.framework into the Xcode build folder /UnityAds manually from the folder where they exist inside the Unity app, then I receive 4 errors, one of them is this one:
    /Users/<path to project build folder?/Classes/UnityAds/UnityAdsUnityWrapper.mm:105:31: No visible @interface for 'UnityAds' declares the selector 'setUnityVersion:'
     
    Last edited: Nov 3, 2015
  29. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    @infosekr: When you build your Xcode project from Unity, do you select "Append" or "Replace" for the existing Xcode project? I recommend selecting the "Replace" option, or selecting a different location to save your Xcode project to.
     
  30. jeffsherwin

    jeffsherwin

    Joined:
    Aug 22, 2014
    Posts:
    47
    upgraded to unity 5.2.2p3 using xcode 7.1
    Switched on the internal editor services for unity ads - made new project on new dashboard.
    Turned on test ads.

    After reviewing API deltas and fixing, in the editor everything is fine, I see the unity Ad place holder and program flow is the same.
    When I output to iOS I see two UnityAds.bundles and two frameworks. It won't build because of the multiple unityads.bundle.

    Code (CSharp):
    1. Warning: Multiple build commands for output file /pathname/removed/for/brevity/UnityAds.bundle
    2.  
    3. error: couldn't remove '/pathname/removed/for/brevity/UnityAds.bundle' after command failed: Directory not empty
    I had thought I removed the old version of unityads. Tried all permutations of removing one or the other.

    Uncertain how to proceed. Any ideas?
     
  31. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    @jeffsherwin I had this too this morning, I cleared it up by deleting the Library and re-importing everything (simple re-import all didn't cover it).

    This was just an old 4.x project imported to Unity 5.2.2p3 and had to remove the old UnityAds bundle (which was way out of date anyway) so I had nothing to lose, but the gist seems to be there are perhaps still traces in Library of the old bundle...or something like that anyways.
     
    jeffsherwin likes this.
  32. infosekr

    infosekr

    Joined:
    Jul 12, 2013
    Posts:
    46
    I always delete my entire build folder and generate a new one. I do not trust Unity's build process.
     
  33. Fissll

    Fissll

    Joined:
    Jan 30, 2015
    Posts:
    70
    It is my first time using unity ads and I am really confused and disappointed.

    Though, my biggest question is where I can configure the zoneId's or get more information about them.
    For example the code samples from unity ads feature this command
    Code (CSharp):
    1. Advertisement.IsReady("rewardedVideo") // "rewardedVideo" is the mentioned zoneId
    and when I hover over it, it says
    But I can't seem to find this site ... the only site I am able to visit is the dashboard and there I only have the option to toggle
    Do I even need a zoneID in order to have a rewarded video in my game or can I just leave it null?
     
  34. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    Dashboard is inside admin ( https://unityads.unity3d.com/admin/ ) .. you can get here from the Services tab in U5.2.

    Under the Dashboard menu item on the left is Games, go there and select your game, and browse to the Monetization Settings tab, and enable Advanced Settings at the bottom.

    Advanced settings contains a "+ Add new ad placement" button. Click that to set up new Video & Rewards Video zones.

    iirc there's already a default rewards zone, but you can add your own.
     
  35. Fissll

    Fissll

    Joined:
    Jan 30, 2015
    Posts:
    70
    I guess you mean this page:

    Whenever I click "earn money with your games" I get redirected to a different page and there I don't have these advanced settings you're talking about.

    Does my game has to be published to the Google Store in order for me to view that page (I don't wan't to publish it right now because it is still in development) or do I have to do something else?
     
  36. Iznan

    Iznan

    Joined:
    Nov 18, 2015
    Posts:
    2

    Attached Files:

  37. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
  38. uni7y

    uni7y

    Joined:
    Jul 23, 2012
    Posts:
    287
    Hi nikkolai,

    any news on these news docs? or did I miss something?

    Thanks!
     
  39. Nooh

    Nooh

    Joined:
    Dec 20, 2014
    Posts:
    5
    Hi nikkolai

    I have problem with unity ads for more than 3 weeks !!

    It appear normaly in edior and semulation device ( like bluestack ,,,) and in old device.

    But in new device like HTC m 8 or samsong s4 and above not shown , and always give me isready() false !!!

    I start new project and do step by step ,, build and try to more than 5 new generation device but not work , Isready() return false !!!

    Please help :(

    I have unity 5.2.2 and take ( D ) way but not work
     
  40. pedrevans

    pedrevans

    Joined:
    May 8, 2013
    Posts:
    10
    To migrate with UnityAds to 5.2, I made the following changes:
    • delete UnityAds store package (list of files below),
    • modify UnityAdsHelper - take out "pause" and "precache" and change isReady to IsReady
    Deleted files:
    Code (csharp):
    1.  
    2. Assets/Plugins/Android/unityads.meta
    3. Assets/Plugins/Android/unityads/AndroidManifest.xml
    4. Assets/Plugins/Android/unityads/AndroidManifest.xml.meta
    5. Assets/Plugins/Android/unityads/bin.meta
    6. Assets/Plugins/Android/unityads/build.xml
    7. Assets/Plugins/Android/unityads/build.xml.meta
    8. Assets/Plugins/Android/unityads/libs.meta
    9. Assets/Plugins/Android/unityads/libs/unity-ads.jar
    10. Assets/Plugins/Android/unityads/libs/unity-ads.jar.meta
    11. Assets/Plugins/Android/unityads/proguard-project.txt
    12. Assets/Plugins/Android/unityads/proguard-project.txt.meta
    13. Assets/Plugins/Android/unityads/project.properties
    14. Assets/Plugins/Android/unityads/project.properties.meta
    15. Assets/Plugins/Android/unityads/res.meta
    16. Assets/Plugins/Android/unityads/res/drawable-hdpi.meta
    17. Assets/Plugins/Android/unityads/res/drawable-ldpi.meta
    18. Assets/Plugins/Android/unityads/res/drawable-mdpi.meta
    19. Assets/Plugins/Android/unityads/res/drawable-xhdpi.meta
    20. Assets/Plugins/Android/unityads/res/drawable.meta
    21. Assets/Plugins/Android/unityads/res/drawable/unityads_background_button_pause.xml
    22. Assets/Plugins/Android/unityads/res/drawable/unityads_background_button_pause.xml.meta
    23. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_play.xml
    24. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_play.xml.meta
    25. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_speaker_base.xml
    26. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_speaker_base.xml.meta
    27. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_speaker_triangle.xml
    28. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_speaker_triangle.xml.meta
    29. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_speaker_waves.xml
    30. Assets/Plugins/Android/unityads/res/drawable/unityads_icon_speaker_waves.xml.meta
    31. Assets/Plugins/Android/unityads/res/layout.meta
    32. Assets/Plugins/Android/unityads/res/layout/unityads_button_audio_toggle.xml
    33. Assets/Plugins/Android/unityads/res/layout/unityads_button_audio_toggle.xml.meta
    34. Assets/Plugins/Android/unityads/res/layout/unityads_button_pause.xml
    35. Assets/Plugins/Android/unityads/res/layout/unityads_button_pause.xml.meta
    36. Assets/Plugins/Android/unityads/res/layout/unityads_view_video_paused.xml
    37. Assets/Plugins/Android/unityads/res/layout/unityads_view_video_paused.xml.meta
    38. Assets/Plugins/Android/unityads/res/layout/unityads_view_video_play.xml
    39. Assets/Plugins/Android/unityads/res/layout/unityads_view_video_play.xml.meta
    40. Assets/Plugins/Android/unityads/res/values.meta
    41. Assets/Plugins/Android/unityads/res/values/strings.xml
    42. Assets/Plugins/Android/unityads/res/values/strings.xml.meta
    43. Assets/Plugins/Android/unityads/src.meta
    44. Assets/Plugins/iOS/UnityAds.bundle.meta
    45. Assets/Plugins/iOS/UnityAds.bundle/Info.plist
    46. Assets/Plugins/iOS/UnityAds.bundle/Info.plist.meta
    47. Assets/Plugins/iOS/UnityAds.bundle/audio_mute.png
    48. Assets/Plugins/iOS/UnityAds.bundle/audio_mute.png.meta
    49. Assets/Plugins/iOS/UnityAds.bundle/audio_mute@2x.png
    50. Assets/Plugins/iOS/UnityAds.bundle/audio_mute@2x.png.meta
    51. Assets/Plugins/iOS/UnityAds.bundle/audio_on.png
    52. Assets/Plugins/iOS/UnityAds.bundle/audio_on.png.meta
    53. Assets/Plugins/iOS/UnityAds.bundle/audio_on@2x.png
    54. Assets/Plugins/iOS/UnityAds.bundle/audio_on@2x.png.meta
    55. Assets/Plugins/iOS/UnityAds.bundle/en.lproj.meta
    56. Assets/Plugins/iOS/UnityAds.bundle/en.lproj/InfoPlist.strings
    57. Assets/Plugins/iOS/UnityAds.bundle/en.lproj/InfoPlist.strings.meta
    58. Assets/Plugins/iOS/UnityAds.framework.meta
    59. Assets/Plugins/iOS/UnityAds.framework/Headers.meta
    60. Assets/Plugins/iOS/UnityAds.framework/Headers/ApplifierImpact.h
    61. Assets/Plugins/iOS/UnityAds.framework/Headers/ApplifierImpact.h.meta
    62. Assets/Plugins/iOS/UnityAds.framework/Headers/UnityAds.h
    63. Assets/Plugins/iOS/UnityAds.framework/Headers/UnityAds.h.meta
    64. Assets/Plugins/iOS/UnityAds.framework/Resources.meta
    65. Assets/Plugins/iOS/UnityAds.framework/Resources/Info.plist
    66. Assets/Plugins/iOS/UnityAds.framework/Resources/Info.plist.meta
    67. Assets/Plugins/iOS/UnityAds.framework/Resources/en.lproj.meta
    68. Assets/Plugins/iOS/UnityAds.framework/Resources/en.lproj/InfoPlist.strings
    69. Assets/Plugins/iOS/UnityAds.framework/Resources/en.lproj/InfoPlist.strings.meta
    70. Assets/Plugins/iOS/UnityAds.framework/UnityAds
    71. Assets/Plugins/iOS/UnityAds.framework/UnityAds.meta
    72. Assets/Plugins/iOS/UnityAdsUnityWrapper.h
    73. Assets/Plugins/iOS/UnityAdsUnityWrapper.h.meta
    74. Assets/Plugins/iOS/UnityAdsUnityWrapper.mm
    75. Assets/Plugins/iOS/UnityAdsUnityWrapper.mm.meta
    76. Assets/Standard Assets/Editor/UnityAds.meta
    77. Assets/Standard Assets/Editor/UnityAds/Scripts.meta
    78. Assets/Standard Assets/Editor/UnityAds/Scripts/UnityAdsPackageGenerator.cs
    79. Assets/Standard Assets/Editor/UnityAds/Scripts/UnityAdsPackageGenerator.cs.meta
    80. Assets/Standard Assets/Editor/UnityAds/Scripts/UnityAdsPostprocessor.cs
    81. Assets/Standard Assets/Editor/UnityAds/Scripts/UnityAdsPostprocessor.cs.meta
    82. Assets/Standard Assets/Editor/UnityAds/XCodeEditor.meta
    83. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/LICENSE
    84. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/LICENSE.meta
    85. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXBuildFile.cs
    86. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXBuildFile.cs.meta
    87. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXBuildPhase.cs
    88. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXBuildPhase.cs.meta
    89. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXDictionary.cs
    90. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXDictionary.cs.meta
    91. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXFileReference.cs
    92. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXFileReference.cs.meta
    93. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXGroup.cs
    94. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXGroup.cs.meta
    95. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXList.cs
    96. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXList.cs.meta
    97. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXObject.cs
    98. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXObject.cs.meta
    99. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXParser.cs
    100. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXParser.cs.meta
    101. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXProject.cs
    102. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/PBXProject.cs.meta
    103. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/Readme.mdown
    104. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/Readme.mdown.meta
    105. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCBuildConfiguration.cs
    106. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCBuildConfiguration.cs.meta
    107. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCConfigurationList.cs
    108. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCConfigurationList.cs.meta
    109. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCFileOperationQueue.cs
    110. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCFileOperationQueue.cs.meta
    111. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCMod.cs
    112. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCMod.cs.meta
    113. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCProject.cs
    114. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCProject.cs.meta
    115. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCSourceFile.cs
    116. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCSourceFile.cs.meta
    117. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCTarget.cs
    118. Assets/Standard Assets/Editor/UnityAds/XCodeEditor/XCTarget.cs.meta
    119. Assets/Standard Assets/UnityAds.meta
    120. Assets/Standard Assets/UnityAds/ReadMe.pdf
    121. Assets/Standard Assets/UnityAds/ReadMe.pdf.meta
    122. Assets/Standard Assets/UnityAds/Scripts.meta
    123. Assets/Standard Assets/UnityAds/Scripts/Advertisement.cs
    124. Assets/Standard Assets/UnityAds/Scripts/Advertisement.cs.meta
    125. Assets/Standard Assets/UnityAds/Scripts/Advertisements.meta
    126. Assets/Standard Assets/UnityAds/Scripts/Advertisements/Misc.meta
    127. Assets/Standard Assets/UnityAds/Scripts/Advertisements/Misc/AsyncExec.cs
    128. Assets/Standard Assets/UnityAds/Scripts/Advertisements/Misc/AsyncExec.cs.meta
    129. Assets/Standard Assets/UnityAds/Scripts/Advertisements/Misc/MiniJSON.cs
    130. Assets/Standard Assets/UnityAds/Scripts/Advertisements/Misc/MiniJSON.cs.meta
    131. Assets/Standard Assets/UnityAds/Scripts/Advertisements/Misc/Utils.cs
    132. Assets/Standard Assets/UnityAds/Scripts/Advertisements/Misc/Utils.cs.meta
    133. Assets/Standard Assets/UnityAds/Scripts/Advertisements/ShowOptionsExtended.cs
    134. Assets/Standard Assets/UnityAds/Scripts/Advertisements/ShowOptionsExtended.cs.meta
    135. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds.meta
    136. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAds.cs
    137. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAds.cs.meta
    138. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsAndroid.cs
    139. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsAndroid.cs.meta
    140. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsEditor.cs
    141. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsEditor.cs.meta
    142. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsEditorPlaceholder.cs
    143. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsEditorPlaceholder.cs.meta
    144. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsExternal.cs
    145. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsExternal.cs.meta
    146. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsIos.cs
    147. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsIos.cs.meta
    148. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsIosBridge.cs
    149. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsIosBridge.cs.meta
    150. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsPlatform.cs
    151. Assets/Standard Assets/UnityAds/Scripts/Advertisements/VideoAds/UnityAdsPlatform.cs.meta
    152. Assets/Standard Assets/UnityAds/Scripts/ShowOptions.cs
    153. Assets/Standard Assets/UnityAds/Scripts/ShowOptions.cs.meta
    154. Assets/Standard Assets/UnityAds/Scripts/ShowResult.cs
    155. Assets/Standard Assets/UnityAds/Scripts/ShowResult.cs.meta
    156. Assets/Standard Assets/UnityAds/Textures.meta
    157. Assets/Standard Assets/UnityAds/Textures/test_unit_600.png
    158. Assets/Standard Assets/UnityAds/Textures/test_unit_600.png.meta
    159. Assets/Standard Assets/UnityAds/Textures/test_unit_800.png
    160. Assets/Standard Assets/UnityAds/Textures/test_unit_800.png.meta
    161.  
    Modification (if you have a UnityAdsHelper file, it may be in a different place to mine):
    Code (CSharp):
    1.  
    2. pete$ git diff --cached Assets/Scripts/UnityAdsHelper.js    
    3. diff --git a/Assets/Scripts/UnityAdsHelper.js b/Assets/Scripts/UnityAdsHelper.js
    4. index c55f87b..15a7cc2 100644
    5. --- a/Assets/Scripts/UnityAdsHelper.js
    6. +++ b/Assets/Scripts/UnityAdsHelper.js
    7. @@ -73,8 +73,6 @@ public class UnityAdsHelper extends MonoBehaviour
    8.                 }
    9.                 else
    10.                 {
    11. -                       Advertisement.allowPrecache = true;
    12. -
    13.                         Advertisement.debugLevel = Advertisement.DebugLevel.None;
    14.                         if (showInfoLogs) Advertisement.debugLevel |= Advertisement.DebugLevel.Info;
    15.                         if (showDebugLogs) Advertisement.debugLevel |= Advertisement.DebugLevel.Debug;
    16. @@ -95,7 +93,7 @@ public class UnityAdsHelper extends MonoBehaviour
    17.         public static function isReady (zone : String) : boolean
    18.         {
    19.                 if (String.IsNullOrEmpty(zone)) zone = null;
    20. -               return Advertisement.isReady(zone);
    21. +               return Advertisement.IsReady(zone);
    22.         }
    23.         public static function ShowAd () : void { ShowAd(null,true); }
    24. @@ -105,7 +103,6 @@ public class UnityAdsHelper extends MonoBehaviour
    25.                 if (String.IsNullOrEmpty(zone)) zone = null;
    26.            
    27.                 var options : ShowOptions = new ShowOptions();
    28. -               options.pause = pauseGameDuringAd;
    29.                 options.resultCallback = HandleShowResult;
    30.                 Advertisement.Show(zone,options);
    31.  
     
  41. WriterSP

    WriterSP

    Joined:
    Jul 29, 2015
    Posts:
    1
    Hello everyone! I have such kind of problem after migration to Unity 5.2 and running UnityAds in Services tab - I see that advertisement is initialized and supported but neither default video zone nor rewarded zone ad is ready and IsReady always returns false. Does anyone know what this issue might be about? Thank you!
     
  42. nspilanis

    nspilanis

    Joined:
    Sep 14, 2013
    Posts:
    4
    Hello @WriterSP.

    I had similar issue with rewarded video zone.
    Code sample under "Services" has
    -if (Advertisement.IsReady("rewardedVideoZone"))
    that returned always false, while
    -if (Advertisement.IsReady("rewardedVideo"))
    returns true.

    Not sure about default zone.
    Hope it helps. :)
     
  43. petermsmith

    petermsmith

    Joined:
    Jul 6, 2013
    Posts:
    1
    Does this work for anyone else? If I have this script in the project, ads never get initialized on my Android tablet whether I initialize them manually or not. Triple-checked the GameID.
     
  44. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,778
    Unity Ids, Ads, Organisations and Projects dashboard don't work for me at all. Is my account broken of is the whole system broken?

    Ads issues:
    I can't setup ad campaigns or ad locations as no options are there to do it.

    Project Issues:
    Unity created multiple projects for my project as it forgot my services details I had linked and then I clicked create again by mistake. Now I have multiple projects and cannot delete the duplicates.
    I cannot rename Projects.

    Organisation issues:
    I cannot transfer projects from one organisation to another.
    I cannot delete organisations.
    I cannot remove users from organisations even if there would still be an owner left after removing them.
     
  45. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    261
    Last edited: Jun 21, 2016
  46. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81

    Is this approach still working with Unity Ads 2.0?

    I am having alos the issue that if you launch the game offline ads are never shown
     
  47. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81

    it seems to work but the initiliaziation takes a while

    so if you Advertisement.Initialize("YOUR_ID"); and then
    call an Ad right away it doesnt work but it is a good approach anyway.

    So you can check first for the internet connection with some dummy get request and then you initiliaze your ad
     
  48. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    1,945
    Hi there,
    I intend to initialize Unity Ads manually so i can change the game ids on runtime as im using same base code for multiple games.
    Please advise
     
  49. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,778
    Use an Ad mediation platform and change the app id used to initialise them based on the game that is running. Then setup an individual app for each game in the mediation dashboard. I recommend Iron Source or Fyber. They are the easiest to use in my experience.
     
  50. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    1,945
    I actually want to use Unity Ads, Mediation require considerable time setting up ad providers etc