Requirements
- Mac OS X 10.5.8 or later (x86 only)
- JDK 7
- MAC: ADT Bundle from Google
- WIN: ADT Bundle from Google
- Install API 23 via the Android SDK Manager (API 21 should be used for 1.3.5 and earlier)
Note: We provide this document for use on Mac OS X. We only test this process on Mac OS X. While most everything will also apply to Windows and Linux, results and steps may vary slightly.
Buildbox Settings
- Bundle ID
- A unique identifier for your game, for best results use lowercase, numbers and period only. e.g. com.company.gamename
- License Key
- From Google Play store, “Services & APIs” section of your game. Required for setting up In-app Billing.
- Google Play ID
- This is the numeric ID you are assigned after setting up Game Services for you game. Required only if you are going to use Game Services.
- Version Code
- This is the internal version of your game. It is an integer and it needs to be incremented with each APK you upload. Typically start at “1” and increment by counting up from there.
Import Project
- Open Eclipse
- Click File → Import
- Select Android → Existing Android Code… then click Next
- Browse to the android directory of your project, click Finish
Note: If you need to reload an updated version of your project you will need to delete the previous version from Eclipse then simply import the updated version
Testing on Device
- Import your project into Eclipse
- Select imported project in Eclipse left sidebar
- Select Run → Run
- Select Android Application and click OK
- Select your device and click OK
- The game should start on your device
Build APK (Existing Keystore)
- Open Eclipse
- Right click your imported project from the sidebar
- Select Android Tools → Export Signed Application Package
- Click Next
- Select Use Existing Keystore (or jump to next section)
- Enter Password and click Next
- Select Alias, Enter Password (or create new key) then click Next
- Browse to Destination and enter APK filename
- Click Finish
Note: You must use this keystore and alias for every version of your game. You must remember the passwords. If you lose the keystore or forget the passwords you will not be able to update your game. You cannot recover a lost keystore. You can have multiple aliases in a single keystore.
Build APK (New Keystore)
- Open Eclipse
- Right click your imported project from the sidebar
- Select Android Tools → Export Signed Application Package…
- Click Next
- Select Create new keystore
- Browse to Location and enter new Filename
- Enter Password and click Next
- Enter Alias name, Password and 30 for years
- Enter the rest of your info (at least one field) then click Next
- Browse to Destination and enter APK filename
- Click Finish
Note: You must use this keystore and alias for every version of your game. You must remember the passwords. If you lose the keystore or forget the passwords you will not be able to update your game. You cannot recover a lost keystore. You can have multiple aliases in a single keystore.
New Application
- Login to the Google Play Developer Console
- Click Add new application
- Select Default Language, enter Title and Click Prepare Store Listing
- You can now enter your app metadata including title, description, icon and screenshosts.
Upload APK
- Login to the Google Play Developer Console
- Select your game and choose APK from the sidebar
- Click Upload new APK to production
- You could also setup beta and alpha testing from here. This is left as an exercise for the reader. There are other services like hockeyapp.net that help facilitate this kind of testing as well.
In-app Billing
- Login to the Google Play Developer Console
- Select your game, click Services & APIs
- Copy your license key from the YOUR LICENCE KEY FOR THIS APPLICATION section. This goes into the License Key field of the general Google Play Store settings in BuildBox.
- Now create and upload an initial APK that includes this License Key.
- Once you have uploaded the APK you are ready to set up your Managed or Unmanaged products.
Managed Products
- Managed products are permanent goods, this would include the “Remove Ads” in-app purchase provided with Buildbox. Managed products can be restored.
- Select your game and choose In-app Products
- Click the Add new product button
- Select Managed Product and enter you Store Identifier from Buildbox. For best results, please use lowercase, numbers and period only. e.g. com.company.gamename.removeads
- Click Continue and enter required information. You will need to set the product to Active in order to use it.
- It could take up to 24 hours before you can test this.
Unmanaged Products
- Unmanaged products are consumable items that get used 1 time, like coin packs or power ups. Unmanaged products cannot be restored.
- Select your game and choose In-app Products
- Click the Add new product button
- Select Unmanaged Product and enter you Store Identifier from Buildbox. For best results, please use lowercase, numbers and period only. e.g. com.company.gamename.coinpack1
- Click Continue and enter required information. You will need to set the product to Active in order to use it.
- It could take up to 24 hours before you can test this.
Testing In-app Billing
- Login to the Google Play Developer Console
- Go to your Settings and Account Details.
- Scroll down to Gmail accounts with testing access and enter a gmail account you will use for testing. This needs to be different from the gmail account associated with your Google Play developer account.
- It will take up to 24 hours for this start working but you can continue with setting up for testing.
- Build a new APK with Eclipse and install to your device. In you don’t know how to install an APK to your device please ask someone who is familiar with doing this or search Google and YouTube. One way you might be able to do this is via the Dropbox app.
- Once you have an APK installed on your device you should be able to test the IAP without being charged. If you have just enabled you account for testing or you have just set up your IAPs in the dashboard then you may need to wait up to 24 hours before testing your purchases.