Mobile Adverts plugin changes for r254

2 favourites
From the Asset Store
Simplistic hyper-casual game with nature elements. Tap to switch between the 4 elements and reach a better score.
  • As of r254 the Mobile Adverts plugin has been updated to support Admob SDK version 20.0.0 and up, as well as the new EU consent form and IDFA messages (iOS only).

    The plugin still works largely the same, but there are some new features and a few other things that have been removed or deprecated. So let's go over them now.

    Deprecations

    Plugin properties

    • Publisher id: is no longer needed to be specified explicitly as it is inferred from the application ids.
    • Ad free option: this is no longer an option supported by Admob SDK, so it is being removed from the plugin.
    • Privacy policy url: although this plugin property is no longer needed, you still need a privacy policy when setting up the EU consent form, more on that later.

    Features

    • Video adverts: everything related to video adverts has been deprecated as whether or not an advert is a video is decided only by the configuration of ad units in your Admob account, rather than by explicitly requesting for a video.

    On track for deprecation

    • Set user personalization: it is no longer possible to change this setting at the SDK level. Whether ads are personalised or not is decided by the user giving or declining consent. You can still use this action using the "No Adverts" option, which will effectively turn off ads. It is likely this action will be deprecated in the future.

    New features

    • Rewarded advert: this type of ad replaces the old video adverts.
    • Rewarded interstitial advert: previously unsupported ad type.

    EU consent and IDFA

    A few things are needed to setup EU consent forms and IDFA messages (iOS only), so let's go over the whole process.

    Funding Choices Account

    In order to set up an EU consent form and IDFA messages (iOS only), you will need to create an account at https://fundingchoices.google.com/ which is linked to your existing Admob account. To do so, follow this steps:

    1. Login to your Admob account.
    2. Click on Privacy & messaging in the left hand side menu.
    3. Click on the Go To Funding Choices button.
    4. Follow the steps to create your new account.

    After doing that, your new account will already have knowledge of applications created in your Admob account and you will be able to create EU consent forms and IDFA messages (iOS only) for them.

    Creating Messages

    Now that the funding choices account is setup, you need to create a message, to do so follow these steps:

    Select application

    Select one of your applications by clicking on the Apps option of the left hand menu and then by clicking on the application you want to create the message for.

    Fill consent details

    Now click on the Consent Details button, to set up what the form will be requesting from the user.

    There are a few details to complete here:

    • Consent framework: pick the only option available.
    • Purposes for your own use: pick the permissions necessary for showing ads.
    • Privacy policy URL: enter your privacy policy URL here.
    • Vendors associated with your app: you can pick which vendors your app will use for adverts. You can just tick the Commonly used vendors checkbox here.

    Hit Save and let's continue.

    Create message

    Click the Create button to create a message. In the case of Android there will be a single option here to create a EU consent message. In the case of iOS there is also the option to create an IDFA message. In iOS you will need to create both messages.

    Now follow the steps to complete the message, first you will setup the name of the message, the languages it will support and the consent options the form will have. Won't go into much detail here as it is fairly straight forward.

    Then you are given the option to style the form to better suit the style of your application. The styling options are pretty limited though.

    Once you are done, save everything and your message will be created!

    Make sure to publish the message so your application can start using it. Do so by clicking on the three dots menu on the message entry and selecting Publish.

    With all of that setup, everything should be ready to start showing ads!

    Known issues

    During development we haven't been able to get iOS apps to show ads, we are still trying to figure out why. Hopefully it will be sorted out quickly.

    Update r256

    Deprecations

    Features

    • Set user personalization: this action will not do anything when used, so it is advised you remove it if it was in use.
    • On User personalization updated: this condition is no longer fulfilled

    Changes

    • Consent status: this expression now returns different values. It now returns any of the following: REQUIRED, NOT_REQUIRED, OBTAINED or UNKNOWN

    Update r257

    Deprecations

    Plugin properties

    • Show Consent: was removed because the desicion of showing the consent dialog is now made automatically using information provided by the User Messaging Platform SDK.

    Update r258

    Additions

    Plugin properties

    • Show on start up: A toogle to choose wether to show the consent form automatically on start up.

    Caveats

    The following only applies for iOS devices.

    IDFA Message

    If you have an IDFA message set up in your Funding Choices account and the application is opened by a device in the EEA, the ATT dialog will be shown immediately after the EU consent form. This is how the underlying SDK works and it is mentioned in Google's own quick start guide.

    However, if you disable your IDFA message or don't have one at all, then the ATT dialog won't be shown automatically and you will be able to control when it appears by using the Request IDFA action.

    Spoof Location in real device

    Unfortunately at the moment it is not possible to use this feature in a real device with iOS version 14 or greater. This is because to enable the feature, it is necessary to have access to the IDFA beforehand, which is not possible without first showing the ATT dialog. Since the dialog can only be shown one time, enabling the feature makes it impossible to later test how the application would behave upon first installing it. The feature can still be used in a simulator though.

    Update r260

    As of r260 all of this changes are in the stable release. The documentation for the plugin has been updated.

    construct.net/en/make-games/manuals/construct-3/plugin-reference/mobile-advert

  • DiegoM Small thing to note; this prompt appears on export, mentioning things that are now obsolete.

  • Thanks for pointing it out, will be fixed for the next beta.

  • DiegoM

    Did you remove the option to change the size of the banners? I'm getting the same sizes on my banners regardless of what I select.

    Edit: I just read that smart banners are deprecated in favor of adaptive banner ads in SDK v20 so I guess adaptive banners is the only option nowdays?

  • Maybe funny question but what will happen with our old projects after update? Should we remove deprecated events-actions so we can successfully load the project?

  • boulerzzz

    That is bug, it should be possible to select banner sizes. At the moment it is defaulting to Smart Banner. Will be fixed in the next beta.

    Adaptative banners are not yet implemented.

  • ciko

    The only actions and conditions that have been deprecated are the ones regarding Video ads, which have been replaced by the new Rewarded Ads.

    The deprecated actions and conditions still exist, but it is no longer possible to create new ones.

    If an existing project uses them, they will still work and behaive just as the new Rewarded Ads. If you delete an existing deprecated action or condition, you will need to replace it with the corresponding replacement.

    It is not strictly necessary to replace the deprecated events, but it is strongly recommended.

  • boulerzzz

    That is bug, it should be possible to select banner sizes. At the moment it is defaulting to Smart Banner. Will be fixed in the next beta.

    Adaptative banners are not yet implemented.

    Alright thanks! I was confused for a while if something had changed. 🙂

  • ciko

    The only actions and conditions that have been deprecated are the ones regarding Video ads, which have been replaced by the new Rewarded Ads.

    The deprecated actions and conditions still exist, but it is no longer possible to create new ones.

    If an existing project uses them, they will still work and behaive just as the new Rewarded Ads. If you delete an existing deprecated action or condition, you will need to replace it with the corresponding replacement.

    It is not strictly necessary to replace the deprecated events, but it is strongly recommended.

    Tnx, I was worried only about loading old project without issues. Every change we need to make after that shouldn't be a problem.

  • Do we need to make changes to our old projects and send a version update? (android)

  • First of all, thank you for finally working on this one.

    A few comments

    1)

    I've highlighted in several old forum posts that the new concent is a "breaking change" compared to the old one. I suggested to create a new plugin and deprecate the old one. Now it is somehow "a bit" updated, but a mix of the old and new.. I don't know how this should be handled now. But at the moment the ConsentStatus doesn't work at all.

    In the previous SDK you could get:

    • ConsentStatus.PERSONALIZED
    • ConsentStatus.NON_PERSONALIZED
    • ConsentStatus.UNKNOWN

    But in the new google consent you can get

    • (ConsentStatus.UNKNOWN: Unknown consent status.)
    • ConsentStatus.REQUIRED: User consent required but not yet obtained.
    • ConsentStatus.NOT_REQUIRED: User consent not required. For example, the user is not in the EEA or the UK.
    • ConsentStatus.OBTAINED : User consent obtained. Personalization not defined.

    In the plugin at the moment it seems like this doesn't work. When I'm opening my app I get the ConsentStatus "PERSONALIZED" now. This is incorrect, this status does not exist in the SDK and we need to be able to validate the correct ones. When opening the app in EU we should get REQUIRED, and opening the app elsewhere it should be NOT REQUIRED. This is needed to validate if we should show consent window or not.

    When I use the event to show to consent window the ConsentStatus changes to UNKNOWN(??)

    (I understand you might ned to keep the old stuff to not make old projects crash, but at the moment the plugin doesn't really work)

    2)

    I cannot get the condition for validating the EEA to work? Have you verified and tested this condition in the new plugin? (For me it seems to be EEA regardless of the location)

    3)

    I cannot get the ConsentForm to show. I can see in logcat that "getFormStatus" is triggered at startup, but it doesn't show when I use "Show user consent dialog", and not when I set EEA in the properties either. Do you still support to automatically open the consent screen with the properties, or should we always use the "Show.." event now? Regardless, I cannot get any of them to work. (Yes I have Funding Choices set up, and have verified this with other users as well)

    4)

    I think it would be great if you could add the action to reset the consent (this is good for testing, but also for production to let users reset their choice). It is missing in your C3plugin. github.com/admob-plus/admob-plus/blob/4e72049/packages/cordova-consent/ts/index.ts

    5)

    When checking logcat it seems you are calling get getConsentStatus twice every time used (on loading plugin, every time you load an ad etc). Is this correctly implemented? Maybe it just looks odd in the logs.. :)

    6)

    I know you/Scirra did not build this plugin yourself and I really hope you paid Ratson well for using his plugin! :) Even though it's open source. The project needs funding.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I am having the same issues as Fredrik.

    1. When I start my app my consent status is "UNKNOWN" when it should be "REQUIRED", since I am based in EU. If you are outside EU the status should be "NOT_REQUIRED".

    2. I cannot get the consent message to show.

    3. No ads will load if the status is "UNKNOWN"?

    4. The "Set personalization" action still works and changes your consent status. After that ads will load fine.

    5. Also what does the "Show consent message" action really do?

    Googles documentation says we should:

    1. Request the latest consent information.

    2. Check if consent is required.

    3. Check if a form is available and if so load a form.

    4. Present the form.

    Is 1-3 done when the app starts? And then we just show it with the action?

    These are some of my observations so far. :)

  • When the app is initialising I can see this in the logcat, seems like you are running some of your old code? I don't know what is going on, but htis looks really wrong:

    It seems from the above printscreen that you still have remaining code to validate "personalisation" which now should be obsolete.

  • If we have "UNKNOWN" as ConsentStatus we cannot even load any ads, since you have some restriction on this:

    But using the old (deprecated?!) event to set personalisation will make it work. and consentStatus will be PERSONALIZED and the load of ads works.

    This is not correctly implemented

  • In old versions of my game the ads are working normally, but I'm trying to create a new version using the updated plugin and no ads are displayed on the Android device, no interstitials, no banners... none! My game is restricted to South America, does anyone know why this is happening?

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)