Before you submit your in-app purchasing (IAP) game to us for approval, here are all requirements for IAP games. To ensure that we can review your submission as quickly as possible, please be sure to complete all relevant steps before submitting your game for approval. When you do so, please make sure the game is uploaded to the account that you wish to use for final publication.
After you make sure that your game meets all of these criteria, contact us at games.team@kartridge.com to request that we run a quality assurance pass on it to make sure it’s ready to go for publishing. Do not publish until we have confirmed that your game has completed the checklist. This is the same checklist that we use when verifying your game, so if your game doesn't pass an item, we will ask you again to make sure it does before we can approve it for publishing. You can also reach out to us if you have any questions during the integration process.
You can give additional accounts access to the game for testing purposes by setting one of your test accounts as a Power User in the Manage Team interface.
General Kartridge IAP Guidelines:
Download the latest version of our SDK:
Reference docs can be found here:
In-App Purchases
All behaviors in this section are required prior to publishing, unless you’re using the Dynamic Item Purchasing API. If you’re using dynamic items, skip the last two steps.
- If the game is launched without Kartridge, it must force the Kartridge app to launch.
- The easiest method is by using the following API call:
KongregateAPI_RestartWithKartridgeIfNeeded()
- Attempting a purchase in the game opens the purchasing Kartridge lightbox.
- Players can successfully purchase an item in the game.
- The purchased item should show up quickly following the completion of a purchase.
- Testing Tip: You can make free test purchases with your developer account, as well as with any accounts you have set up as Power Users for the game.
- Canceling or failing the transaction should not reward the IAP.
- In-game prices exactly match Kartridge prices.
- Pricing is at logical price points ending in .99, .50, or .00.
- Permanent or unlockable items are set as permanent/unlock in the Kartridge interface, and should remain in the player’s inventory, while consumable or limited-use items are removed from the player’s Kartridge inventory when the item is consumed and awarded in-game. This step is not required for games using our Dynamic Item Purchasing API.
- Pro-Tip: Most items (especially currency) should be set up as limited-use/consumable. If you have any non-consumable/unlimited use items, please let us know what they are and what they do.
- The game checks for uncredited purchases on start-up This step is not required for games using our Dynamic Item Purchasing API.
- When the Kartridge API is initialized, our SDK will broadcast the following:
KONGREGATE_EVENT_ITEM_INSTANCES
- This will tell you what the player has in their Kongregate/Kartridge inventory. If you need to trigger this again, use this:
KongregateIAP_RequestItemInstances.
- Each time the game loads, you should consume unconsumed items with this:
KongregateIAP_ConsumeItemInstance
- Then, award the items in-game in the same way that you would consume and award them after a purchase. This helps reduce problems from network errors and allows the user to restart the game if a purchase fails, reducing support emails.
Authentication
This section only applies if you are using our API to authenticate a user account. If your game is single-player and does not have a server, it will likely not need any of this.
- When launching the game with a different account from the same computer, a player should not be able to access a previous account’s progress in-game.
- Testing Tip: To test this, play the game with one Kartridge account, log out of that account on Kartridge, then log into a different account and start the game up again.
- The game handles a player logging out in the middle of the game session.
- This prevents fraudulent purchasing, as well as keeping users from accessing each other’s games on a shared computer.
- Our SDK broadcasts these calls when the user/auth token changes, so you'll be able to detect and handle the situation appropriately.
KONGREGATE_EVENT_USER
KONGREGATE_EVENT_AUTH_TOKEN
- OPTIONAL: The game correctly displays the player’s username, if applicable, or suggests their username as an in-game username.
Statistics
This is optional, but if our team selects your game for badges, the Statistics API integration will be required. You can wait until we reach out about badges to hook up all the statistics submissions.
- Statistics are currently only used for badges, our custom Kartridge platform achievements. In the future, we hope to use statistics for leaderboards as well.
- If you end up adding statistics into your game, make sure they are submitted when or soon after their specific event occurs, and also make sure to resubmit them every time the game launches. That way, if a player has connection issues, the next time they load the game their score will still be updated!
Storefront Assets
- You’ll need a variety of things in order to make your page the best it can be. The page below lists those assets in detail.
- Your game’s icon should be a 500x400 JPG, GIF, or PNG, and can either be a static image or an animated GIF.
- To be featured on the front page, games must have a Game Promo video uploaded. It must be MP4 format, 720p, 10-20 seconds long, and less than 40MB. For further guidance, please refer to the documentation.
Other points
- For additional developer documentation, please visit our Kartridge Developer Documentation
Comments
0 comments
Article is closed for comments.