Adding a Rating Prompt in Corona SDK

When Apple released iOS 11, they gave developers a new way to prompt for reviews. This new prompt improves the flow of any app because it keeps the user within the app. In prior versions, the user would be sent to the App Store and consequently, leave the app. I always felt it was a bit of a crap shoot whether or not the user would leave the review. This new system review prompt fixes it and here’s what it looks like.

What the Rebus review prompt  What the Rebus review prompt filled out

This game, What The Rebus, was built with Corona SDK and utilizes the new review prompt after level 5 and level 25. According to best practices, it’s best to prompt the user after the completion of a game level or at a high point within the game. I felt it was best to put these in at the end of levels 5 & 25. Here’s some additional tips directly from Apple:

Ask for reviews at a high point. This can be after a level, beating a boss, or accomplishing a task.

If the user is in the middle of a task, don’t interrupt them! Prompt for reviews at stopping points in the game.

Don’t prompt for reviews repeatedly. You hate spam and I hate spam. Why should you submit your players to rating spams? Give some space in-between your rating review prompts.

Now, to the good part – how to incorporate this new rating prompt in your Corona SDK app or game!

You’re not going to find this new prompt in the Corona documentation because it was built by an individual, Scott Harrison. This prompt is available as a plugin in the Corona Marketplace at https://marketplace.coronalabs.com/plugin/review-popup. Let’s give a huge thank you to @scottrules44. To start using the plugin, you’ll need to login to the marketplace and click activate. Scott has made this free for developers to use.

Once it’s activated, you’ll need to add the plugin to your build.settings file. Here’s how (pulled from https://scotth.tech/plugin-reviewPopUp).

settings =
{
  plugins = {
    ["plugin.reviewPopUp"] =
    {
      publisherId = "tech.scotth",
    },
  },
}

Then, you can prompt for reviews by first requiring in the module and calling the function show(). Here’s a handy snippet.

local reviewPopUp = require "plugin.reviewPopUp"
reviewPopUp.show()

However, this review prompt requires that you are on the iOS platform and the iOS version is greater than 10.3. Again, this was copied/pasted from Scotth.tech, but here’s the extra handy snippet that he provided.

local platformVersion = system.getInfo( "platformVersion" ) or 0
local iOSVersion = tonumber(string.sub( platformVersion, 1, 4 )) 
if( iOSVersion >= 10.3 and system.getInfo("platform") == "ios" ) then 
  local reviewPopUp = require "plugin.reviewPopUp"
  reviewPopUp.show()
else
  local textAlert = display.newText( "You need iOS 10.3 to test", display.contentCenterX, display.contentCenterY, native.systemFont, 20 )
end

This snipped first stores the operating system version and the iOS version number into platformVersion and iOSVersion, respectively. The if/then statement checks whether or not the user is on iOS and if the version is greater than or equal to 10.3. If everything checks out, the user will get a cool little prompt!

If you have questions, please let me know in the comments below and don’t forget to give Scott a huge shout out for building this plugin!

Leave a Reply

Your email address will not be published. Required fields are marked *