Your SlideShare is downloading. ×
0
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
MBL205 Monetizing Your App on Kindle Fire  - AWS re: Invent 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

MBL205 Monetizing Your App on Kindle Fire - AWS re: Invent 2012

537

Published on

The Amazon In-App Purchasing API makes it easy for you to offer digital content and subscriptions —such as in-game currency, expansion packs, upgrades, magazine issues and more— for purchase within …

The Amazon In-App Purchasing API makes it easy for you to offer digital content and subscriptions —such as in-game currency, expansion packs, upgrades, magazine issues and more— for purchase within your apps. Within minutes you can be up and running, ready to give millions of Amazon customers the ability to purchase engaging digital content using their Amazon 1-Click settings. Discover how in-app purchasing can help you monetize your apps on Kindle Fire and learn how to integrate the Amazon In-App Purchasing API into your mobile apps.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
537
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. digital currency, character upgradesfree-to-paid upgradesperiodicals, subscription gamesexpansion packs, custom content
  • 2. developer.amazon.com/sdk.html
  • 3. developer.amazon.com/sdk.html
  • 4. developer.amazon.com/sdk.html
  • 5. developer.amazon.com/sdk.html
  • 6. Amazon Appstore In-App SDKPurchasing Manager Purchasing Observer
  • 7. Amazon Appstore In-App SDK Purchasing Manager Purchasing ObserverSends messages to the In-App SDK
  • 8. Amazon Appstore In-App SDK Purchasing Manager Purchasing ObserverReceives messages from the In-App SDK
  • 9. developer.amazon.com/sdk.html
  • 10. canare not is not
  • 11. can notare is not
  • 12. can notare is
  • 13. strings.xml<?xml version="1.0" encoding="utf-8"?><resources><string name="consumable_sku">com.amazon.buttonclicker.ten_clicks</string></resources>
  • 14. strings.xml<?xml version="1.0" encoding="utf-8"?><resources><string name="consumable_sku">com.amazon.buttonclicker.ten_clicks</string></resources>
  • 15. AndroidManifest.xml...<receiver android:name=“com.amazon.inapp.purchasing.ResponseReceiver”> <intent-filter> <action android:name=“com.amazon.inapp.purchasing.NOTIFY” android:permission=“com.amazon.inapp.purchasing.Permission.NOTIFY” /> </intent-filter><receiver>...
  • 16. Create a PurchasingObserver
  • 17. ButtonClickerObserver.javaprivate class ButtonClickerObserver {}
  • 18. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver {}
  • 19. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() { }}
  • 20. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver( final ButtonClickerActivity buttonClickerActivity) { }}
  • 21. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver( final ButtonClickerActivity buttonClickerActivity) { super(ButtonClickerActivity); }}
  • 22. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver( final ButtonClickerActivity buttonClickerActivity) { super(ButtonClickerActivity); this.baseActivity = buttonClickerActivity; }}
  • 23. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver( final ButtonClickerActivity buttonClickerActivity) { super(ButtonClickerActivity); this.baseActivity = buttonClickerActivity; }}
  • 24. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space}
  • 25. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) { }}
  • 26. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) { super.onSdkAvailable(isSandboxMode); Log.i(TAG, "Sdk is available!"); }}
  • 27. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) { super.onSdkAvailable(isSandboxMode); Log.i(TAG, "Sdk is available!"); }}
  • 28. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..}}
  • 29. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) { }}
  • 30. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) { Log.i(TAG, “Purchase Status = “ + purchaseResponse.getPurchaseStatus()); }}
  • 31. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) { Log.i(TAG, “Purchase Status = “ + purchaseResponse.getPurchaseStatus()); }}
  • 32. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) {..}}
  • 33. Register the PurchasingObserver with thePurchasingManager
  • 34. ButtonClickerActivity.java@Overrideprotected void onStart(){ super.onStart();}
  • 35. ButtonClickerActivity.java@Overrideprotected void onStart(){ super.onStart(); ButtonClickerObserver buttonClickerObserver = new ButtonClickerObserver(this);}
  • 36. ButtonClickerActivity.java@Overrideprotected void onStart(){ super.onStart(); ButtonClickerObserver buttonClickerObserver = new ButtonClickerObserver(this); PurchasingManager.registerObserver(buttonClickerObserver);}
  • 37. Make sure IAP is available
  • 38. Make sure IAP is available Let’s just pretend it always is!
  • 39. Make sure IAP is available Let’s just pretend it always is!
  • 40. Make sure IAP is availableSend a purchase request
  • 41. ButtonClickerActivity.java/** Called when our ‘purchase hint’ button is clicked*/public void onBuyMoreClicks(View view) {}
  • 42. ButtonClickerActivity.java/** Called when our ‘purchase hint’ button is clicked*/public void onBuyMoreClicks(View view) { PurchasingManager.initiatePurchase(MY_SKU);}
  • 43. ButtonClickerActivity.java/** Called when our ‘purchase hint’ button is clicked*/public void onBuyMoreClicks(View view) { PurchasingManager.initiatePurchase(MY_SKU);}
  • 44. Make sure IAP is availableSend a purchase request
  • 45. Make sure IAP is availableSend a purchase requestHandle the response
  • 46. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) {..}}
  • 47. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) { Log.i(TAG, “Purchase Status = “ + purchaseResponse.getPurchaseStatus()); }}
  • 48. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) { Log.i(TAG, “Purchase Status = “ + purchaseResponse.getPurchaseStatus()); if(purchaseResponse.getPurchaseRequestStatus() == PurchaseResponse.SUCCESSFUL){ this.setNumClicks(this.getNumClicks() + 1); } }}
  • 49. ButtonClickerObserver.javaprivate class ButtonClickerObserver extends BasePurchasingObserver { public ButtonClickerObserver() {..} //code folding to save space @Override public void onSdkAvailable(boolean isSandboxMode) {..} @Override public void onPurchaseResponse( PurchaseResponse purchaseResponse) { Log.i(TAG, “Purchase Status = “ + purchaseResponse.getPurchaseStatus()); if(purchaseResponse.getPurchaseRequestStatus() == PurchaseResponse.SUCCESSFUL){ this.setNumClicks(this.getNumClicks() + 1); } }}
  • 50. developer.amazon.com/sdk.html
  • 51. We are sincerely eager to hear your feedback on thispresentation and on re:Invent. Please fill out an evaluation form when you have a chance.

×