Search Unity

Confused & Annoyed about 2.x Ads Update.

Discussion in 'Unity Ads & User Acquisition' started by Aurigan, Oct 13, 2016.

  1. Aurigan

    Aurigan

    Joined:
    Jun 30, 2013
    Posts:
    291
    I'm already using Unity Ads via the built in Services panel in 5.4.1. As far as I can gather that's v1.something of the Ads SDK ... doesn't seem to be listed anywhere.

    Unity has now released a v2 of the Ads SDK but the only way to use it is to:

    * disable the current ads integration in the Unity Services panel
    * setup a new property on the ads web portal dashboard
    * install the new v2 package from the asset store and set that up

    Frankly this seems stupid. You built a way to have the Ads SDK right in the editor and now I have to undo that? While trying to work out how to use v2 I also came across this note in the docs:


    So ... why are you emailing me about v2? Advertising a new feature you recommend not using seems like a total waste of my time.

    If you want to get v2 live asap why not put it in the latest 5.4 patches? Alternatively if you want to be free of the Unity Editor release cycle then remove Ads from the services panel.

    I may have had too much coffee today.
     
  2. rasmus-unity

    rasmus-unity

    Moderator

    Joined:
    Aug 15, 2014
    Posts:
    1,312
    Hi,

    Thanks for your feedback. For multiple reasons, we decided on the used release process for Unity Ads SDK 2.0, among:
    • "Controlled" release. SDK 2.0 is a major rewrite of the code, and while we believe we do run extensive testing in-house during development, we're also aware that some issues might first be found in production (and has been the case, e.g. related to iOS 10)
    • Stability of Unity patch releases. Given the focus on stable Unity releases, the general rule is to use patch releases for bugfixes and not new features. SDK 2.0 is in this case a new feature, and as said above, has a potential of introducing regressions, which would slow down our development process, if we would have to maintain multiple versions at the same time. So we have chosen to focus on Unity 5.5 only.

    Sounds like you are already aware, Ads SDK 2.0 is included in Unity 5.5, which you can download from https://unity3d.com/unity/beta, so this way you can still use engine integrated Ads SDK. And we would of course appreciate any feedback on Unity 5.5, if this is an option for you.

    Hope it answers your questions.

    Thanks,
    Rasmus
     
  3. Aurigan

    Aurigan

    Joined:
    Jun 30, 2013
    Posts:
    291
    It sounds like the 'controlled release' concept is Unity using the user base to test out v2 because you're expecting it to not really be production ready. Why not *just* use the 5.5 Beta to do this? Or at the very least put a warning on the asset store page to match the documentation to point out that you're recommending not to use v2.

    As far as I can tell v2 of the Ads SDK does exactly the same as v1, I fail to see how it could be claimed as a new feature.

    From your response it's pretty clear that you're using the store release of v2 as a way to get more testers. It's a beta you're advertising as production-ready. You're subverting expectations by doing this which burns the good will of the developers you rely on.
     
  4. rasmus-unity

    rasmus-unity

    Moderator

    Joined:
    Aug 15, 2014
    Posts:
    1,312
    Again thanks for your feedback.

    First, we wouldn't have released SDK 2.0, if we didn't think it was ready for production use. So no, SDK 2.0 is not a beta release (we did have a beta phase with few select publishers before the actual release, testing with external testers in different regions)

    And as written, it was a major rewrite of the SDK codebase, so in this sense it's at least not just considered a bugfix. You're right that it might not be a new feature as such :)

    To highlight a new feature of SDK 2.0 compared to 1.5, is ability to show brand ads and fixed bugs related to connectivity, e.g. retry-logic when device connects/disconnects from network, which was one of the bigger complaints in 1.5.

    You are free to choose which version you want (we will keep 1.5 for a while, e.g. for Unity 4.x users), but as said we have shipped 2.0 as it's production-ready. Otherwise it would actually just result in more work for us, if it wasn't ready. So no, we don't have any interest in shipping software which is not finished.

    Have you experienced issues with SDK 2.0?

    Thanks,
    Rasmus
     
  5. Aurigan

    Aurigan

    Joined:
    Jun 30, 2013
    Posts:
    291
    I've not yet tried v2 because your docs explicitly recommend against doing that *even though* you're sending me emails advertising it.

    http://unityads.unity3d.com/help/monetization/integration-guide-unity#using-the-asset-package

    If you don't have the confidence to put it in a released / patch build then it shouldn't be on the asset store either. You've created a situation where there's the current version, the beta version and the store version ... which you're recommending against using. <facepalm>
     
  6. rasmus-unity

    rasmus-unity

    Moderator

    Joined:
    Aug 15, 2014
    Posts:
    1,312
    You're right, we had apparently missed that one. You are looking at a page for SDK 1.5, and back then the recommendation was correctly to use engine integration instead of asset store package, since this is easier for developers, and e.g. they would automatically get latest version of SDK when upgrading Unity.

    Thanks for pointing out this confusion in documentation, we will make sure to fix it (however top of that page does say that 2.0 has been released).

    We have lots of games using SDK 2.0, and it is ready for production use, not in beta any longer. As said, you decide which version you want to use (or if you want to use Unity Ads at all or another ad network SDK - we're not forcing you in any way).

    Thanks,
    Rasmus
     
    Last edited: Oct 13, 2016
  7. Aurigan

    Aurigan

    Joined:
    Jun 30, 2013
    Posts:
    291
    That's still the case ... so the recommendation should still be there.

    I remain deeply unsatisfied ... what exactly is the *point* of the services integration if you're going to keep circumventing it with asset store releases?

    It's nuts that in order to use the 'latest production ready' version of a Unity service I first have to manually disable that service in Unity. Just, what ?!?

    This sort of behavior just shouldn't be possible in a company as large as Unity is. The ONLY reason you're doing it is to run a beta access program (ahem, 'controlled release' in your terminology) but Unity *already has* a beta access program. Baffling.

    Is there nobody in charge of Services as a whole? This whole setup smacks of internal politics gone very wrong.

    I may have had too much coffee again today.
     
  8. unity-nikkolai

    unity-nikkolai

    Joined:
    Sep 18, 2014
    Posts:
    540
    @Aurigan Sorry about the confusion on this. You're right. You're frustrations are completely valid, and we do feel your pain. We're working hard to try and address them, across services and for services as a whole. It's something that's going to take time to fix, but it should end up being more streamlined and less involved than it is at the moment.

    The issue of 2.0 not being in the Unity beta has to do in part to disparity in the Ads development cycle and the Unity delivery windows. Using an asset package deliverable is fastest to update, and was already familiar territory for us as developers and for users who have used Unity Ads prior to 5.2. Since 2.0 was in active development, we needed it outside of the engine so that we could iterate faster than the engine release cycle would permit. This is an issue we're working to address with the engine team, so that we can include these extensions in engine without the engine release cycle being a limiting factor for delivery.

    I appreciate you pointing out that area of the docs. A lot of the details there were written for 1.5, and didn't have 2.0 in mind since it hadn't been developed yet. We need to do a pass on all docs now that 2.0 is available. We'll get the docs updated shortly.

    We appreciate you hanging in there with us, and really appreciate the feedback and honesty in it. We're dedicated to making this better. The feedback is a big help in guiding our efforts.

    Thanks again.
     
  9. Aurigan

    Aurigan

    Joined:
    Jun 30, 2013
    Posts:
    291
    Um, my understanding from the first response from @rasmus-unity is that it IS in the current beta. It looks like there are new beta releases once a week.

    If v2 of the Ads SDK is so broken/volatile that a week is too long to wait then it shouldn't really even be in a public Beta and there's no way on earth it makes sense to turn it into a 'production ready' asset store download that likely won't get updated until players run into breaking issues and flame the developers.

    The better solution has to be 1. Use the current Editor integrated services panel 2. Use the beta version of Unity for betas 3. Add a notification mechanism to the Editor when there's a recommended update / critical bug fix available.
     
    unity-nikkolai likes this.
  10. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    390
    Honestly I've had trouble with the editor services integration. That system is constantly logging me out and forgetting the link to the project. It forces every developer working on the project to have a unity account that is also logged-in to services and linked in order to even compile the project scripts. It's often much easier just to grab the package from the Asset Store and that way it's automatically there for my developers when the new assets get updated via source control.
     
  11. rasmus-unity

    rasmus-unity

    Moderator

    Joined:
    Aug 15, 2014
    Posts:
    1,312
    @tessellation, I've seen this few times on bad network connections, but not been able to consistently reproduce this issue, even if testing with proxy with network throttling enabled. If you have consistent repro steps, please let us know.

    @Aurigan, again thanks for your feedback, and as Nikkolai points out we need to get the documentation updated (which is actually already happening, just not published yet). Regarding our release process, hope you see this as just information on the strategy we have chosen for SDK 2.0. As you say, there are pros and cons (as usual...) to this, but we believe this is the best way to release fast for those publishers who would like the SDK 2.0 features early (using asset store package) and then get it rolled into Unity 5.5 release as part of the engine. And correct, we have chosen not to get SDK 2.0 into Unity 5.4 (or earlier versions), since we have also rewritten parts of the engine integration code specifically for 5.5, which would not easily be backported to earlier versions. Hope it makes sense.

    We will still keep the Asset Store package for those publishers who choose this, e.g. for backwards compatibility for projects using Unity Ads SDK before the engine integration was available.

    Thanks,
    Rasmus
     
  12. screenname_taken

    screenname_taken

    Joined:
    Apr 8, 2013
    Posts:
    663
    This ads thing is also confusing me a bit as well, because it seems the asset sometimes doesn't play well. I was using the built in ads, then i imported 2.0.4 and disabled the built in one. But the editor keeps turning it on after 10 seconds i press play, and it starts spewing out errors that the Advertisement is defined more than once. And when i look at the services the built in ads have been turned on. Also, 5.5 is based on 2.0.4. Isn't that having an issue with iOS 10 limit tracking?
     
  13. rasmus-unity

    rasmus-unity

    Moderator

    Joined:
    Aug 15, 2014
    Posts:
    1,312
    @screenname_taken, which version of Unity are you seeing the issue with Services window in?

    Unity beta 5.5.0b8 has Ads SDK 2.0.5 included. iOS 10 limited ad tracking is dealt with on server-side, so as such all SDK 2.0 versions should be able to support this.

    /Rasmus
     
  14. screenname_taken

    screenname_taken

    Joined:
    Apr 8, 2013
    Posts:
    663
    @rasmus-unity Been seeing this with 5.4.1 and 5.4.2. When i have the ads plugin imported. If i turn off the built-in ads, the pack runs fine once, i get the Unity Ads 2.xx style ad test screen in the editor. But it will always start giving the errors even if it does show the ad thing. Then after i stop running the game in editor, it'll start doing something as if it's recompiling (the circle in the bottom right of the window is going round and round.) then i'll get a bunch of errors and it won't run again. It'll say that i need to fix the compile errors before i can run it again.
    If I go to the services window and just toggle the built in ads, it'll work again.

    Also. a lot of times when i'm running the project in the editor, the services window will get the focus, do it's thing, and then i'll have to click on the game window in order to keep on testing.

    When building on mobile everything is fine though.
     
  15. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    390
    @rasmus-unity Yes it's very easy to reproduce, I just quit Unity editor and restart it. Then Services is logged out and I have to click "I already have a Unity Project ID" to relink it to my project every time. Note that I am using unity 5.3.6p5, so perhaps this issue is fixed with Unity 5.4/5.5?

    Another thing that gets lost when I quit Unity editor is the Android keystore signing passwords. I have to enter in the two passwords every single time I quit unity and then want to build Android. Rather annoying.
     
  16. screenname_taken

    screenname_taken

    Joined:
    Apr 8, 2013
    Posts:
    663
    I think the android passwords thing is for security? Though i'm not sure.
     
  17. davidc3402

    davidc3402

    Joined:
    Oct 30, 2016
    Posts:
    7
    I am new to unity and I do like the IDE. I have scraped together my first cheesy app and set out to put ads in with so far no luck. I have tried a few competitors also and this is almost like splitting hairs.

    The documentation is confusing and I have always gone by the rule of thumb that if its not documented it's not done. Just keep it away and out of my sight if that's the case. It's a recipe for poor implementation regardless of any buzz word development model label pasted on it. Consuming the sands of my time cleaning up afterwards could of been prevented. I am not concerned about a date deadline bean being counted.

    Developers can't reach out into the heavens and align the stars blindfolded or randomly. Just a suggestion would be to have a selection component to selecting which SDK you really need for the project. Think back to the days of the drivers and browser wars. Some organizations got smart and still do to this day have web interfaces built with dropdowns to select what is best for your environment/model etc.

    There's honestly to much trial and error attempts going on here. Even after reading this thread I am uncertain where to enable the service in the IDE or not? I am still waiting for the download that is taking forever on the SDK so maybe before it's done i will find a definite answer. I like the path that is being taken with the IDE, but this confusion is baffling. I wasn't expecting this.
     
  18. screenname_taken

    screenname_taken

    Joined:
    Apr 8, 2013
    Posts:
    663
    @davidc3402 Its really easy to turn it on from the editor. Plus all the code that i needed to put in my project was from the documentation.
    This thread is for a bug.
    To turn it on, go to the unity editor, then after you open your project, go to Window -> Services. Then click on the Ads and turn them on. See that "Settings" button? click it and you'll also get Code examples and documentation.
    The Ads control panel (To set up your project, get your IDs and setup the ads) is at https://dashboard.unityads.unity3d.com/

    The Unity editor is not a complete IDE as you can't write code from it directly. You need monodevelop or VisualStudio (Those are IDEs)
     
  19. rasmus-unity

    rasmus-unity

    Moderator

    Joined:
    Aug 15, 2014
    Posts:
    1,312
    @davidc3402, thanks for your feedback. It would be interesting for us to know which steps you tried in order to integrate Unity Ads into your game. At least for me when I google for "unity ads integrate", the first results are

    Unity - Services: Integrating Unity Ads: https://unity3d.com/learn/tutorials/topics/production/services-integrating-unity-ads
    Unity - Manual: How to use Unity Ads: https://docs.unity3d.com/Manual/UnityAdsHowTo.html
    Integrating Unity Ads – Unity Blog: https://blogs.unity3d.com/en/2015/04/09/integrating-unity-ads/
    Integration Guide for Unity - Knowledge base - Unity Ads: https://unityads.unity3d.com/help/monetization/integration-guide-unity

    We're actually trying to keep both integration and documentation as easy to follow as possible, so we do appreciate feedback on the user experience on integrating Ads into Unity games.

    Regarding your suggestion on selecting SDK version using a dropdown, our plan is to get rid of Ads SDK 1.x as soon as possible, primarily when we have support for Unity 4.x in SDK 2.0, which should hopefully solve some of the confusion mentioned in this thread.

    Thanks,
    Rasmus
     
  20. davidc3402

    davidc3402

    Joined:
    Oct 30, 2016
    Posts:
    7
    Rasmus,
    Let me start with what I am working with:
    Android 4.4.2
    Untiy IDE 5.4.0f3 (closer to ide than notepad, which is definitely not a development environment, even though i can compile via command line if i had to)
    Notepad++ for editing code. (mono gets quirky sometimes and slow to load, VS also, another topic for a rainy day discussion not my worry at the moment)
    My goal was to create a new blank scene(in addition to the main scene) and add a script to handle the ads when the adscene loads and only then. The main reason is because in the gameplay scene i toggle canvases to loop the player back to starting over. So when they reach game over the canvas menu shows though they should randomly get redirected to another scene for a few for a ad then back to the gameplay scene that's sitting at the game over menu still.

    I first started googling initially. Google is a good teacher along with experience, but sometimes it's to much. One of those links did have a reference to the services built into the ide. I thought nice that's innovative. Since the google search was creating minutia and i was like oh no ive stepped into a version control issue, i abandoned google for the ide. So i start up the service and there is a getting started link. I'm like ok this is looking better.
    http://unityads.unity3d.com/help/monetization/getting-started
    I click the click here link for unity engine and it sends me here:
    https://www.assetstore.unity3d.com/en/#!/content/66123
    Now to my own fault i didn't scroll all the way down in the dowload/import frame and i missed the wording:
    "Please note If you already have integrated Unity Ads in Unity 5.2 or newer through the integrated workflow, you need to disable that prior to using this updated version"
     
  21. davidc3402

    davidc3402

    Joined:
    Oct 30, 2016
    Posts:
    7
    Rasmus,
    Let me start with what I am working with:
    Android 4.4.2
    Untiy IDE 5.4.0f3 (closer to ide than notepad, which is definitely not a development environment, even though i can compile via command line if i had to)
    Notepad++ for editing code. (mono gets quirky sometimes and slow to load, VS also, another topic for a rainy day discussion not my worry at the moment)
    My goal was to create a new blank scene(in addition to the main scene) and add a script to handle the ads when the adscene loads and only then. The main reason is because in the gameplay scene i toggle canvases to loop the player back to starting over. So when they reach game over the canvas menu shows though they should randomly get redirected to another scene for a few for a ad then back to the gameplay scene that's sitting at the game over menu still.

    I first started googling initially. Google is a good teacher along with experience, but sometimes it's to much. One of those links did have a reference to the services built into the ide. I thought nice that's innovative. Since the google search was creating minutia nightmare and i was like oh no ive stepped into a version control issue, i abandoned google for the ide. So i start up the service and there is a getting started link. I'm like ok this is looking better.
    http://unityads.unity3d.com/help/monetization/getting-started
    I click the click here link for unity engine and it sends me here:
    https://www.assetstore.unity3d.com/en/#!/content/66123
    Now to my own fault i didn't scroll all the way down in the dowload/import frame and i missed the wording:
    "Please note If you already have integrated Unity Ads in Unity 5.2 or newer through the integrated workflow, you need to disable that prior to using this updated version"
    So I went back to the getting started page then to the Integration Guide for Unity linked in the left menu. Again further down it talks about turning off the service or if turning it on uninstalling other packages. Which doesn't show in the assests menu as expected after you import that either.

    My environment is surely messed up now. I did have it going to a scene that said everything is working but when i installed the apk i still ended up with a blue screen of death.

    Since then i am still going in circles to figure out the best way to do this. Which way now? Start over, clean up what i have, or any better idea?

    Having the link to the docs open in the ide like the assets store would be nice if it passed the parameters for my environment with it so that i go to just what i need to see instead of fishing through archived (should be archived) docs.
     
    Last edited: Oct 30, 2016
  22. davidc3402

    davidc3402

    Joined:
    Oct 30, 2016
    Posts:
    7
    I'm not dissatisfied though surprised like i was saying. I am just getting a feel for things before i commit to anything further. I am questioning my trust on imports a little at the moment.
     
  23. davidc3402

    davidc3402

    Joined:
    Oct 30, 2016
    Posts:
    7
    Sorry about the double post above. I have found the solution/path I needed. After upgrading to 5.4.2f2 I decided to start fresh from the start with a test app. I turned on the service in the IDE :) and stayed away from all ad plugins (If services are toggled on in the IDE and plugins added you are better off to start over with a new project since they will conflict like it says somewhere in the documentation. There's really no since in wasting time with all the errors and still get no where with it.) I then created two scenes and 3 javascripts. I attached the first adsInit script to the camera in the intro scene along with a transition script that yields for 3 seconds and redirects to the adscene. The adsInit has everything up to Advertisement.Initialize line nothing more. Once it transitions to the adscene after 3 seconds the main camera in that screen has the while initialized and isready show the ad. With test mode on I took it for a spin. The transition and ad in the second scene worked fine. I got the electric guitar test game download ad with some sort of golden ring in the graphics.

    Just my opinion, in a transitional state with functionality there should be more than one install/setup guide for each approach (transitioning or starting new) and not try to explain appeal back and forth in one document or explaining all in several documents. I would have avoided the term "integration" completely because of interpretation reason and also made warning notes more visible up front to promote the new direction with the new functionality that saves time. Also when referring to a studio spell it out as "Android Studio". When sleep dep is hitting you hard and you see key words its easy to start running down the wrong path. The most helpful doc to me was the integration-guide-unity and not the plugin page thru the click here link. Still in my case and as a informational reader having it split into two pages would of been nice. I like concise information at the right time and not all the going back and forth or swimming through archives or the web.

    Overall, I am pleased with how simple the built in IDE services works and the few lines of code needed without having to mess with a plugin. Time for me to export my old to my new project. Thank you, the more i use Unity the more i like it and enjoy using it. Keep up the good work and forgive me for the re-learning curve. I am knocking off a bit of old rust.
     
  24. screenname_taken

    screenname_taken

    Joined:
    Apr 8, 2013
    Posts:
    663
    Can i make a suggestion? I too was doing things in UnityScript a while back, but then switched to C# because the script editors wouldn't support code completion with UnityScript, just C#.
    And some plugins are in C# and when you need to make the two languages talk to each other, it make be a bit of a mess.
     
  25. davidc3402

    davidc3402

    Joined:
    Oct 30, 2016
    Posts:
    7
    I could use a little more intellisense to attempt to catch up to you guys :). I don't know for sure if this is the right thread for another situation i am having when the game loads or not, but i suspect i am missing something having to do with the ads and the raycast. Have any of you heard of any problems with it?
     
    Last edited: Nov 3, 2016
  26. rasmus-unity

    rasmus-unity

    Moderator

    Joined:
    Aug 15, 2014
    Posts:
    1,312
    @davidc3402, please start another thread for that :)

    And thanks for the feedback above
     
  27. davidc3402

    davidc3402

    Joined:
    Oct 30, 2016
    Posts:
    7
    No worries, figured it out. I was putting the init script on the camera instead of a blank object like the instructions said. I have a random instantiate on the object now and its working even better. That's probably not going to rack the numbers up I know. It was a feature a few teenagers told me to put in though.

    Thanks again Rasmus and Nikkolai
     
  28. mikeburns

    mikeburns

    Joined:
    Sep 17, 2017
    Posts:
    7
    what's the current situation with Ads/Advertsiement/Monetization? Using 2019.2, I enabled Ads in the services, which installs the 2.0.8 Ads package. It says it's compatible with 2019.2, but then it can't find UnityEngine.Monetization package. I look under the versions in the package manager, and there's a version 3.2, which is higher than 2.0.8, but seems to be "outdated", as it is called "Advertisement" and not "Ads", and when I view the docs, it says DEPRECATED at the top. So I assume that's incorrect? Then there is an Asset Store thing called "Monetization", which I install (first I uninstall the package and turn off the service) and then it seems to work, except I get a warning:

    Re-iterating the sentiment of this thread, the documentation on these rather core and important features is really bad, and the forums and Unity Answers are often super out-dated and not well-kept.
     
  29. ap-unity

    ap-unity

    Unity Technologies

    Joined:
    Aug 3, 2016
    Posts:
    1,519
    I agree there has been a lot of confusion around the recent releases and we are working to clear that up.

    You should always use the latest version of the Ads package (or whatever we're calling it this release) and you can do so from the Asset Store or Package Manager. (You don't need to do both.)

    This is our most up to date integration guide for Unity:
    https://docs.unity3d.com/Packages/com.unity.ads@3.2/manual/MonetizationBasicIntegrationUnity.html

    (It's for the Package Manager version, but everything is the same for Asset Store aside from the installation.)

    The Advertisements namespace is not deprecated and should not be marked as such anywhere. We have marked as "Legacy" when 3.0 was released, but even that was probably premature.

    Today, we recommend the Advertisements namespace as the preferred way to integrate ads.