Confused & Annoyed about 2.x Ads Update.

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:

[quote]
Note: If you are using Unity 5.2 or later, you can still use the Unity Ads asset package for Unity Ads integrations. However, we do strongly recommend using the in-engine version of Unity Ads by enabling Unity Ads through the Services window instead.
[/quote]

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.

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 Unity Editor Beta Releases, 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

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.

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 :slight_smile:

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

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.

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

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.

@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.

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.

1 Like

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.

@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

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?

@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

@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.

@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.

I think the android passwords thing is for security? Though i’m not sure.

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.

@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)

@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: PR & Marketing Advice - Unity Learn
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: Unity developer integration guides

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

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:

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”