Difference between revisions of "Ads"

From GiderosMobile

(added another example admob)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
 
<languages />
 
<languages />
 +
 
<!-- GIDEROSOBJ:Ads -->
 
<!-- GIDEROSOBJ:Ads -->
'''<translate>Supported platforms</translate>:''' <br/>
+
 
'''<translate>Available since</translate>:''' Gideros 2011.6<br/>
+
'''<translate>Supported platforms</translate>:'''
'''<translate>Inherits from</translate>:''' [[Special:MyLanguage/EventDispatcher|EventDispatcher]]<br/>
+
<br/>
 +
'''<translate>Available since</translate>:''' Gideros 2011.6
 +
<br/>
 +
'''<translate>Inherits from</translate>:''' [[Special:MyLanguage/EventDispatcher|EventDispatcher]]
 +
<br/>
 +
 
 
=== <translate>Description</translate> ===
 
=== <translate>Description</translate> ===
<translate>The idea is to provide common Ads interface for most of available ad frameworks, so that user's would not have to create a plugin for each of them separately, but rather it would be possible to wrap ad framework in single Java or Objective-C class (depending on the platform) and add it to the project, without even recompiling existing Ads Interface plugin.
+
<translate>
 +
The idea is to provide common Ads interface for most of available ad frameworks, so that user's would not have to create a plugin for each of them separately, but rather it would be possible to wrap ad framework in single Java or Objective-C class (depending on the platform) and add it to the project, without even recompiling existing Ads Interface plugin.
 +
<br/>
  
 
Additionally it would be able to support multiple ad frameworks simultaneously so users could switch and fall back between ad frameworks on runtime.
 
Additionally it would be able to support multiple ad frameworks simultaneously so users could switch and fall back between ad frameworks on runtime.
 +
<br/>
 +
 +
More information available in [http://docs.giderosmobile.com/interface/ads](Ads interface guide).
 +
</translate>
  
More information available in [http://docs.giderosmobile.com/interface/ads](Ads interface guide).</translate>
 
 
=== <translate>Examples</translate> ===
 
=== <translate>Examples</translate> ===
'''Creating fallbacks with Ads frameworks'''<br/>
+
<br/>
<source lang="lua">--require plugin
+
 
 +
'''Example 1: Admob'''
 +
<br/>
 +
 
 +
<source lang="lua">
 +
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')
 +
        self.ADMOB:setAlignment('center', 'top')
 +
      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
 +
</source>
 +
<br/>
 +
<br/>
 +
 
 +
'''Example 2: creating fallbacks with Ads frameworks'''
 +
<br/>
 +
 
 +
<source lang="lua">
 +
--require plugin
 
require "ads"
 
require "ads"
  
Line 39: Line 113:
  
 
--start displaying amazon ads
 
--start displaying amazon ads
amazon:showAd("auto");</source>
+
amazon:showAd("auto")
 +
</source>
 +
<br/>
 +
 
 
{|-
 
{|-
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
Line 59: Line 136:
 
[[Special:MyLanguage/Ads:setY|Ads:setY]] ''<translate>sets y position of the ad</translate>''<br/><!-- GIDEROSMTD:Ads:setY(y) sets y position of the ad -->
 
[[Special:MyLanguage/Ads:setY|Ads:setY]] ''<translate>sets y position of the ad</translate>''<br/><!-- GIDEROSMTD:Ads:setY(y) sets y position of the ad -->
 
[[Special:MyLanguage/Ads:showAd|Ads:showAd]] ''<translate>display ad</translate>''<br/><!-- GIDEROSMTD:Ads:showAd(...) display ad -->
 
[[Special:MyLanguage/Ads:showAd|Ads:showAd]] ''<translate>display ad</translate>''<br/><!-- GIDEROSMTD:Ads:showAd(...) display ad -->
 +
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
 
=== <translate>Events</translate> ===
 
=== <translate>Events</translate> ===

Revision as of 04:29, 12 July 2019



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

Description

The idea is to provide common Ads interface for most of available ad frameworks, so that user's would not have to create a plugin for each of them separately, but rather it would be possible to wrap ad framework in single Java or Objective-C class (depending on the platform) and add it to the project, without even recompiling existing Ads Interface plugin.

Additionally it would be able to support multiple ad frameworks simultaneously so users could switch and fall back between ad frameworks on runtime.

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

Examples


Example 1: 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')
         self.ADMOB:setAlignment('center', 'top')
      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



Example 2: 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 enable testing ads
Ads:get gets property value of the ad
Ads:getHeight gets the 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 ads
Ads:set sets property value of the ad
Ads:setAlignment sets alignment of the ad
Ads:setKey set 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 display ad

Events

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

Constants