Difference between revisions of "Ads"
|  (wip) | |||
| Line 6: | Line 6: | ||
| === Description === | === Description === | ||
| − | The idea is to provide a common Ads  | + | The idea is to provide a common Ads Interface for most ad frameworks, allowing switching and fall back between ad frameworks at runtime. | 
| Gideros Common Ads Interface provides: | Gideros Common Ads Interface provides: | ||
| Line 49: | Line 49: | ||
| 		self.ADMOB.showAd = function() end | 		self.ADMOB.showAd = function() end | ||
| 	end | 	end | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| end | end | ||
| </syntaxhighlight> | </syntaxhighlight> | ||
| − | |||
| '''Creating fallbacks with Ads frameworks''' | '''Creating fallbacks with Ads frameworks''' | ||
| Line 123: | Line 106: | ||
| | style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
| − | |||
| === Events === | === Events === | ||
| [[Event.AD_ACTION_BEGIN]]<br/><!--GIDEROSEVT:Event.AD_ACTION_BEGIN adActionBegin--> | [[Event.AD_ACTION_BEGIN]]<br/><!--GIDEROSEVT:Event.AD_ACTION_BEGIN adActionBegin--> | ||
Revision as of 21:27, 15 February 2025
Supported platforms: 



Available since: Gideros 2011.6
Inherits from: EventDispatcher
Description
The idea is to provide a common Ads Interface for most ad frameworks, allowing switching and fall back between ad frameworks at runtime.
Gideros Common Ads Interface provides:
- using the same interface not only across platforms, but also across ad frameworks
- ability to use multiple ad frameworks simultaneously
- easily create fall backs to other frameworks if one framework failed
- displaying and hiding banners
- preloading ads without showing them
- banners dimensions and position as any other Gideros element
- tween banners using GTween
- place personalized ads (Bitmap objects) under banners if there is no ad or Internet connection
- test ads with one simple call (depends on ad framework)
Examples
Admob
Ads = Core.class(Sprite) -- you need to add "Ads" and "Gaming" to your project Plugins
function Ads:init()
	-- ads
	self.ADMOB_APP_ID = "ca-app-pub-3940256099942544~3347511713" -- google test id
	self.ADMOB_UNIT_ID = "ca-app-pub-3940256099942544/6300978111" -- google test id
	-- admob (setup for simple banner adverts), note: only visible on phone/tablet
	if application:getDeviceInfo() == "Android" then
		require 'ads' --create real object for on device
		self.ADMOB = Ads.new('admob')
		self.ADMOB:setKey(self.ADMOB_APP_ID)
		self.ADMOB:addEventListener(Event.AD_RECEIVED, function() -- show ad
			self.ADMOB:showAd('banner')
			self.ADMOB:setAlignment('center', 'bottom')
		end)
		self.ADMOB:addEventListener(Event.AD_FAILED, function(e) end)
		self.ADMOB:addEventListener(Event.AD_ACTION_BEGIN, function() end)
		self.ADMOB:addEventListener(Event.AD_ACTION_END, function() end)
		self.ADMOB:addEventListener(Event.AD_DISMISSED, function() end)
		self.ADMOB:loadAd("banner", self.ADMOB_UNIT_ID) -- load ad
	else
		self.ADMOB = {} -- create fake object for testing in windows player
		self.ADMOB.loadAd = function() end
		self.ADMOB.showAd = function() end
	end
end
Creating fallbacks with Ads frameworks
--require plugin
require "ads"
--initialize amazon
amazon = Ads.new("amazon")
amazon:setKey("amazon-key")
--initialize admob
admob = Ads.new("admob")
admob:setKey("admob-key")
--if amazon fails
--show admob
amazon:addEventListener(Event.AD_FAILED, function(e)
	print("amazon AD_FAILED", e.error)
	admob:showAd("auto")
end)
--if admob fails
--show amazon
admob:addEventListener(Event.AD_FAILED, function(e)
	print("admob AD_FAILED", e.error)
	amazon:showAd("auto")
end)
--start displaying amazon ads
amazon:showAd("auto")
| MethodsAds.new initializes new ad framework | EventsEvent.AD_ACTION_BEGIN Constants | 
