4ian / GDevelop

:video_game: Open-source, cross-platform game engine designed to be used by everyone.
https://gdevelop.io
Other
6.55k stars 722 forks source link

100 euros for Reward Video Ad in GD5 #690

Closed ddabrahim closed 5 years ago

ddabrahim commented 5 years ago

Originally I have posted this on trello but then realised it is not going to happen just because I request it so I decided to offer 100 euros to anyone who willing to implement it in to GD5 and because all the devs are here, I decided to post it here as well:

Request: Reward Video Ad (AdMob, Amazon, Chartboost)

Would be nice to see an object and events to display reward/video ads in our game. We would need the following features for the reward ad:

Among all ad types, personally I find reward ads the only one that actually worth something because it is optional, not forced on the players and both party get something out of it if the player accept it. I make revenue and the player get some in-game item for free. The ads also very short and sometime even really useful I have discovered really cool apps and games through reward ads. In some games I'm looking forward to watch reward ads while there are many games and apps I have uninstalled straight away only because it was pushing ads in to my face all the time. I personally hate them and for that reason I never consider to use them. Reward Ad is the only one I do consider using.

I'm currently working out the details of a project that I would love to make in GD5 but reward ads would be key part of the game for making revenue. Would be awesome if someone could throw this in to the doing section right now.

If it motivate someone I have 100 euros to pay anyone who willing to implement this. I pay only through PayPal or a service accept PayPal like itch.io or Gumroad. To contributors ever implemented a complete feature in to GD I'm willing to pay 30 euros up front and 70 when deliver. If it happens to be @4ian itself I'm willing to pay the full amount up front to you. To people jumping out of the blue I pay only when deliver. It need to be done in a way to assure compatibility with future versions of GD5 and if it would also compile with the online build service so we do need the approval of @4ian first and then we can talk money.

Let me know here if anyone interested in the paid part this way I know if you are a contributor or someone out of the blue. We can discuss payment in email once 4ian conformed if he willing to maintain this once implemented.

Thanks in advance.

bil-ash commented 5 years ago

https://github.com/ratson/cordova-plugin-admob-free The above link points to a cordova plugin which supports admob rewarded videos. If this is to be used the current admob plugin used by build system has to be replaced by this one. I believe that apart from this reason there is another reason why the plugin should be replaced-it seems to be outdated(not updated for many months)

4ian commented 5 years ago

This may indeed be a matter of adapting a new/updated/upgraded plugin for Admob (or other) :)

4ian commented 5 years ago

I added a card on the roadmap for this: https://trello.com/c/RTYnNXUd/169-add-support-for-reward-video-ads

If someone is working on this, there should technically be no major point of attention - just let me know which Cordova plugin you want to use.

4ian commented 5 years ago

@ddabrahim You should consider opening a bounty here: https://www.bountysource.com/teams/gdevelop/issues?tracker_ids=3677421

$100 might put enough visibility to have new programmers looking at it. It could also allow other people to add money to the issue.

oussama-HA commented 5 years ago

@4ian Gdevelop depends on "cordova-plugin-admobpro" this plugin is Not Free. The plugin will automatically take 2% off revenue once your app makes more than $1000. (by showing the developer ads instead of yours) If you do not want to take 2% revenue you can buy a license for $20. You can read more about the license.

As Google AdMob does not disclose how much revenue an app has made. This plugin will estimate when your app will make $1000 and then take 2% revenue. All of this sounds very unclear to me.

On the other hand, there is a very good alternative Free and open source plugin with a lot of great features and best of all with no hidden fees or any sort of revenue deductions, check it out on the following link: https://github.com/ratson/cordova-plugin-admob-free

It will be great to replace the current plugin with this one

4ian commented 5 years ago

Indeed, cordova-plugin-admob-free seems the best choice and we should move to it. It should not be too hard, mainly change API calls in admobruntimeobject.js, update comments. My help could be needed to have the plugin inserted automatically for Cordova when building online. Otherwise, anyone can implement this by installing Cordova tools (https://cordova.apache.org/)

It's also supporting the video reward, which could be implemented quickly after! I've created a card for tracking the update to cordova-plugin-admob-free: https://trello.com/c/obmkZH0Q/170-update-admob-object-to-use-cordova-plugin-admob-free

@blurymind @Lizard-13 @Wend1go @Bouh Pinging you in case anyone is interested to look at this :)

EDIT: Thanks @oussama-HA for letting me know about this plugin :)

oussama-HA commented 5 years ago

EDIT: Thanks @oussama-HA for letting me know about this plugin :)

You welcome @4ian :) I am the one who should thank you million times for this wonderful game engine.

My help could be needed to have the plugin inserted automatically for Cordova when building online. Otherwise, anyone can implement this by installing Cordova tools (https://cordova.apache.org/)

@4ian Can you please share with us a simple tutorial on how to get this done while building locally with Cordova CLI

ddabrahim commented 5 years ago

@ddabrahim You should consider opening a bounty here: https://www.bountysource.com/teams/gdevelop/issues?tracker_ids=3677421

Looks interesting but it is unclear to me how it is works? Is Bountysource going to charge me up front for the money and then pay it to a developer claim to have done the job that all contributors need to accept? This is what it seems to me when I try to post a bounty on the issue it takes me to paypal to charge me up front.

Unfortunately I can't afford to give this money away up front and only hope someone take it one day, I need this feature now. I need to know if someone with reputation willing to do it now and then I'm willing to pay either X% up front or even the full amount depends on who that person is. Active contribution on GitHub to any project is a must.

Anyone can register at Gumroad and get paid by direct bank transfer, or register at itch.io and get paid through PayPal. If anyone interested, throw me a link to an itch.io page with a donate button or PayPal link or Gumroad account or any other option prefer where I can pay with PayPal and after agree either publicly here or privately in email when the feature will be delivered I'll pay the money. If no one show up very soon, I need to move on and go with something that either has reward add support already, or I can implement it myself. Unfortunately I can't implement it myself in to GD that's why I thought I make this offer.

Thanks.

oussama-HA commented 5 years ago

@ddabrahim That's why I asked @4ian for a simple tutorial that explains to us how we can get the advantage of the cordova plugin "cordova-plugin-admob-free" (this plugin has a reward video Ad feature)

Because when you build locally using Cordova CLI you can add whatever plugin you want the only thing that is not clear for me is how to implement that in my GD exported project. Hope @4ian will help us here

Lizard-13 commented 5 years ago

@ddabrahim Seems that nobody else is on it so I can give it a look, a good opportunity to check if the admob extension is actually broken as some users say. I don't promise anything yet.

oussama-HA commented 5 years ago

@Lizard-13 The current admob extension it's not broken, it lacks s lot of features + the developer show his ads on your apps, that's why we want to adapt another plugin call cordova-plugin-abmob-free. Can you please help us with a simple tutorial that show how we can implement this plugin in our Gd project?

Lizard-13 commented 5 years ago

A tutorial for the current plugin?, never used it, but I'm digging and can write a tutorial (maybe update the wiki) if I get it to work :)

oussama-HA commented 5 years ago

@Lizard-13 Thanks a lot for that; but I asked a simple tutorial or wiki for cordova-plugin-abmob-free not current plugin, as @4ian said in the previous comment:

My help could be needed to have the plugin inserted automatically for Cordova when building online. Otherwise, anyone can implement this by installing Cordova tools (https://cordova.apache.org/)

How I can implement cordova-plugin-abmob-free in my project ?

bil-ash commented 5 years ago

@ddabrahim I am working on implementing the features you need. I started with cordova-plugin-admob-free but its rewarded ads implementation is outdated and also requires mediation. So I have moved to admob-plus(written by the same author). Its android implementation will have some problems for gdevelop. I shall try to make the necessary changes and then implement the extension. Hopefully, I shall be able to develop the extension by Monday. I haven't made any PR till now so may be you or someone else might need to help me with the PR after I finish development on my local system.

@4ian The current admob extension for GDevelop 5 depends on C++ code to a great extent. So I shall leave it untouched and implement the new admob extension as a jsextension with the name CdvAdmob or CordovaAdmob,so that after it is ready the old extension can be removed from GD5 and the new one can be renamed to Admob. Is it OK?

oussama-HA commented 5 years ago

@bil-ash That's will be great, I can't wait for it :)

4ian commented 5 years ago

The current admob extension for GDevelop 5 depends on C++ code to a great extent. So I shall leave it untouched and implement the new admob extension as a jsextension with the name CdvAdmob or CordovaAdmob,so that after it is ready the old extension can be removed from GD5 and the new one can be renamed to Admob. Is it OK?

Yeah depending on how changes are important you can create a new JsExtension.js file, following https://github.com/4ian/GDevelop/blob/master/newIDE/README-extensions.md :) It will be ok to then remove the old extension when we have the new one ready :)

Its android implementation will have some problems for gdevelop

What kind of problems?

bil-ash commented 5 years ago

@4ian The plugin which I plan to use requires app id to be specified while installation of the plugin,i.e., cordova plugin add cordova-admob-plus --appid=xyz which will be problematic for gdevelop online build service,and even may be for local export to cordova.I made the necessary changes to install without the appid,let me see if ads are shown properly

4ian commented 5 years ago

@bil-ash Can the variable be added to Cordova config.xml file instead? Or any other file that could be generated during export?

bil-ash commented 5 years ago

@4ian Yes it can be added to the config.xml file.

I tried showing ads using the plugin(a particular release),banner and interstitial ads work fine but video ads do not. I created an issue regarding this(although there was already a similar issue to which the author hasn't replied).The author has made some commits recently, I shall check if now the video ads are shown properly. The plugin which I am using is- https://github.com/admob-plus/admob-plus

4ian commented 5 years ago

Yes it can be added to the config.xml file.

Sweet :)

Good idea to open an issue. If the rest is working, it's probably that something is broken in the plugin - unless you made a mistake somewhere.

Let me know if you get something working, I can then provide help for integrating the extension and modifying the export to have the variables declared.

oussama-HA commented 5 years ago

@bill-ash Hi bill, any updates about the new admob plugin?

bil-ash commented 5 years ago

@ddabrahim @4ian Till now I could not get the admob rewarded video ads to work, banner and interstitial ads work fine though.Also the issue which I created for the same hasn't been answered.

I could implement unity rewarded video ads using a different plugin- https://github.com/artemisoftnian/com-artemisoftnian-plugins-unityads2

What should I do?Wait for the next stable release of admob-plus plugin(hoping that it solves the rewarded video problem) or implement rewarded video ads using unity ads or do something else(suggestions welcome)?

ddabrahim commented 5 years ago

@bil-ash first off all, I'm really appreciate the efforts you are making. It seems to me the developer of the admob plugin ignoring the problem with reward video ads, or simply did not figured out a way how to solve it because you are not the only one facing problems and asking questions but get no reply. So this admob plugin is definitely a no go because we need something that is actively maintained and taken care of. If ads does not work in your app only for a week it could be a horror as the point of this add is to get paid if watched and reward the player for watching and the reward need to be something that players do need in order to enjoy the game and to be motivated to watch ads. If the ad doesn't work the game may just become unplayable and kill the game.

To be honest I'm not sure if I can trust any cordova plugin as even Construct users experiencing the very same problem right now simply because of the cordova plugin used under the hood even though it is part of the core. Best scenario would be to make a custom plugin that would be maintained by 4ian but of course I don't expect that to happen.

An other possibility that I mentioned on the forum and probably everyone is against it is that @4ian could make a deal with the developer of the admob plugin. The developer is currently looking for monthly donation to support the development of the plugin. It would be possible to make this feature exclusive to subscribers only in GD and 4ian could make a deal to pay X% revenue share from the subscription and it may encourage the dev to pay more attention to the reward video ad problem and to also maintain it for us. But it is down to 4ian to make this decision and contact the dev of the admob plugin with this offer and also depends on if the problem is being ignored for financial reasons.

The unity plugin is something I have never considered and I don't really know right now if I would be interested to use UnityAds. I need to look in to it. The ones I would be interested is AdMob and Chartboost but feel free to discuss about Unity, is it worth it? Would that work? Did anyone use it before?

I'm going to consider UnityAd but until then I would say to wait and see if the dev of the admob plugin going to fix it and I also would like 4ian to consider what I just mentioned about subscription because ad networks constantly changing, evolving, even if you get it working today, tomorrow it may going to fail so it would be very important to be maintained this is why I don't personally mind to spend money on it to get it implemented but also after to keep it maintained...

Thanks everyone.

oussama-HA commented 5 years ago

@bill-ash I think we can adept this plugin since banner and interstitial ads works fine, for rewarded videos we can reach the developer for more insight about the issue

ddabrahim commented 5 years ago

Could also try Cocoon for reward video ad http://ludei.github.io/atomic-plugins-docs/dist/doc/js/Cocoon.Ad.html

But then we need to use the Cocoon build service and their Ad plugin. https://cocoon.io/

I would be fine with using Cocoon but I know many people simply hate it for one or another reason, also wondering if @4ian would be interested to maintain it since GD has it own build service now.

bil-ash commented 5 years ago

@ddabrahim Most probably striking a deal with the admob plugin author would be the best solution. But that depends a lot on the plugin author and @4ian

Nevertheless, I shall try and see if it is possibe to use the cocoon plugin in plain cordova.

4ian commented 5 years ago

I'm away and have not read everything, but if there is an issue with https://github.com/admob-plus/admob-plus, best solution is still probably to see with the author how to fix it. Should not be that difficult and the rest of the plugin looks good?

On Sun, 14 Oct 2018, 02:33 bil-ash, notifications@github.com wrote:

@ddabrahim https://github.com/ddabrahim Most probably striking a deal with the admob plugin author would be the best solution. But that depends a lot on the plugin author and @4ian https://github.com/4ian

Nevertheless, I shall try and see if it is possibe to use the cocoon plugin in plain cordova.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/4ian/GDevelop/issues/690#issuecomment-429588920, or mute the thread https://github.com/notifications/unsubscribe-auth/ABOIgmXJukOfiNZ8xpw39f-eG73T-mn4ks5ukpRkgaJpZM4XL1yO .

ddabrahim commented 5 years ago

@bil-ash Cocoon seems broken as well. I tried a build yesterday and the build is still going, also many people on the forum complaining about ads and other Cocoon plugins does not work many even started topics about Cocoon is dying.

I think the best solution is to wait and see if the dev of the admob plugin show up and reply something but there are issues with reward video ad been posted months ago and the dev did not replied to them, It is not a good sign at all considering the developer is active on GitHub. Definitely ignoring the problem and I hate that. I don't trust this guy and his plugin.

Thanks for trying anyway.

oussama-HA commented 5 years ago

@ddabrahim in this case I suggest to fork this plugin and we will hire a freelancer to fix the issue of video reward ads and the community of gdevelop will take care of the plugin. What you think?

oussama-HA commented 5 years ago

@4ian @ddabrahim @bil-ash You can reach the dev via this email: contact@ratson.name his website: https://ratson.name/

ddabrahim commented 5 years ago

@oussama-HA I'm not much of a Java and JS coder, have no clue how this plugin works under the hood so me forking this plugin to maintain it, well, maybe one day but I don't have the skills right now, But yeah, would be nice if someone could do it.

Paying a freelancer to fix it, well... GD is not my project nor the plugin and I'm not forced to use any of them, only because I love GD and would like to use it for my project I offer 100 bucks to anyone able to get reward video ad working in GD all together IF @4ian also agree to maintain it and make it work with the build service if possible. But realistically 100 bucks is barely enough to pay a freelancer to fix the plugin and implement the necessary conditions, actions in to GD not to mention maintenance and 4ian's job to get it working with the online build service, but this is all I have to offer....

ghost commented 5 years ago

As far as I remember for the reward video to work, don't you need to connect it to firebase on the admob dashboard to make it work? (I may be completely wrong, its been a long time since I used it)

ddabrahim commented 5 years ago

@rikazukun Firebase is optional, you can use it to import the SDK but you can also do it manually.

oussama-HA commented 5 years ago

@ddabrahim I guess the best solution here is to build a costume plugin for GD based on cordova-plugin-admob-plus

ddabrahim commented 5 years ago

best solution here is to build a costume plugin

Agree but I don't think 4ian would be interested to maintain it and it would become broken quickly.

@4ian Since no one seem to have time or able to get this working at the moment but I do need assurance now to make sure it will be there when I need it so I can start working on my project, I am considering to drop this offer and do my project in an other engine so you might want to delete the ticket from trello. I'm sort of making the last call to anyone interested then I'm going to remove the offer from the title....

Of course as I don't trust everyone I understand if most people do not trust me either and wondering is there anyone here who would be interested but want to see the money first? Would that help if I would post the bounty on Bountysource? I would be get charged up front and you only need to claim the money, you can also mark the project you are working on it I believe. So the money would be sitting there and you just need to claim it when you have the job done.

I understand bounties normally going for a long time until someone get the job done but unfortunately I can't afford to leave the money and the offer hang in the air for weeks and months. I need to know now if someone is out there.

@bil-ash on trello @Lizard-13 mentioned he got reward video ad working ounce and told going to check again to make sure it still works but then when I offered him money to get it implemented he did not get back to me maybe because you were first trying and he/she did not want to take your opportunity or he/she is busy with studies or may feel offended by my offer or I don't know. But in case not even Lizard-13 got it working after all and the dev of the plugin ignoring the problem I'm simply not interested using that plugin by that person not even if someone get it fixed at this very moment. As I mentioned I don't want to risk reward video ads stop working following an update especially not if the dev is so ignorant about it. Banner and clickable ads I don't care but reward ads must work all times. I'm really appreciate the attempt though.

So last call everyone, with three questions:

  1. Is the plugin works on Android at this very moment? If it not, then I am not interested waiting for someone to fix the plugin also because it would work only until the next update and it doesn't seem to be maintained.
  2. If the plugin works, is there anyone right now willing to implement it for 100 bucks?
  3. If the answer to 1. and 2. is yes, would you prefer me to hand the money over to Bountysource first would that create any trust or if it not that what other option is there?

Thanks everyone.

ghost commented 5 years ago

The plugin works on android and the rewards, just need the updated stuff to be implemented. I haven't checked the whole process or how stuff works behind the scenes on GD so I can't totally add or do stuff yet, but I tested it only with cordova stuff. I just can't focus on it yet since I am currently doing 2 projects (apps) and I don't want to promise and such, BUT I really do want to help; cause I need it too.

Lizard-13 commented 5 years ago

@ddabrahim I get it working, and doing the extensions right now, here is the pull request: https://github.com/4ian/GDevelop/pull/702 Let's wait until I finish it and that we can confirm it indeed works, you know I'll be around so I can update it if needed, even switch to another plugin :)

ratson commented 5 years ago

Hi, cordova-admob-plus author here, it seems you guys have gone quite far. No one has emailed me for this :(

As I am still evolving the plugin and its APIs, I would like to know what is missing to be used in this project.

I think collaboration of this should reduce the maintenance effort and result in higher quality of the plugin. Just want to know if there are any interests on accepting PR for this.

4ian commented 5 years ago

Hey @ratson thanks for writing here 😄 @Lizard-13 has started implementing a PR here: https://github.com/4ian/GDevelop/pull/702 It's using your plugin cordova-plugin-admob-free though for now, I think he'll be able to tell you what or if there is missing with cordova-admob-plus.

I think he spotted a bug in cordova-plugin-admob-free: https://github.com/4ian/GDevelop/pull/702/files#diff-03c63f1e1a520376be2d142301cd5e06R233

Again I think I'll be able to tell you more, apart from this from what I'm seeing it's working well :) When it's ready I'll merge the PR, remove the old GDevelop extension for Admob and people will be able to start adding ads in their games with the new plugin.

Lizard-13 commented 5 years ago

@ratson Hi, sorry for not emailed you, the plugin is working great so far :smile: I'm used to workaround bugs when it isn't my code, and when open an issue I try to give possible reasons/solutions, but had not the time to view your code (and never worked with cordova plugins before), also the bugs where already reported.

I've explored two options, yes, your two plugins:

ratson commented 5 years ago

Hi, sorry for not emailed you, the plugin is working great so far 😄 I'm used to workaround bugs when it isn't my code, and when open an issue I try to give possible reasons/solutions, but had not the time to view your code (and never worked with cordova plugins before), also the bugs where already reported.

Never mind, I do the same :p

Re: cordova-plugin-admob-free Many design decisions and hacky code are inherited from its origin fork repo, which make it hard to maintain, that's why I started admob-plus to address them. I am happy to accept any PR for bug fixes, but I am not going to spend more time on it other than fixing the obvious problems. Good to hear that you have it working already, so I don't need to rush preparing PR. You should not require mediation plugin to show real ads.

Re: admob-plus The problem should have been fixed in v0.7.0. I will find some time to experiment integration with this project, see what need to be improved, then prepare a PR. The API is not yet stable, any feedback would help to shape it better.

Lizard-13 commented 5 years ago

Thanks for the info!

So I think we will stick with cordova-plugin-admob-free for now, as I can't make the admob-plus to work again :expressionless: , it crashes on startup although the application id is correctly added to the manifest file now. Also I can't make it install the plugin remotely (adding the plugin data on the cordova config file) because of a missing variable definition, even if I define the old ADMOB_APPLICATION_ID and the new APP_ID_ANDROID and APP_ID_IOS ones. Will follow the new plugin and try to help you if needed :)

Also, of course, I'll make a new pull request to switch to the admob-plus when I get it to work with the online build services.

4ian commented 5 years ago

This will be supported in next version! Thanks @Lizard-13 for implementing it and thanks @ratson for your formidable Cordova plugin and for your support here!

4ian commented 5 years ago

GDevelop 5 beta 56 includes the new AdMob actions, as well as an example. I've written a page explaining how to use it on the wiki: http://wiki.compilgames.net/doku.php/gdevelop5/all-features/admob

4ian commented 5 years ago

@ddabrahim Can we close the issue now that the support is added?

ddabrahim commented 5 years ago

Yes of course. I would like to say thanks to everyone looked in to this case and did join the discussion. @Lizard-13 please don't forget to contact me either on Discord or the forum.

Thank you all!

4ian commented 5 years ago

👌 And thanks @ratson for your Cordova plugins :) Hope this will be used a lot by GDevelop users!