Details

    • Type: Improvement
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Admob
    • Labels:
      None

      Description

      Can the ti.admob module please be adjusted to support the new Native Advanced admob ad units?

      I think that the ti.admob module will need to introduce a new adType constant of:

      Admob.AD_TYPE_NATIVE_ADVANCED
      

      which I think could be implemented as follows;

      SWIFT: static let unifiedNative: GADAdLoaderAdType
      OBJECTIVE-C: extern const GADAdLoaderAdType _Nonnull kGADAdLoaderAdTypeUnifiedNative
      

      as per:
      https://developers.google.com/admob/ios/api/reference/Constants?hl=en-GB#/c:@kGADAdLoaderAdTypeUnifiedNative

      for reference, the documentation for native ads is at:
      https://developers.google.com/admob/ios/native/start

      Background:
      Admob now has 4 different ad unit types: banner, interstitial, rewarded and native advanced.

      I recently attended an admob presentation from Google where they suggested that native advanced sees 30% better CPM's compared to banner so this is now a pretty crucial feature for ti.admob.

      When I test native advanced ads in the iOS simulator using ti.admob and Titanium with Google's test ad unit ID (ie. ca-app-pub-3940256099942544/3986624511 per: https://developers.google.com/admob/ios/native/start?hl=en-GB), the request always fails.

      I have tried testing with multiple ad dimensions
      ie.
      100% width, 80dp height (smart banner)
      300dp width, 250dp height (m-rec)
      100% width, 140dp height (native banner)

      however invariably, the response is:
      "Request Error: No ad to show."

      I have also tried setting up native advanced ad units in my admob account and testing with those admob account/unit id's however the same error occurs. I suspect this is because I am passing an adType of Admob.AD_TYPE_BANNER which seems to map to '0' when in fact I need to be passing a different argument there that maps to the UnifiedNative constant specified above.

      For reference, here is an admob response from my titanium requests:

      [INFO]  Failed to receive banner ad: {"error":"Request Error: No ad to show.","adUnitId":"ca-app-pub-3940256099942544/3986624511","bubbles":true,"type":"didFailToReceiveAd","source":{"horizontalWrap":true,"visible":true,"touchEnabled":true,"top":"7dp","extras":{"version":"3.5.3","name":"StockLight"},"adBackgroundColor":"#fff","testDevices":["Simulator"],"requestAgent":"Appcelerator Titanium/7.5.0 (iPad/12.1; iOS; en_US;)","left":null,"adUnitId":"ca-app-pub-3940256099942544/3986624511","width":300,"contentURL":"https://stocklight.com","debugEnabled":false,"adType":0,"keywords":["stockmarket","stocks","investing","buffett","motley fool","acorns","asx","dividend","finance","investment","market"],"height":250,"tagForChildDirectedTreatment":false},"cancelBubble":false}
      

      I haven't tested admob's rewarded ads with ti.admob however I suspect they may also require introduction of a new ad type variable of Admob.AD_TYPE_REWARDED into the ti.admob module as well.

        Attachments

          Activity

            People

            • Assignee:
              shossain Shak Hossain (Inactive)
              Reporter:
              cornflakesuperstar Jason Kotchoff
            • Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:

                Git Integration