Ads

From GiderosMobile
Revision as of 03:21, 16 March 2021 by MoKaLux (talk | contribs) (formatting+)

Supported platforms:
Available since: Gideros 2011.6
Inherits from: EventDispatcher

Description

The idea is to provide a common Ads interface for most of available ad frameworks. A common ads interface allows users to switch and fall back between ad frameworks at runtime.

More information available in [1](Ads interface guide).

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)
   else
      self.ADMOB = {} -- create fake object for testing in windows player
      self.ADMOB.loadAd = function() end
      self.ADMOB.showAd = function() end
   end

   -- LISTENERS
   self:addEventListener("enterBegin", self.onTransitionInBegin, self)
   self:addEventListener("enterEnd", self.onTransitionInEnd, self)
   self:addEventListener("exitBegin", self.onTransitionOutBegin, self)
   self:addEventListener("exitEnd", self.onTransitionOutEnd, self)
end

-- EVENT LISTENERS
function Ads:onTransitionInBegin()
end

function Ads:onTransitionInEnd()
   self.ADMOB:loadAd("banner", self.ADMOB_UNIT_ID)
end

function Ads:onTransitionOutBegin()
end

function Ads:onTransitionOutEnd()
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")

Methods

Ads.new initializes new ad framework
Ads:enableTesting enables testing ads
Ads:get gets property value of the ad
Ads:getHeight gets height of the ad
Ads:getPosition gets x and y position of the ad
Ads:getWidth gets width of the ad
Ads:getX gets x position of the ad
Ads:getY gets y position of the ad
Ads:hideAd hides the ad
Ads:set sets property value of the ad
Ads:setAlignment sets alignment of the ad
Ads:setKey sets keys for the framework
Ads:setPosition sets position of the ad
Ads:setX sets x position of the ad
Ads:setY sets y position of the ad
Ads:showAd displays the ad

Events

Event.AD_ACTION_BEGIN
Event.AD_ACTION_END
Event.AD_DISMISSED
Event.AD_ERROR
Event.AD_FAILED
Event.AD_RECEIVED
Event.AD_REWARDED

Constants