amazon services for games, with unity
DESCRIPTION
Using Amazon Services for Games from UnityTRANSCRIPT
Amazon’s Kindle Family
Kindle Fire
Kindle Fire quickly became the most successful product launch in the history of Amazon.com
• Earned over 10,000 5-star customer reviews• Remained the #1 best-selling product on Amazon• Captured 22% of U.S. tablet sales in just nine months
Breakthrough Technology• Stunning HD displays• World class audio with Dolby Digital Plus• Fastest Wifi of any tablet• 20 million songs, over 120K video titles, over 100K audio titles• Free month of Amazon Prime• Whispersync for books, movies, voice, and games• X-Ray for books/movies• Revolutionary 4G (250MB/month for 12 months - for $49) on 8.9” 4G
Kindle Is Good for Games
Amazon Wants to Help
• In-App Purchasing• Achievements• Leaderboards• Data Syncing• Insights Analytics• Maps• Device Messaging
COMING SOON
In-App PurchasingFriction-free Customer Experience
In-App PurchasingContent Types
Consumable• May be used only on device where purchased• May be purchased repeatedly
Entitled• May be used anywhere, once purchased• May only be purchased once
Subscription• May be applied to any entitled content• May be used anywhere, once purchased• Associates restricted time period with access• Multiple periods may be defined (only one purchased at a time)• Supports auto-renewal
In-App PurchasingMaintaining Relationship is Key
Engage users early• 16% of a customer's value is realized on the first day
Keep them in the game• 48% of repeat purchases happen within one hour of
the previous purchaseGive users a reason to come back
• 52% of revenue occurs after the first 7 daysProvide enough content for your most active users
• 2% of customers generate 30% of revenue
GameCircle
GameCircle
Supports social gaming by allowing players to connect, compare achievements, and compete for higher scores.
• Achievements• Leaderboards• Whispersync
GameCircle: Achievements
• Up to 100 different items• Shows partial completion• Can be hidden until
unlocked• Fully customizable
• Title• Locked/unlocked
descriptions• Locked/unlocked icons
GameCircle: Achievements
Players can compare their achievements with others.
GameCircle: Leaderboards
• Up to 50 different boards• Show player’s high score
and relative position• Fully customizable
• Title / Description / Icon• Units• “Cheat” threshold
• Cheat threshold helps discourage hacking
• Scores can be reset from Developer Portal
GameCircle: Leaderboards
Players can check their daily, weekly, or all-time standing, including absolute score and global percentile rank.
GameCircle: Whispersync
• Uninstall / reinstall games without losing progress• Synchronize progress across multiple Kindle Fire
devices• Revert to one of 5 historical progress points
Insights Analytics: A/B Testing
Allows experimentation with content and feature deployment, limiting access before widespread launch to a larger audience.
Tests are configured in the Developer Portal.
Insights Analytics: A/B Testing
• Variations are collections of variables sent to a device• Different variations are sent to unique groups• Statistical methods are used to determine if the results
from each variation differ
Insights Analytics: A/B Testing
A 95% confidence interval for conversion rate is computed from view and convert events defined for each A/B test.
The gold check indicates significance has been achieved.
Maps, Device Messaging
• No Unity support (YET)• Maps
• Replaces Google service• Kindle Fire 2 and Kindle Fire HD
• Amazon Device Messaging (ADM)• Beta program open (see website)• Free to deliver messages• Up to 6 KB per message
Common Setup
• Download SDK• Create Unity project• Import Amazon plug-in as Custom Package• Set up game in Dev Portal• Add test nicknames to sandbox
Common Setup: Dev Portal
• Add new application• Whitelist binary
• Package name/Signature
• Package name comes from Android-specific Player Settings pane (Bundle Identifier)
• Signature is generated from the command line:
keytool -exportcert -alias androiddebugkey –keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Common Set Up: Test Nicknames
In-App Purchasing
In-App Purchasing
• Content Types• Setting up Test Environment• Receipt Verification Service (RVS)• Initialization• Integration
In-App Purchasing: Content Types
Consumable
In-App Purchasing: Content Types
Entitled
In-App Purchasing: Content Types
Subscription
In-App Purchasing: Test Environment
SDK Tester App + JSON Catalog
In-App Purchasing: RVS (Optional)
Allows transaction validation outside app
In-App Purchasing: Initialization
Set up your catalog in the Dev Portal
In-App Purchasing: Integration• Unity plug-in will handle registerObserver() call, wires up
AmazonIAPEventListener• You should override:
In-App Purchasing: Integration• Purchase is two-step process• First, check items in catalog in response to action:
In-App Purchasing: Integration• Next, initiate the purchase request:
GameCircle
GameCircle
• Initialization• Achievements• Leaderboards• Whispersync for Games
GameCircle: Why?
GameCircle: Initialization• Subscribe to GameCircle events• Init with desired features
GameCircle: Achievements• Create draft achievements in Dev Portal
GameCircle: Achievements• Send Achievement update:
GameCircle: Achievements• You can bring up the Achievement overlay at will:
GameCircle: Achievements• Publish Achievements when ready to go live:
GameCircle: Achievements
Best Practices (may be obvious)• Provide meaningful descriptions• Have separate locked/unlocked
descriptions• Use different icons for locked/unlocked• Ordering matters; list achievements in the
order most likely to be completed• Mix achievements for regular play and
special actions
GameCircle: Leaderboards• Create draft leaderboard in Dev Portal
GameCircle: Leaderboards• Send Leaderboard score:
GameCircle: Leaderboards• You can bring up the Leaderboard overlay at will:
GameCircle: Leaderboards• Publish Leaderboards when ready to go live:
GameCircle: Whispersync
GameCircle: Whispersync
• At first run (and you have no data), synchronize from the cloud:
GameCircle.whisperSyncSynchronize(GameCircleConflictStrategy.AUTO_RESOLVE_TO_CLOUD);
• Subsequent calls can be simpler:
GameCircle.whisperSyncSynchronize();
GameCircle: Whispersync
Best Practices• Set useful descriptions when synchronizing
progress (helps user choose restore point)• Always use cloud data when synchronizing
to a device with no data• You don’t have to synchronize all the time,
but you should do so at major checkpoints• Synchronize when a player pauses or exits
Portal:https://developer.amazon.com/welcome.html
SDK: https://developer.amazon.com/sdk.html