15 January 2016
Introducing the Facebook Audience Network plugin
Corona Labs is pleased to announce immediate availability of the Facebook Audience Network plugin. This new plugin brings Facebook Ads to your Corona-based apps with the same insights and demographic targeting you get with ads in Facebook.
Using familiar API calls like .load()
and .show()
, you can easily implement the Facebook Audience Network into your apps and begin monetizing with the power of Facebook.
To get started, visit the Getting Started with the Audience Network page which will guide you through setting up your existing Facebook-enabled app or setting up a new Facebook app.
Testing Facebook Audience Network
Initializing the plugin
On the Corona side, this plugin has been pre-activated for you. Once the Facebook app is set up within the Facebook Developer Portal, add the plugin to your build.settings
:
1 2 3 4 5 6 7 8 |
plugins = { ["plugin.fbAudienceNetwork"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=true }, }, }, |
Then, in your main.lua
, follow this basic example as a basis for implementing Facebook Ads:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
local fbAudienceNetwork = require( "plugin.fbAudienceNetwork" ) -- Preset Facebook placement IDs; replace these with your own local bannerPlacementID = "[your banner placement ID here]" local interstitialPlacementID = "[your interstitial placement ID here]" -- Ad listener function local function adListener( event ) -- Successful initialization of the Facebook Audience Network if ( event.phase == "init" ) then print( "Facebook Audience Network event: initialization successful" ) -- An ad loaded successfully elseif ( event.phase == "loaded" ) then print( "Facebook Audience Network event: " .. event.type .. " ad loaded successfully" ) if ( event.type == "banner" ) then -- To show the banner upon load completion, call fbAudienceNetwork.show() here elseif ( event.type == "interstitial" ) then -- To show the interstitial upon load completion, call fbAudienceNetwork.show() here end -- An interstitial ad was closed by the user elseif ( event.phase == "closed" ) then print( "Facebook Audience Network event: " .. event.type .. " ad closed by user" ) -- Process any task involved with an ad being closed by the user -- The ad was clicked/tapped elseif ( event.phase == "clicked" ) then print( "Facebook Audience Network event: " .. event.type .. " ad clicked/tapped by user" ) -- Process any task involved with an ad being clicked by the user -- The ad failed to load elseif ( event.phase == "failed" ) then print( "Facebook Audience Network event: " .. event.type .. " ad failed to load" ) end end -- Initialize the Facebook Audience Network fbAudienceNetwork.init( adListener ) |
Loading ads
Unlike some ad providers, Facebook Ads must be pre-loaded before they are shown. Do this by calling fbAudienceNetwork.load():
1 2 3 4 |
-- Banner fbAudienceNetwork.load( "banner", bannerPlacementID, "BANNER_HEIGHT_50" ) -- Interstitial fbAudienceNetwork.load( "interstitial", interstitialPlacementID ) |
Showing ads
Once an ad is loaded, you can show it using fbAudienceNetwork.show().
1 |
fbAudienceNetwork.show( "banner", bannerPlacementID, { yAlign="bottom" } ) |
Alternatively, here’s an example which checks if an ad is loaded before attempting to show it:
1 2 3 4 |
if ( fbAudienceNetwork.isLoaded( interstitialPlacementID ) == true ) then fbAudienceNetwork.show( "interstitial", interstitialPlacementID ) end |
Hiding ads
Finally, just like other ad networks, you can hide ads with fbAudienceNetwork.hide():
1 2 |
fbAudienceNetwork.hide( bannerPlacementID ) |
Final notes
- You can obtain a more complete sample project for the Facebook Audience Network plugin on GitHub.
- For full documentation, see the Facebook Audience Network documentation.
The Facebook Audience Network uses a revenue sharing model. Corona Labs takes a revenue share in the form of a fixed 5% flat rate.
And as a bonus, if you implement the Facebook Audience Network plugin before March 1st, you will be locked in to a special introductory rate of 5% for all tiers.
Conclusion
The Facebook Audience Network plugin brings another monetization option to Corona developers, wrapped in a convenient, easy-to-implement collection of APIs. Get started today!
David Grant
Posted at 17:58h, 17 JanuaryWait why exactly am I going to give you guys 20% of the revenue my apps make? Please tell me this isn’t going to be the new norm of the company? I was more then happy to pay my 600$ a year but now you’re trying to take 20% of all my revenue and tell me that corona is free.
David Grant
Posted at 18:03h, 17 JanuaryFor those that didn’t see it this is what it says in the docs “For monetization through the Facebook Audience Network plugin, Corona Labs takes a 20% revenue share in the form of a ratio model. No special action is needed during implementation — simply integrate the plugin and 1 out of every 5 ads will be served on a Corona Labs placement ID.”
Ratio model is the most asinine thing I’ve heard of in a long time.
Roj Niyogi
Posted at 20:27h, 19 JanuaryCorona SDK is free and there are other monetization options available that do not employ a ratio model.
We are revising the ratio model such that it will be tiered based on growth. More information to come shortly.
adrian
Posted at 20:06h, 17 JanuaryI have read in multiple places now that although Corona will be Free, some plugins will either have some sort of “ratio model” (to use the term you like) or cost extra to use if you have the free version of Corona. They have to make money somehow and Perk has to make back 2M it paid for Corona. I wish it was 10% for the Facebook Audience Network and not 20%, but it is still better than nothing.
David Grant
Posted at 21:36h, 17 JanuaryI mean for those making a few dollars 10-20% is just fine I suppose. I’d rather pay the 600$ I used to pay before they went free. 20% of my revenue would be well over 6 figures. I have no problem paying money to use corona but using the “ratio model” only benefits those making less then 3,000$ a year or the old 600$ a year model works a lot better.
Ruben
Posted at 05:29h, 18 JanuaryExactly.
For people just starting a free SDK with 1/5 of revenue share going to Perk could work.
But for even small devs doing more than 500$/month in ads, the real cost of Corona would skyrocket.
You could just get the Enterprise at the point, but if you don’t need it, it doesn’t make sense getting it. We need a Pro version for small/mid devs that don’t need Enterprise.
Otherwise I’m sorry but there’s no way I’m going to pay thousands of dollars-yearly-for Corona.
Roj Niyogi
Posted at 20:30h, 19 JanuaryWe’re working to release a revised ratio model that is tiered in nature based on growth that will bring the ratio down to as low as 1/20 rev-share.
I’d like to think the Corona SDK helps you make money as a developer.
Andreas
Posted at 00:11h, 18 JanuaryHi David,
well, I guess with your Casino games you must be one of the guys who make real money – most of the other developers making “normal” games ain’t that lucky.
But I fully agree with you – there should be an option without any revenue split, e.g. if you pay for enterprise you don’t have to share your earnings.
Maybe something like that is already implemented / planned for? I don’t know, didn’t have the time to go into the fine print right now.
Best
Andreas
Dave Grant
Posted at 05:53h, 18 JanuaryYeah I totally get that and for those who don’t make that much money the revenue sharing is a good idea. It limits upfront costs. I know I’m not the norm by any means but I’m sure there are quite a few people doing over 3,000$ a year.
I have enterprise actually. I also have all the corona cards. At one point I was paying for multiple pro accounts, enterprise and cards something like 2-3k per year and I was perfectly fine with that. Under their rev sharing they would be making that every few days from me.
Dr.Klaus
Posted at 01:22h, 18 Januaryif 20% == 100 USD a day, than Corona will get about 365*100 = 36.5k usd in year.
I think will be better to hire good programmer, who remake my game using, for example, UNITY, and I forget about stupid plugins and greedy corona team 🙂
I going to think about it 🙁
Roj Niyogi
Posted at 20:32h, 19 JanuaryWe’re revising the model but since you’re doing math here – you can’t forget the flipside of the equation. 80% = $400. $400 x 365 = $146,000/year. Not too bad.
And if you don’t make it, you don’t pay us anything.
Dr.Klaus
Posted at 03:55h, 20 JanuaryI am Enterprise developer. I have purchased Corona and do not want to pay additionally!
David Grant
Posted at 06:15h, 20 JanuaryPlease don’t take this the wrong way but you can’t take the success for everyones apps. What I found about the app game is it doesn’t really require a high quality app it just requires great marketing. If you guys were helping me with marketing then I’d be all for the rev sharing. You just just give me the ability to make the app which I could make in native, unity, cocos, swift, flash, titanium etc etc.
Dr.Klaus
Posted at 08:07h, 20 JanuaryDavid Grant +1
There are lot of guys who can’t to pay for Enterprise version of corona and in this case corona staff can use rev sharing. BUT if I use PAID version of corona engine, there is NOTHING for you guys to claim or share.
Damir Kranjcec
Posted at 01:23h, 18 JanuaryAgree with the above comments.
Getting harder and harder for indie developers to make any money.
My suggestion: Make a Pro version of Corona which would include Corona Enterprise and charge for it.
Anthony
Posted at 04:40h, 18 JanuaryIs the Perk ad shown first?
If so, that disadvantages the developer. E.g. 1 interstitial shown and then app closure does happen. But perhaps more importantly…
… Those earning a pittance using Corona will likely not object to the ratio model. Those, like David Grant (and there are others) that earn serious money will almost certainly not accept this. It’s simply too costly for the developer. Different Corona developers will effectively be paying different amounts for the same product.
I can’t see how Perk can get a good return on this “ratio” model. The top earning Corona developers will be forced to move on. Those earning very little (even if there are large numbers of them) will likely not generate enough revenue to sustain Corona/Perk.
Let’s survey the community. I for one wish to see a return to a paid subscription.
Best – Anthony.
Roj Niyogi
Posted at 20:35h, 19 JanuaryThere is no Perk ad shown here.
We’re revising the ratio to be tiered based on app growth and will have more details on this shortly.
jch_APPLE
Posted at 05:03h, 18 JanuaryI’m not sure to understand. Does-it mean that if I implement this plug-in, 20% of my sales will go to Corona ? Or just that revenue made by FAN will be split 80-20 ?
My opinion is that Corona should go back to old way, with an annual fee for pro users. Everybody can understand that a company has to pay people, “free” can’t be long term
Roj Niyogi
Posted at 20:36h, 19 JanuaryWe’re revising the ratio model to be tiered and oriented around your app’s growth. Important to note is that this is FAN plugin specific and not all plugins will operate the same way.
jch_APPLE
Posted at 09:01h, 18 JanuaryThere’s also the possibility for us to develop an app for a third party and being paid for that. If our customers intend to have a ROI based on ad revenues, it will be difficult for us to explain them that they have paid to get 80% for them and 20% for Corona.
Coming back to 2014’s price scheme seems to be the solution. Corona guy’s, you have the mailing list, ask the question to the community !
Roj Niyogi
Posted at 20:36h, 19 JanuaryThis is FAN plugin specific.
jch_APPLE
Posted at 23:47h, 21 JanuaryThank taking time to respond to my 2 questions. I’m not directly concerned (I don’t get revenues with adds) but could you imagine Bill Gates asking writers to share some revenues because they would have use Word to write their best-sellers?
Having free licence to get a maximum of developers is nice.
These developers could easily understand that they have to share their revenues (all revenues generated with Corona).
Just add a paying Pro licence without share.
This way you’ll satisfy everybody and you’ll avoid having developers moving different platforms.
Something has changed since Perk acquired Corona and you show more personal investment than previous owners. Please don’t let a simple decision having a negative impact on a bunch of very positive announcements and actions.
Naveen
Posted at 11:34h, 18 JanuaryI hope other plugins don’t go this way. I’d happily pay a few thousand a year so get a mid tier with no revenue sharing.
Naveen
Posted at 11:35h, 18 January*to get a mid tier with no revenue sharing. This model doesn’t make sense for devs that make a decent amount.
Tony
Posted at 13:54h, 18 JanuaryGuys with Enterprise, unfortunately, let’s not hope much from Corona Team. seems they are not targeting us anymore.
So, Let’s build our community of plugins. or let’s move to unity.
by saying Enterprise Guys, I think it covers most those who doing well with Corona.
Steven Warren
Posted at 14:48h, 18 JanuaryI have zero issues paying for Corona SDK. I paid for a license before it was offered free. That was a fixed cost and a price of doing business. What I do have issues with, is giving away 20% of my revenue. I generate 90% of my revenue from ads.
I love using Corona, it makes so many things simpler. But, I am a business man and I am in business to increase my bottom line. Corona’s monetization platforms have been diminishing over the last few years making it harder to justify using it.
Could someone from Corona or Perk chime in and tell us if this is the revenue model going forward? Will the next updated Admob plugin also use this model? How about other advertiser plugins?
clement
Posted at 15:17h, 18 JanuaryTerrible idea I would rather you keep the price fixed rather than seeking a percentage…this makes it where unity and some of the other open source sound more enticing
Anthony
Posted at 00:54h, 19 JanuarySteven Warren asks some excellent questions:
“Could someone from Corona or Perk chime in and tell us if this is the revenue model going forward?”
“Will the next updated Admob plugin also use this model?”
if this is the model going forward I’m out of Corona. My ad earnings would completely price out the ad revenue sharing that Corona appears to be adopting.
The idea of 20% of my AdMob revenue going to pay for Corona is unacceptable to me.
@ Roj, Corona/Perk. With respect, you need to consider this ad revenue sharing model carefully. It’s all very well dismissing the paid subscription model as it didn’t work before. Please try to make it work. The punitive ad revenue sharing model will drive the mid- and high-earning developers away. You will be left with 20% (or tiered or whatever %) of very little from the majority of developers who earn “hobby income” rather than income substantial enough to sustain a business.
Best – Anthony
nori
Posted at 11:23h, 19 JanuaryAs a developer that just recently got into lua and corona sdk, the idea that taking a percentage of revenue from ads plugins.. while other platforms don’t.. makes it almost a no brainer to switch now while it’s still early just in case corona/perk decides to take shares of all ad plugins. I mean what’s stopping them now?
I would be all be for the 2014 pricing scheme where we would pay corona/perk is a static amount per year vs a percentage through the lifetime of my apps.
On the other side of the field, perk wants to make money off their purchase of corona, but something like this isn’t really a good thing in the long run. The model should be like “FREE with rev share ” or “Paid yearly with no rev share”.
just my two cents..
Ruben
Posted at 15:44h, 19 JanuaryPlease also checkout this forum post I started when I noticed the new 20% revenue share cut for Perk.
https://forums.coronalabs.com/topic/61099-facebook-audience-network-corona-takes-20-revenue-share/
I asked if Perk will use a similar strategy for other ad platforms and Roj responded positively:
“Re: other monetization plugins, our general thought is that we’d like to succeed with our publishers’ success. As such, we’re working on models like the one in place for Facebook Audience Network but they will vary in arrangement (some will be ratios but with different rev-shares, some will be tiered rev-shares based on volume, others you’ll have an indirect relationship with an ad network but will benefit from better rev-shares we have with the network, etc)”
Roj Niyogi
Posted at 20:39h, 19 JanuaryPosted a response in the Forums recently but submitting here as well:
To those who are mentioning that this model is clearly not conducive to developers who already have several million impressions being served a month and have an active user base – you are right. As such we are revising our ratio model to be tiered based on growth and will be providing details about this early next week.
To those who have been supportive of our decision to operate this plugin on a ratio model, I appreciate this. Our goal is to ensure the longevity of the Corona SDK framework and this strategy is one of *many* we will be employing towards this mission. We understand that the plugin ratio model may not be appropriate for all developers but also believe that more options instead of fewer makes for a more vibrant ecosystem allowing for more possibilities when building apps.
To those curious about whether or not ratio models will be applied to both legacy and future ad networks, the answer is “it depends”. We are working with various networks to establish different kinds of models some of which will keep plugins functioning the way they have, others which will allow new monetization plugins to exist in the plugin ecosystem in a way that is mutually beneficial to both the developer as well as the platform itself.
David Grant
Posted at 22:54h, 19 JanuarySo I’m trying to use the plugin and I’ve noticed that every other time I launch my app it gives me an error. I’ve debugged it for hours and nothing makes sense as the same call works every other time without fail. I’m wondering if instead of showing your ad every 1:5 if you’re not trying to show it every other time? It’s really the only thing that makes sense as my code doesn’t change at all between app sessions.
Danny Glover
Posted at 04:54h, 20 JanuaryHey David.
Can you drop me a line @ [email protected] ?
I’d like to know more about the error you are receiving.
Thank you
Damir Kranjcec
Posted at 05:35h, 21 JanuaryIf Corona finally opens the PAID plugin marketplace, then there will be for sure developers offering the plugins for decent price so devs will be able to avoid the rev-share model.
If not, the devs with high-revenue will hire someone to make them the plugins.
In the end, only devs with low-revenue will use the rev-share model, so Perk will not benefit from this model, IMO.
jch_APPLE
Posted at 00:02h, 22 January+1, it’s obvious. It’s like paying a tax on our work, people hate taxes. Successful people are talented, they can learn new development tools and move and Perk will get the exact opposite of their goal.
Martin
Posted at 17:23h, 01 February20% revenue share, 30% to Google, 25% VAT, 40% income tax…..
What do I get? Not a lot.
Rob Miracle
Posted at 17:38h, 01 FebruaryGoogle takes a much larger share of AdMob revenue; however, Facebook audience network ads don’t go through Google or Apple’s accounting at all that I’m aware of. Also we’ve changed the ratio to be more fair. It now ranges between 16% and 5% depending on number of ads deployed.
Mike
Posted at 06:46h, 02 FebruaryMy app says it is “public and available to all users” and has made thousands of a ad requests but is not receiving and ads. Under “Audience Network” it still says the app is “currently testing your Facebook ad placements”. This is been going on for 5 days. Anybody have any idea what the problem could be?
I can’t find any place for support on Facebooks web site.
Partager ses revenus avec son moteur de jeu ? Scandaleux ? - Gamecodeur - Devenir programmeur de jeux vidéo, école de jeux vidéo en ligneGamecodeur - Devenir programmeur de jeux vidéo, école de jeux vidéo en ligne
Posted at 02:18h, 21 February[…] Lire la news et les commentaires des utilisateurs (en anglais). […]
Adi
Posted at 00:07h, 14 MarchHi, why is it required to add in the plug-in initialization the supported platforms? shouldn’t it work on all platforms including amazon for example?
Rob Miracle
Posted at 16:22h, 14 MarchIf you are only building for Android and iOS it’s not required. But if you’re also building for OS X or Window’s Desktop or tvOS, then you need to include this to stop us from trying to include it on those platforms.
Isaac
Posted at 23:10h, 22 MarchSo are you guys going with a flat 5% rate now or there is still tier? Probably you can either update this post or make it clearer in the documentation https://docs.coronalabs.com/plugin/fbAudienceNetwork/index.html
Rob Miracle
Posted at 15:17h, 23 MarchI thought we had updated the post. It’s 5%. Post has been updated. Thanks for spotting this.