Titanium JIRA Archive
Appcelerator Modules (MOD)

[MOD-2493] ti.admob - Native Advanced support?

GitHub Issuen/a
Affected Version/sn/a
Fix Version/sn/a
ReporterJason Kotchoff
AssigneeShak Hossain


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:
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](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](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](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.


No comments

JSON Source