Uploaded image for project: 'Appcelerator Modules'
  1. Appcelerator Modules
  2. MOD-2423

Android: Add non-personalized ads support to "ti.admob"

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Release 7.2.0
    • Component/s: None
    • Labels:
    • Story Points:
      3
    • Sprint:
      2018 Sprint 11 SDK

      Description

      Summary:
      By default, AdMob provides targeted ads based on user identifiable information. In order to comply with the EU GDPR, we need to be able to provide "non-personalized ads" (aka: "npa") if the end-user has not consented to targeted ads.
      https://developers.google.com/admob/android/eu-consent

      Recommended Solution:
      Modify the following AdMob requestAd() to accept a dictionary of properties (method currently does not support arguments). The property we need is extras, which must be a dictionary of strings. The item needed is "npa".

      admob.requestAd({
      	extras: { npa: '1' }
      });
      

      This "extras" dictionary of strings will then be blindly copied to an Android Bundle when requesting an ad, as documented here...
      https://developers.google.com/admob/android/eu-consent#forward_consent_to_the_google_mobile_ads_sdk

      The advantage of creating an "extras" dictionary is because it'll then behave the same as "ti.admob" for iOS and there are other documented Google extras that can be used.

      Also, adding a dictionary of properties to requestAd() leaves room for the possibility to support interstitial ad support in the future.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                hknoechel Hans Knöchel
                Reporter:
                jquick Joshua Quick
                Reviewer:
                Joshua Quick
              • Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Git Integration