Guide To In App Billing

Skillz uses In App Billing to allow players to purchase the Z currency to spend on Tournament Entry, Avatars and Taunts.

We have streamlined the In App Billing procedure, but it requires some setup on your end.

This document will outline the steps to implement In App Billing:

1.  Enable In App Billing for your Google Merchant Account

2.  Upload an Alpha Build for In App Billing

3.  Uploading Skillz Defined Product IDs

4.  Adding a Test Account for In App Billing

5.  Configuring the Manifest for In App Billing.

6.  Performing a Test Purchase

Step 1.  Enabling In App Billing for your Google Merchant Account

To offer In App Billing items, required for Skillz, you must set up your Merchant Account. If your game already offers In App Products, go to Step 2.

1.  Log into your Android Developer https://play.google.com/apps/publish

2.  Click on the Settings Tab on the left.  

3.  Scroll down to near the bottom of the page and locate the “MERCHANT ACCOUNT” section.

4.  Sign Up for a Merchant account to enable In App Billing Items

Step 2.  Upload an Alpha Build for In App Billing

You cannot add any In App Products to your game, until you have uploaded an Alpha Build.  If you already have a build of your game on the Play Store, you can skip this step and go to Step 3.

1.  Click on All Applications (The Picture of the Android robot)  in the settings bar on the Left.

2.  Click on the “+ Add new application” button at the top of the screen.

3.  Select a language and name your App.

4.  Select “Prepare Store Listing”

5.  Click on “In-app Products” in the menu bar on the Left.

6.  Click on “Upload a new APK” in the center of the window.

7.  Select the “ALPHA TESTING” tab.

8.  Click on “Upload your first APK to Production”

9.  Select your APK from disk and upload.

Step 3.  Uploading Skillz Defined Product IDs.

Skillz uses a set of Product IDs to allow players to Purchase the Z currency.  The Skillz SDK will facilitate the entire process of making a purchase, and verifying it’s authenticity with Google.  Because of this, it is imperative that you set the Product IDs exactly as outline in this document.

To make this process easier, we have created a CSV file that contains all of the In App Products.

Download In App Products File: CSV file

1.  Click on the In-app Products tab in the Left Menu.

2.  Click on the “Import/Export” button located to the right of “+Add new product”

3.  Select the downloaded CSV file from above.

Non US Developers Please Read This

When you upload using the CSV, Google assumes you are uploading in your native currency.  For example, the first In App Product listed sells for $0.99 USD, and has a value of “990000”.

When you upload, it will assume that is localized into your native Currency.  So a developer in Great Britain who uses this file, will have their the first In App Product listed at £0.99.

It just so happens that £0.99 is a valid purchase amount.  So a developer in Great Britain will have this CSV file upload with no problems.

Now assume you are a developer in Sweden.  When you upload the CSV, it assumes your currency is in SEK, and attempts to upload a product with a value of 0.99 SEK.  0.99 SEK is not a valid price for an In App Product on Google Play.  Because of this, the file will error when importing.  To correct for this issue, you will need to edit the CSV file.  This can be done with a text editor, a spreadsheet program such as Excel.

Locate the price value, which will be listed as “990000” add an additional zero to the end of the number--”9900000”.  Then save the file and import again.

Depending on the exchange rate between the USD and your currency, you may have to edit multiple Product IDs, or add additional Zeros to the end of each number for the import to work.

Once you have the Product IDs uploaded, you need to edit each one to adjust the price to be correct for your native currency.  The Product IDs are as follows in USD:

$0.99

$4.99

$9.99

$19.99

$49.99

$99.99

Use the Currency Converter on Google.com to convert to your currency:

https://www.google.com/finance/converter

Please contact Developer Support if you have any questions.

Step 4.  Adding a Test Account for In App Billing

In order to test higher cost tournaments, you will need to purchase the Z currency.  Google allows you to make test, or sandbox purchases in In App Products.  Note:  A Sandbox In App Purchase is not in anyway related to Skillz running in Sandbox mode.

While you can have multiple Google accounts on a device, only the default account that the device was set up with can make an In App Purchase.  

1.  Log into your Android Developer https://play.google.com/apps/publish

2.  Click on the Settings Tab on the left.  

3.  Scroll down until you see the section titled “LICENSE TESTING”

4.  In the large text box under “Gmail accounts with testing access” list all accounts you want to be able to perform an In App Purchase.

5.  Press the “Save” button at the top of the page.

Step 5.  Configuring the Manifest for In App Billing.

Most of the Manifest file is already configured for In App Billing, however there is one setting that you must fill out to successfully complete a transaction.

1.  Open your AndroidManifest.xml file in the editor of your choice.

2.  Locate this line:

<meta-data android:name="com.skillz.IAB_PUBLIC_KEY" android:value="null" />

3.  Change the ‘null’ value to your Public Key.  This is a very long string of numbers and letters.

To Get your Public Key, Go to the Google Android Developer Dashboard, click on your game and click on Services & APIs look for the large block of letters and numbers under the “YOUR LICENSE KEY FOR THIS APPLICATION”  Copy the entire block into the above Manifest line.

4.  Save the Manifest, and build a new version of your game with the modified Manifest.

Step 6.  Performing a Test Purchase

Now that In App Billing is configured in your game, it’s time to perform a test purchase.  Test purchases can be made against the Skillz Sandbox and Production environments.

1.  Start your game.

2.  Enter into Skillz (you may need to log in).

3.  Press on the “Store” button, located in the bottom right of the Skillz UI.

4.  Choose a Z package to purchase, and press the “PURCHASE” button.

5.  When the Google Play dialogue comes up, make sure it has the phrase “This is a test order, you will not be charged.”  If you do not see this, then you are attempting a real purchase and will be charged for the purchase.

6.  Verify you received the Z currency.

Important Note:  If you encounter an error making a purchase, that purchase will become pending, and you will not be able to purchase that Product ID again.  You can clear these purchases out on the Android Dashboard,  https://play.google.com/apps/publish