Plugin Partner: Introducing GameThrive, free push notifications for Corona developers

Share on Facebook0Share on Google+1Tweet about this on TwitterShare on LinkedIn6

GameThriveLong is the Creative Director of Hiptic Games, the makers of the Corona hits Go Ninja! and Shaqdown which were both featured on iTunes and were downloaded collectively over 5 million times. His previous works include Gaia Online, Super Street Fighter 2 Turbo HD Remix and Tatsunoko VS Capcom. He is currently Director of Business Development at GameThrive.

What are Push Notifications?

A Push Notification is similar to an SMS message. It’s basically an alert that instantly appears on your mobile device. Apps must first prompt a user if they wish to receive notifications, and if they accept, the application can deliver relevant messages to that user at any time. Apps typically use push notifications to tell users about new updates, limited time discounts, or simply to remind them to use the app after a few days of inactivity. It’s the easiest way for app developers to dramatically boost re-engagement and retention.

Studies have shown that push notifications boost user retention by as much as 50%, making push notifications an essential part of any app’s success.

It’s no wonder that the big game companies all use Push to keep their players engaged for as long as they can.

We at Hiptic Games were hard pressed to an inexpensive and reliable push notification solution that gave us the ability to send scheduled and targeted push notifications to the users of our Corona games.

Many services offer Push Notifications on a free tier, but severely limit the available features. They also start charging you when you cross a threshold number of devices, number of apps, or data points. Before long, you may suddenly find yourself billed large amounts even if you’re not making enough money to cover those costs.

We understand that most indie developers are on a tight budget and often can’t afford to pay the prices that many push notification providers charge. So, we decided to make GameThrive — our own Push Notifications service. And we are working with Corona to bring this service to Corona developers for free.

What’s GameThrive?

GameThrive is a cross platform Push Notifications solution that can be set up in less than 15 minutes and provides segmentation targeting, localization, scheduled push and real time tracking. GameThrive currently supports native Apple and Google push notifications and comes with libraries for native iOS, native Android, Corona SDK and Unity.

Get started sending Push Messages with GameThrive:

If you’re an Enterprise user check out the GameThrive for Corona Enterprise documentation here. Otherwise, read on…

  1. Sign up for a free account on
  2. If you’re developing your game for iOS, follow the directions to make your application certificate push compatible here. You should start with your development certificate, but don’t forget to make your Production certificate push compatible too before releasing your game.
  3. If you’re releasing your game on Android, follow the directions to generate a push notification key and project number here.
  4. In your project folder, find config.lua and add the following in a new line after “application = {”

    Include just the google or iphone sections if your game is for only one platform. If you will be releasing on Android, set your project number to the value on the Google Developer console (Make sure you followed step 3 first):

  5. Update the build.settings file in the Corona project folder to contain the following inside of the “settings” table.

  6. At the top of main.lua, place the following code.

    Replace XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX with your App ID, available on the settings page for your app on

    HandleOpenedFromNotification will be called when a user receives a notification. If the app is currently running at the time (even in the background), no notification will be displayed on the device but it will still be received and this method will still be called.

    The code above is an example, but you can customize the contents of this method to do different things when a user accepts a notification. The additionalData parameter is a table that can be defined when you send a notification from the GameThrive website.

  7. That’s all! Now just run your app on a device and you will be able to deliver notifications to it from the GameThrive website. People who download your application will be automatically prompted if they wish to accept notifications, and you can send them notifications any time you wish.

More documentation

Push it, good.

Already using another push notification provider? Simply contact us and we’ll be happy to help you switch.

We hope you’ll give it a try. And please feel free to contact us directly if you have any questions on how to get started and best practices to start engaging your users. Thanks!

Share on Facebook0Share on Google+1Tweet about this on TwitterShare on LinkedIn6

This entry has 42 replies

  1. Lerg says:

    Nice, it does provide good free quotas.

  2. Kerem says:

    Very nice! Thanks for this generous contribution to the community.

  3. Renato says:

    Nice addition. Just registered there.

  4. dingo says:

    great stuff indeed! I guess this is enterprise users only?

    • David says:

      No, it’s actually available to all tiers, from Starter to Enterprise.

      • dingo says:

        thanks david, I’ve just realised that!

  5. Long Vo says:

    Dingo, this is for all Corona Developers, including Basic. 🙂

  6. Dave Baxter says:

    “If the app is currently running at the time (even in the background), no notification will be displayed on the device but it will still be received and this method will still be called.”

    You would be best popping up a showAlert with a OK and Cancel button and then if they press OK take them to the coin screen or whatever. Otherwise they might be doing something important in a game, showAlert pops up with just a OK button and pressing that OK takes you to the coin screen I would be might (not pleased) off!

    Looks good though, gonna give it a try for the app am currently developing.


    • George says:

      George from GameThrive here,

      Great point! We’ll update our documentation with a better example for this case.

  7. Lourenco says:

    Can we push notifications from a game/app itself rather than from GameThrive interface.
    Can we do this with the rest api?

    • George says:

      Not yet, but this is on our todo list 🙂

      • George says:

        We now support this feature!

  8. Excellent, will be using this in our apps for sure.

  9. What about rich push notifications? Are you going beyond simple text messages?

    • George says:

      For rich push notifications there’s a built-in feature to direct users to a website when users open a notification. You can also write some custom code inside the HandleOpenedFromNotification method to open up an in-app webview if you’d like.

      Let us know if you need something more than this and hopefully we’ll be able to add it for you 🙂

  10. Serkan says:

    I tried out your sample code and did everything on the website but it constantly fails to send the messages. Why can that be? I really like to include it in our next game before it goes to testing.

    • George says:

      Hey Serkan, sorry you’re having trouble getting it working! Email me at and I can help you out.

      • Serkan says:

        Thank you for your help George. That was quick and right to the point 🙂

  11. Vince A says:

    Wow, this is indeed very generous and will be a boon to any indie developer! I just have a few questions:

    1) Does it support sending push notifications from device to device, such as notifying someone that it’s their turn to play?

    2) Will it work on the Amazon Kindle?

    3) What happens if you reach your threshold of 50M pushes per month? Do you pay a flat rate for every 1000 after?

    Thanks, I’m very interested in using this service 🙂

    • George says:

      Thanks Vince!

      1) Does it support sending push notifications from device to device, such as notifying someone that it’s their turn to play?

      >> Not yet, but this is on our todo list. I do have a question for you though: What do you use for your backend to store game state? It’s possible that it would make more sense for your backend system to send a notification through our API (Which we will support very soon), than for the device to make the API call.

      2) Will it work on the Amazon Kindle?

      >> Not yet. There are a couple barriers for this to work unfortunately. Our server is not yet set up to talk to Amazon’s Device Messaging API (but this is high up on our todo list), and Corona does not have a simple way to get Amazon device registration ids (We may be able to write a native extension to do this though).

      3) What happens if you reach your threshold of 50M pushes per month? Do you pay a flat rate for every 1000 after?

      >> We can work with you to increase the limit, but the setup process may take a bit longer because we want to make sure that we can reliably deliver such a high volume without affecting the performance of the rest of our system. It will still be free.

      • Vince A says:

        Hi George, thanks for the quick and thorough response!

        I am still in the research phase for a backend service provider. I don’t really have the time to implement one myself so I was planning on using Parse. Their monthly API call limit is fairly low which is why I want to use a separate service to handle push notifications.

        Nevertheless I’m glad to see you guys looking out for the smaller developers. I think something like this is just what we need.

        • George says:

          That makes sense. We will definitely have something in place for your use case soon.

          • George says:

            Update: We now support device-to-device notifications!

      • Lerg says:

        For the backend I love to use Go language on Google App Engine. If you can make a lib that will work with Go -that would be really awesome. I know many other developers use PHP for backends.

        • George says:

          Our API is just REST based, so it should be easy enough to use it from Go that a special library shouldn’t be necessary. I’ll let you know when we add notification delivery to our API (will be quite soon).

          • George says:

            Update: API for notification delivery is ready!

  12. Kerem says:

    3) What happens if you reach your threshold of 50M pushes per month? Do you pay a flat rate for every 1000 after?

    >> We can work with you to increase the limit, but the setup process may take a bit longer because we want to make sure that we can reliably deliver such a high volume without affecting the performance of the rest of our system. It will still be free.


    Wow. This is amazing and very very generous. As much as I like “free” just like the next person, I have to ask… How are you planning on surviving and paying the bills? Sounds like you have a great service blooming here but if you go out of business in 3 months it won’t be good for anyone including the devs here who choose to invest time integrating your service in their apps. What is the business model? Can we count on GameThrive being here and thriving in the long run? Thanks much!!!

    • George says:

      Good question 🙂

      We make money in two ways:
      1. Charging for special notification targeting features (Currently in development).
      2. Using GameThrive as a lead generation tool for our game development consultancy (

      Right now we’re fortunate that our consultancy makes enough money for us to continue supporting GameThrive indefinitely. We developed a highly efficient backend delivery system so our hosting costs are very low.

      Though we are working hard to avoid this, if we do start charging for existing features, we will grandfather in the free pricing for existing accounts.

      • Kerem says:

        Super. Thanks much for taking the time to share. Wishing you and your business all the very best of success. Runs to sign up now… 🙂

  13. Greg says:

    What is the definition of a push? Eg is the same message to all users considered 1 push?

    • George says:

      A push is per device. So if you have 200,000 players who accepted push notifications and you send a notification to all of them, that counts as 200,000 pushes.

  14. Naveen says:

    Quick question: if I integrate this into 10 of my games, and I only want to send 1 notification to a user (even if they have a bunch of my games installed), is this possible? I wouldn’t want to send 5 notifications of the exact same thing to a player.

    • George says:

      Yep, it’s possible but might take a bit of work. You’ll have to set up a backend server if you don’t have one yet, or use something like Parse.

      First, you’ll need to have a way to uniquely identify a user across your apps. On android you can use their device_id, but on iOS you’ll have to use something like their email or username (If you have a sign-up process in your apps).

      Now using this unique identifier, on your server keep a record of each application that a user has installed.

      Now there are two ways to go about preventing multiple deliveries:

      1. Use our API

      In the next few days we’ll be releasing an API update that you can use to deliver notifications to users one at a time. From your server, you can use this API combined with a list of which apps a user has installed to just send one notification to each person even if they have multiple apps installed.

      2. Use Tags

      Each time a user launches an app, check with your server to see if they have any of your other apps installed and use the GameThrive “Tags” feature to tag them. For instance, a user might have the following tags:


      Then, in GameThrive, set up segments based on this tag on each of your apps. The segments can have the same name as the tags, and you’ll need to create the same segments for each app.

      Finally, from GameThrive, go to each app and send a notification filtered by the appropriate segments:

      App1 Notification = Deliver to segment “ALL”
      App2 Notification = Deliver to segment “ALL”, exclude “Installed_App2”
      App3 Notification = Deliver to segment “ALL”, exclude “Installed_App2” & “Installed_App3”

      Unfortunately this won’t be 100% reliable because the tags may go out of date if a user installs a new app but doesn’t launch the previous one. But it’s better than nothing.

      Whew, hopefully that all made sense 😀

  15. Warren says:

    Is there any way I can send a push notification to a single user? If I have some sort of unique ID for each user such as their email can I send it out to just that user? I don’t know if you support allowing so many tags or however I would use it. I want to send a push notification to someone when someone made a reservation in their condo. I have an app that shows all the dates that the condo has been rented and want to notify each user of any change right then. Thanks!!

    • George says:

      Hey! Just replied to your email but I’ll post here too for the benefit of others:

      Next week we’ll be releasing an API that lets you do this. Our SDK will give you a unique token for each user that you can save in your backend system, and then you can use our API to deliver a message by specifying the content of the message and the token(s) of who you want to send it to.

      • George says:

        Update: The notification delivery API is ready. We also support delivering messages through the device_token.

  16. This is great. The docs and guides provided made this very easy for me to get set up. It would be good to have a specific area of the Corona Forums dedicated to the GameThrive plugin. Also, there doesn’t yet seem to be a link to the official GameThrive plugin reference at The only way I could find it was via this blog post.

  17. Long Vo says:

    For all those interested in GameThrive or have questions, please feel free to direct them in the Corona forums here:

    We’ll do our best to answer any questions in a timely manner. Thanks!

  18. Michael says:

    Thanks a lot. in German we say “MEGA GEIL”, (really cool) and so fast and easy.

  19. dingo says:

    just wanted to say thanks to you guys. got it running within 15mins on iOS, this is awesome!

Leave a reply

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">