Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

iADs: possible?
Started by gustavoschv Nov 22 2011 08:40 AM

- - - - -
38 replies to this topic
[TOPIC CONTROLS]
Page 1 of 2 1 2
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

gustavoschv

[GLOBAL: userInfoPane.html]
gustavoschv
  • Contributor

  • 133 posts
  • Corona SDK

Hey,

I wanted to know if it is possible to enable my app to display iADs from apple, if I would need any specific code or should I just dedicate a portion of my screen to it (if the latter, the dimensions required!)

Thanks!
uid: 95495 topic_id: 18109 reply_id: 318109


[TOPIC: post.html]
#2

carlos m. icaza

[GLOBAL: userInfoPane.html]
carlos m. icaza
  • Corona Geek

  • 2,992 posts
  • Alumni

no iAds from corona... low fill rate....international fill rate are almost non existence as iAds are mostly US.

c
uid: 24 topic_id: 18109 reply_id: 69256


[TOPIC: post.html]
#3

gustavoschv

[GLOBAL: userInfoPane.html]
gustavoschv
  • Contributor

  • 133 posts
  • Corona SDK

What's the best option worldwide?
uid: 95495 topic_id: 18109 reply_id: 69451


[TOPIC: post.html]
#4

Puzzle Runner

[GLOBAL: userInfoPane.html]
Puzzle Runner
  • Contributor

  • 394 posts
  • Corona SDK

Carlos, I understand your stance on iAds, but please understand Corona support for iAds and at least leader boards and achievements natively for Game Center is a necessary evil that you guys need to go ahead and get done already, otherwise iOS Corona developers are at a HUGE advantage when compared to iOS developers using Xcode/Objective C.

Here's why:

When Apple decides to promote apps/games, they pick ones that usually:

1. Are well-done
2. Integrate Apple services/features
3. Do NOT integrate competitor services/features

Because there's no iAd, we must use AdMob or InMobi for Ads, which are COMPETITOR services.
Because there's no Game Center without OpenFeint, we have no choice but to include a COMPETITOR's service in our game AND prompt the user to join it in order to use Game Center, and Apple hates that.

This virtually guarantees that Apple will not promote/feature our apps (though there are some rare exceptions).

While I understand Corona wants to focus on features for both platforms, there is a minimum that needs to get done in order for iOS Corona Apps to be treated as favorably by Apple as non-corona ones. So please at least do the bare minimum so that Apple gives us a fair shake.
uid: 36054 topic_id: 18109 reply_id: 69466


[TOPIC: post.html]
#5

gustavoschv

[GLOBAL: userInfoPane.html]
gustavoschv
  • Contributor

  • 133 posts
  • Corona SDK

So should I just copy/paste this code from Sample Code and make only the app ID change and it is done? Or is there anything else needed to be adapted?

-- hide the status bar:
display.setStatusBar( display.HiddenStatusBar )
-- Below is the ad network that will be used:

local adNetwork = "inmobi"

-- Replace nil below with your app ID:
-- String; e.g. surrounded by quotes (ex. "abcdefghijklmnop")

local appID = nil

--==================================================================================================

-- Make Banner Ads features available under "ads" namespace
local ads = require "ads"

-- initialize ad network:
if appID then
	ads.init( adNetwork, appID )
end

-- initial variables
local sysModel = system.getInfo("model")
local sysEnv = system.getInfo("environment")
local bgW, bgH = 320, 480
local currentAdIndex = 1

local adsTable = {
	"banner320x48",
	"banner300x250",
}
if sysModel == "iPad" then
	-- change settings if on iPad. It has 3 additional adUnitTypes it can show.
	bgW, bgH = 768, 1024
	adsTable = {
		"banner320x48",
		"banner300x250",
		"banner728x90",
		"banner468x60",
		"banner120x600"
	}
end
-- localize a widget function
local newButton = require( "widget" ).newButton
-- change settings if on iPad
if sysModel == "iPad" then
	bgW, bgH = 768, 1024
end
-- create a background for the app
local backgroundImg = display.newImageRect( "space.png", bgW, bgH )
backgroundImg:setReferencePoint( display.TopLeftReferencePoint )
backgroundImg.x, backgroundImg.y = 0, 0
if appID then
	-- Shows the banner indexed by variable "currentAdIndex"
	local showIndexedBanner = function()
		print("Showing Banner: " .. adsTable[currentAdIndex])
		local adX, adY = 0, 0
		ads.show( adsTable[currentAdIndex], { x=adX, y=adY, interval=5, testMode=true } )
	end
	-- onRelease event listener for 'nextButton'
	local onNextButtonReleased = function( event )
		currentAdIndex = currentAdIndex + 1
		if (currentAdIndex > #adsTable) then
			currentAdIndex = 1
		end
		showIndexedBanner()
	end
	-- onRelease event listener for 'hideButton'
	local onHideButtonReleased = function( event )
		ads.hide()
	end
	-- if on simulator, make sure onRelease event for buttons are set to nil
	if sysEnv == "simulator" then
		onNextButtonReleased = nil
		onHideButtonReleased = nil
	end
	-- create a next button (to show a different ad unit)
	local nextButton = newButton{
		default="button.png",
		over="button_over.png",
		label = "Show Next Banner",
		onRelease= onNextButtonReleased
	}
	nextButton:setReferencePoint( display.CenterReferencePoint )
	nextButton.x = display.contentWidth * 0.5
	nextButton.y = display.contentHeight - 120
	-- create a hide button
	local hideButton = newButton{
		default="button.png",
		over="button_over.png",
		label = "Hide Banner",
		onRelease= onHideButtonReleased
	}
	hideButton:setReferencePoint( display.CenterReferencePoint )
	hideButton.x = display.contentWidth * 0.5
	hideButton.y = display.contentHeight - 60
	-- if on simulator, let user know they must build for device
	if sysEnv == "simulator" then
		
		local font, size = "Helvetica-Bold", 22
		
		local warningText1 = display.newText( "Please build for device ", 0, 135, font, size )
		local warningText2 = display.newText( "to test this sample code.", 0, 165, font, size )
		
		warningText1:setTextColor( 255, 255, 255, 255 )
		warningText2:setTextColor( 255, 255, 255, 255 )
		
		warningText1:setReferencePoint( display.CenterReferencePoint )
		warningText2:setReferencePoint( display.CenterReferencePoint )
		
		local halfW = display.contentWidth * 0.5
		warningText1.x, warningText2.x = halfW, halfW
		
		-- make buttons appear disabled
		nextButton.view.alpha = 0
		hideButton.view.alpha = 0
	else
		-- display initial banner ad
		showIndexedBanner()
	end
else
	-- If no appId is set, show a message on the screen
	local font, size = "Helvetica-Bold", 22

	local warningText1 = display.newText( "No appID has been set.", 0, 105, font, size )
	warningText1:setTextColor( 255, 255, 255, 255 )
	warningText1:setReferencePoint( display.CenterReferencePoint )

	local halfW = display.contentWidth * 0.5
	warningText1.x = halfW

	if sysEnv == "simulator" then
		local warningText2 = display.newText( "Please build for device ", 0, 185, font, size )
		local warningText3 = display.newText( "to test this sample code.", 0, 215, font, size )
		warningText2:setTextColor( 255, 255, 255, 255 )
		warningText3:setTextColor( 255, 255, 255, 255 )

		warningText2:setReferencePoint( display.CenterReferencePoint )
		warningText3:setReferencePoint( display.CenterReferencePoint )
		warningText2.x, warningText3.x = halfW, halfW
	end
end
uid: 95495 topic_id: 18109 reply_id: 69622


[TOPIC: post.html]
#6

tetu

[GLOBAL: userInfoPane.html]
tetu
  • Contributor

  • 166 posts
  • Corona SDK

carlos

whether iAds has low fill rates and doesn't exist internationally is not Ansca's problem, but anyone's that makes apps

we will never blame Ansca for low fill rates or because iAds doesn't exist in Nowhereland
i want mostly US. and i don't see why there's a problem with that

can't you just give us iAds integration, and let us decide whether iAds is good for us or not?


uid: 6459 topic_id: 18109 reply_id: 69623


[TOPIC: post.html]
#7

gustavoschv

[GLOBAL: userInfoPane.html]
gustavoschv
  • Contributor

  • 133 posts
  • Corona SDK

Sorry guys, I understand it is a silly problem with easy solution, this iAds subject..just takes a little effort from ansca and stuff

But I still have my question unanswered, so can someone please help?

Tks!!
uid: 95495 topic_id: 18109 reply_id: 69624


[TOPIC: post.html]
#8

Omnigeek Media

[GLOBAL: userInfoPane.html]
Omnigeek Media
  • Corona Geek

  • 2,975 posts
  • Corona SDK

@gustavoschv yes you need to adapt it. Are you going to want 300x250 ads in your app? Do you want a "Next Ad" button? The code serves as a sample to show API usage. Its really not a full implementation.

If your doing a director type game, drop this in your main.lua:

local adNetwork = "inmobi"
local appID = "your appID from inmobi"
ads = require "ads"
ads.init( adNetwork, appID )

Then in your game code (level1.lua, etc.)
local function showAds()
    local adX = display.contentWidth / 2 - 160
    ads.show( "banner320x48", { x=adX, y=0, interval=15, testMode=false } )
end

Make sure to set testMode to true while your testing.

Then in any places right before I have director change scenes to a screen where I do a:

        ads.hide()

Then once I have my level loaded I execute this near the end before I "return localGroup"

    showAds()

In this particular game, I'm using Director popup's for the settings screen. I hide the ads before I popup and in the function that gets called when the popup closes, I also call showAds() to turn them back on.

That is the most simplistic setup I think you can do.

uid: 19626 topic_id: 18109 reply_id: 69630


[TOPIC: post.html]
#9

Omnigeek Media

[GLOBAL: userInfoPane.html]
Omnigeek Media
  • Corona Geek

  • 2,975 posts
  • Corona SDK

FWIW, I have almost a 53% fill rate with my new game, but I'm getting very few clicks. Doesn't matter your fill rate if you're only getting paid for clicks!
uid: 19626 topic_id: 18109 reply_id: 69632


[TOPIC: post.html]
#10

risingfrom

[GLOBAL: userInfoPane.html]
risingfrom
  • Observer

  • 8 posts
  • Guests

@gustavoschv As of right now the only options is the built in support for inMobi. I do not think the adMob work around is usable any more.

@blasterv
Very well said. At this point it only seems to hurt the image of Corona that it doesn't support both iAds and GameCenter, making it seem old and out dated.

@Tetu
This is a very good point. Ansca is basically providing a service to us as developers, its not really their place to say weather not iAd would be the best fit for our apps, especially when developers can choose witch territories to release their apps. It's like if you went to get your hair cut and the barber told you to get a mullet and you said no and they then cut your hair into a mullet. I could understand if this was a major feature or a rewrite of corona but this would be a super easy thing to implement.

@ Carlos
First off I would like to say that Ansca has been providing some impressive new features and updates lately. Most of the features were requested by the community and it is great to see our feedback getting implemented.

That being said, my experience with inMobi has been very poor and doesn't have the features you say iAd is lacking. In the past 30 days I have a 7.5% overall fill rate, with 35% requests being in the US. 75% of impression were in the US. The fill rate is horrible doesn't really seem to matter where. I am not the only one who is having issues with poor fill rate, there have been numerous posts about these issues. You said no iAd based on these same problems. It doesn't quite add up why Ansca is so hesitant to add iAd support. In general fill rate is a bad way to judge an ad service. Fill rate can always go up or down. There could be an influx in ad placement and the fill rate could be 100% or vice versa.

Beyond fill rates, there are other benefits to iAd: higher earnings( even off their low filtrate), easy set up within itunes Connect, and approval during app submission. InMobi's approval process is beyond frustrating. You must have a live app before they will even start to approve your app. It took 5 days before my app was approved and ads started to show up. I missed out on a prime time because the app is approved only after it has gone live. Having ads appear the second the app goes live, by already being approved during submission, is a huge plus.


Sorry for this being off topic but there really hasn't been a formal response on iAd.
uid: 10192 topic_id: 18109 reply_id: 69665


[TOPIC: post.html]
#11

Omnigeek Media

[GLOBAL: userInfoPane.html]
Omnigeek Media
  • Corona Geek

  • 2,975 posts
  • Corona SDK

I gotta +1 @risingfrom's point about the inMobi's approval process. I was lucky and it took less than 24 hours for them to approve my latest game. The first couple of days are critical with a new app.

At the end of the day, the quality of the ads is critical if we are only going to be paid on a CPC basis, which is what it appears with inMobi. eCPM is a cool measure, but only for the ad company. I don't care what my eCPM is. I care what my dollar amount is and if they deliver a million ads and no one clicks on them, I'm still delivering ads and I should get paid for them. If I'm only going to be paid for clicks I want ads that people want to click on.

I have no experience with iAds, but my experience so far with inMobi has been less than impressive. My time to implement their ads hasn't been paid for yet, and its only a dozen lines of code! Heck. my time to check their dashboard once hasn't been paid for.

uid: 19626 topic_id: 18109 reply_id: 69669


[TOPIC: post.html]
#12

Big Z Labs

[GLOBAL: userInfoPane.html]
Big Z Labs
  • Contributor

  • 127 posts
  • Corona SDK

I agree with all of you that native GC and iAd need to be integrated.
uid: 17138 topic_id: 18109 reply_id: 69675


[TOPIC: post.html]
#13

MikeHart

[GLOBAL: userInfoPane.html]
MikeHart
  • Corona Geek

  • 1,278 posts
  • Corona SDK

You get only paid for the clicks in inMobi???? You should be payed also for the eCPM impressions. At least that is what you get with AdMob and other ad providers.
Imho this is where the money comes from for us developers. Most users won't click on these ads, only by accident. Have a lot of ad impressions bundled with a good eCPM is important when you choose to support your app with ads.
uid: 5712 topic_id: 18109 reply_id: 69700


[TOPIC: post.html]
#14

cublah

[GLOBAL: userInfoPane.html]
cublah
  • Contributor

  • 393 posts
  • Corona SDK

Hmm.... That is not a good stance from a company that we pay to use their software each year. The US is the biggest market.

Personally I don't really care about iADs but there are others that do and it should be implemented and let the user decide wether they want to use it or not, to just say nope we are not going to do that when this is a paid service is very short sighted.

I do care about GC integration though and is a must as the feature has gained traction against Openfeint and because it's Apple will only improve on the service.

If this library was free I'd understand but we have to pay for it, requests should not be dismissed.
uid: 8697 topic_id: 18109 reply_id: 69723


[TOPIC: post.html]
#15

Omnigeek Media

[GLOBAL: userInfoPane.html]
Omnigeek Media
  • Corona Geek

  • 2,975 posts
  • Corona SDK

Dunno maybe my games are not generating enough ads to have been paid for delivery yet. I only see my earnings go up with clicks.
uid: 19626 topic_id: 18109 reply_id: 69739


[TOPIC: post.html]
#16

Puzzle Runner

[GLOBAL: userInfoPane.html]
Puzzle Runner
  • Contributor

  • 394 posts
  • Corona SDK

@robmiracle The earnings for delivery are practically nil. We're probably talking a penny per 10,000. All the money is in clicks.

@risingform AdMob still works perfectly. I just released Domino Dog a few weeks ago and it uses AdMob. AdMob integration on my first game still works as well. I do not use InMobi because I feel that doing so encourages Ansca not to listen to our requests for supporting AdMob, iAd, and other crucial ad networks. If everyone just starts using InMobi it sends the message that they can "herd" us into doing anything they like, rather than giving us the power to make our own decisions.
uid: 36054 topic_id: 18109 reply_id: 69740


[TOPIC: post.html]
#17

shane.lipscomb

[GLOBAL: userInfoPane.html]
shane.lipscomb
  • Contributor

  • 107 posts
  • Corona SDK

Remember when the iPhone was an AT&T exclusive offering? AT&T paid a bunch of money for an exclusive period of access to Apple's customers. Not claiming that is what is happening here (how would I know), and if it was, well, that's how business gets done sometimes.
uid: 64596 topic_id: 18109 reply_id: 69744


[TOPIC: post.html]
#18

Omnigeek Media

[GLOBAL: userInfoPane.html]
Omnigeek Media
  • Corona Geek

  • 2,975 posts
  • Corona SDK

At the end of the day, I just want to make money from my apps. I'm not asking to make a fortune or even a living, but I want to make enough to cover my expenses, get into Android and maybe someday have that hit, but right now I feel that I'm not getting good support from any ad vender. I guess I have to accept my stuff just isn't that popular and I"m a marketing fail.

But I hear about people making a couple of thousand a month even from inMobi and I'm setting with a couple of bucks in my account. Something doesn't add up.
uid: 19626 topic_id: 18109 reply_id: 69748


[TOPIC: post.html]
#19

Puzzle Runner

[GLOBAL: userInfoPane.html]
Puzzle Runner
  • Contributor

  • 394 posts
  • Corona SDK

@shane Based on what I've seen, Ansca receives a small amount of the ad revenue generated with InMobi, and a certain amount of revenue for generating Papaya activity. That's why they are "partners" and not supported features. Ansca has a vested interest into "herding" us into using these services rather than giving us the support we need in regards to other ones. That's also probably why there's no official AdMob support and why Carlos is so quick to jump on the "we won't spend a couple hours to put iAd in corona" bandwagon :P

If you're interested in what facts I'm using to speculate the above:

1. Corona points out that InMobi and Papaya are "partners", not just features like with OpenFeint.
2. LaunchPad Analytics is automatically built into every App built with Corona (as of a few months ago). This can be turned off by the developer, BUT (as stated by Ansca staff), if you use the GameNetwork or AdNetwork libraries, LaunchPad will be forced on and cannot be disabled. The only logical reason for this is that Ansca needs to collect those analytics in order to show to InMobi and Papaya to receive payment.
uid: 36054 topic_id: 18109 reply_id: 69751


[TOPIC: post.html]
#20

Omnigeek Media

[GLOBAL: userInfoPane.html]
Omnigeek Media
  • Corona Geek

  • 2,975 posts
  • Corona SDK

I'm fine with that and I hope Ansca makes lots of money so they can keep producing a great product and helping keep our cost down. If they were to be charging $1000 a head for this, how many of us would be here?

But that said, Ansca needs us to pony up our $200 indie and $350 pro licenses and the only way we are going to do that is by making sure we can monetize our apps.

Partners with inMobi or not, if we are not making money, we are not going to continue to pay annual license fees for this product. I'm sure Carlos and Walter are perfectly aware of this and are trying to juggle what they can when they can.

Maybe with better partnerships, as Corona SDK grows in popularity (remember they are still an upstart!), they can work out better, richer deals with partners and can bring our cost's down to get in. I'd love to see Indie for $99 and Pro for $175 instead of where it is now. If that means we need to use inMobi, so be it. But I've got to make money too.

uid: 19626 topic_id: 18109 reply_id: 69755


[TOPIC: post.html]
#21

carlos m. icaza

[GLOBAL: userInfoPane.html]
carlos m. icaza
  • Corona Geek

  • 2,992 posts
  • Alumni

Just one thing to say : We are not headed into [GS] territory.. That will never happen. Everything else is up for debate. That is not. Our goal is to help you monetize and get you app discovery because the only way we will be successful is if you are. Otherwise, we may just pack it up.

Happy thanksgiving ;-)

C

uid: 24 topic_id: 18109 reply_id: 69765


[TOPIC: post.html]
#22

Puzzle Runner

[GLOBAL: userInfoPane.html]
Puzzle Runner
  • Contributor

  • 394 posts
  • Corona SDK

Happy Thanksgiving!

But if the goal is monetization and app discovery, you need to show us you're serious about that by offering us multiple options. Nice to haves such as "level editors" need to take a back seat, at least temporarily, to helping us developers make money.

AdMob workarounds aside, when I look at the GameSalad website, iAd is the only option. When I look at the Ansca website, InMobi is the only option. It's the exact same thing.

I appreciate the reassuring response, but actions speak louder than words when it comes to stuff like this. We need multiple ad networks (like iAd) and GameCenter for Apple to take our apps as seriously as those of others.
uid: 36054 topic_id: 18109 reply_id: 69771


[TOPIC: post.html]
#23

cublah

[GLOBAL: userInfoPane.html]
cublah
  • Contributor

  • 393 posts
  • Corona SDK

@blasterv
+1, Also Gamesalad does have game center and does support Kindle Fire and Nook already.
Corona is dropping behind at the moment.
uid: 8697 topic_id: 18109 reply_id: 69773


[TOPIC: post.html]
#24

Puzzle Runner

[GLOBAL: userInfoPane.html]
Puzzle Runner
  • Contributor

  • 394 posts
  • Corona SDK

@cublah In fairness, I believe Corona does have Kindle Fire now in the daily builds. Nook can be done by Ansca for you, but that's a pain when compared to just building from the Simulator.
uid: 36054 topic_id: 18109 reply_id: 69775


[TOPIC: post.html]
#25

tetu

[GLOBAL: userInfoPane.html]
tetu
  • Contributor

  • 166 posts
  • Corona SDK

@shane

it was no secret that iPhone was AT&T's exclusive offering

what we have here is different. carlos told us back in March that "it's in the lawyers' hands" (for AdMob), and after months of silence that iAds is such a lousy ad network

what ever happened with the lawyers carlos? is it so tough to reach an agreement with AdMob? how other SDK's are doing it?

it is Ansca's right to partner with InMobi. that's how business gets done not sometimes but most of the time. but they should clearly say so, instead of telling us that the lawyers can't reach an agreement with AdMob or that iAds is almost crap

@carlos

happy thanksgiving :-) (even tough it's like iAds, ...US mostly)

integrating iAds and AdMob into Corona will make us less successful? how?
why don't you just us give us iAds and AdMob and let us decide which ad network we'll be using? why not?


uid: 6459 topic_id: 18109 reply_id: 69777



[topic_controls]
Page 1 of 2 1 2
 
[/topic_controls]