Difference between revisions of "Ads"
(formatting) |
|||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
+ | <!-- GIDEROSOBJ:Ads --> | ||
+ | '''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform html5.png]][[File:Platform winrt.png]]<br/> | ||
+ | '''Available since:''' Gideros 2011.6<br/> | ||
+ | '''Inherits from:''' [[EventDispatcher]]<br/> | ||
− | + | === 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) | ||
− | + | To add the '''Ads plugin''' to your project: | |
− | + | <syntaxhighlight lang="lua"> | |
− | < | + | require "ads" |
+ | </syntaxhighlight> | ||
− | + | Then in the '''Plugins Folder''' you can right click the '''Ads plugin''' -> ''Properties'' and configure it as desired. | |
− | |||
− | + | You can also add the '''Require plugin''' to further configure your app (right click -> ''Properties''). | |
− | === | + | === Examples === |
− | ''' | + | '''Admob''' |
− | < | + | <syntaxhighlight lang="lua"> |
Ads = Core.class(Sprite) -- you need to add "Ads" and "Gaming" to your project Plugins | Ads = Core.class(Sprite) -- you need to add "Ads" and "Gaming" to your project Plugins | ||
function Ads:init() | 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 | end | ||
+ | </syntaxhighlight> | ||
− | + | '''Creating fallbacks with Ads frameworks''' | |
− | + | <syntaxhighlight lang="lua"> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ''' | ||
− | < | ||
--require plugin | --require plugin | ||
require "ads" | require "ads" | ||
Line 99: | Line 90: | ||
--start displaying amazon ads | --start displaying amazon ads | ||
amazon:showAd("auto") | amazon:showAd("auto") | ||
− | </ | + | </syntaxhighlight> |
{|- | {|- | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Methods === |
− | [[ | + | [[Ads.new]] ''initializes new ad framework''<br/><!--GIDEROSMTD:Ads.new(adframework) initializes a new ad framework--> |
− | [[ | + | [[Ads:checkConsent]] ''triggers consent flow if needed''<br/><!--GIDEROSMTD:Ads:checkConsent(parameters) triggers consent flow if needed--> |
− | [[ | + | [[Ads:enableTesting]] ''enables ads testing''<br/><!--GIDEROSMTD:Ads:enableTesting() enables ads testing--> |
− | [[ | + | [[Ads:get]] ''gets ad property value''<br/><!--GIDEROSMTD:Ads:get(property) gets ad property value--> |
− | [[ | + | [[Ads:getHeight]] ''gets ad height''<br/><!--GIDEROSMTD:Ads:getHeight() gets ad height--> |
− | [[ | + | [[Ads:getPosition]] ''gets ad x and y position''<br/><!--GIDEROSMTD:Ads:getPosition() gets ad x and y position--> |
− | [[ | + | [[Ads:getWidth]] ''gets ad width''<br/><!--GIDEROSMTD:Ads:getWidth() gets ad width--> |
− | [[ | + | [[Ads:getX]] ''gets ad x position''<br/><!--GIDEROSMTD:Ads:getX() gets ad x position--> |
− | [[ | + | [[Ads:getY]] ''gets ad y position''<br/><!--GIDEROSMTD:Ads:getY() gets ad y position--> |
− | [[ | + | [[Ads:hideAd]] ''hides ad''<br/><!-- GIDEROSMTD:Ads:hideAd() hides ad--> |
− | [[ | + | [[Ads:loadAd]] ''loads ad''<br/><!-- GIDEROSMTD:Ads:loadAd() loads ad--> |
− | [[ | + | [[Ads:set]] ''sets ad property value''<br/><!--GIDEROSMTD:Ads:set(property,value) sets ad property value--> |
− | [[ | + | [[Ads:setAlignment]] ''sets ad alignment''<br/><!--GIDEROSMTD:Ads:setAlignment(horizontal,vertical) sets ad alignment--> |
− | [[ | + | [[Ads:setKey]] ''sets framework key''<br/><!--GIDEROSMTD:Ads:setKey(...) sets framework key--> |
− | [[ | + | [[Ads:setPosition]] ''sets ad position''<br/><!--GIDEROSMTD:Ads:setPosition(x,y) sets ad position--> |
− | [[ | + | [[Ads:setX]] ''sets ad x position''<br/><!--GIDEROSMTD:Ads:setX(x) sets ad x position--> |
+ | [[Ads:setY]] ''sets ad y position''<br/><!--GIDEROSMTD:Ads:setY(y) sets ad y position--> | ||
+ | [[Ads:showAd]] ''displays ad''<br/><!--GIDEROSMTD:Ads:showAd(...) displays ad--> | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Events === |
− | [[ | + | [[Event.AD_ACTION_BEGIN]]<br/><!--GIDEROSEVT:Event.AD_ACTION_BEGIN adActionBegin--> |
− | [[ | + | [[Event.AD_ACTION_END]]<br/><!--GIDEROSEVT:Event.AD_ACTION_END adActionEnd--> |
− | [[ | + | [[Event.AD_CONSENT]]<br/><!--GIDEROSEVT:Event.AD_CONSENT adConsent--> |
− | [[ | + | [[Event.AD_DISMISSED]]<br/><!--GIDEROSEVT:Event.AD_DISMISSED adDismissed--> |
− | [[ | + | [[Event.AD_DISPLAYED]]<br/><!--GIDEROSEVT:Event.AD_DISPLAYED adDisplayed--> |
− | [[ | + | [[Event.AD_ERROR]]<br/><!--GIDEROSEVT:Event.AD_ERROR adError--> |
− | [[ | + | [[Event.AD_FAILED]]<br/><!--GIDEROSEVT:Event.AD_FAILED adFailed--> |
+ | [[Event.ADS_READY]]<br/><!--GIDEROSEVT:Event.ADS_READY adsReady--> | ||
+ | [[Event.AD_RECEIVED]]<br/><!--GIDEROSEVT:Event.AD_RECEIVED adReceived--> | ||
+ | [[Event.AD_REWARDED]]<br/><!--GIDEROSEVT:Event.AD_REWARDED adRewarded--> | ||
− | === | + | === Constants === |
|} | |} | ||
− | {{ | + | {{GIDEROS IMPORTANT LINKS}} |
Latest revision as of 04:30, 16 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)
To add the Ads plugin to your project:
require "ads"
Then in the Plugins Folder you can right click the Ads plugin -> Properties and configure it as desired.
You can also add the Require plugin to further configure your app (right click -> Properties).
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 |