SlideShare una empresa de Scribd logo
1 de 61
Descargar para leer sin conexión
Taking In-App Purchasing to the Next Level:
Selling Physical Goods Through Your App & Other
Monetization Strategies
David Isbitski, Developer Evangelist Apps and Games
November 14, 2013

© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Agenda
• Introducing the Mobile Associates API
– Setting up your App
– LinkService
– Shopping Service
• Mobile Ads API
• In-App Purchasing API
Introducing the Mobile Associates API
Amazon Mobile Associates

developer.amazon.com/sdk/mobile-associates.html
Amazon Mobile Associates

6%

Offer Physical and Digital
Items for Sale

Earn up to 6% Advertising
Fees

Leverage Amazon’s Checkout
Experience
Incentivize Users with Bundles
•
•

Drive further engagement by tying the purchase of physical products
to digital content in your app
Upon purchase, you’ll get a receipt to fulfill your users’ digital content

Create an In-App Shop
•

Display products in a customizable in-app storefront

•

Users can view and buy products from Amazon without leaving your app

•

Easily populate your storefront by specifying items or using a search term
Sell One or Many Products
•

Create a button/link to a customizable listing of one or more products
– Purchase completed in-app for devices with Amazon Appstore
– Purchase linked to Amazon for Google Play devices
Key Benefits of Mobile Associates
• Better user experience
– Learn more about a product and buy it from the app

• Incremental monetization
– Complementary to IAP & Mobile Ads
– Up to 6% of sales
– Wide reach - both Amazon Appstore & Google Play

• Easy to integrate
– Simple experience that can be integrated quickly
– Flexibility to create customized experiences
Amazon Mobile Associates API Features
API features available through Amazon and other distribution channels
Distribution Channels
Feature

Product Categories

Amazon Appstore for
Android

Other Android Distribution
Channels

Direct Linking to Amazon

Physical and Digital

YES

YES

In-App Product Detail Page

Physical and Digital

YES

YES

In-App Product Preview Popover

Physical and Digital

YES

YES

In-App Shopping Experience

Physical Only

YES

NO

Digital Bundling
(Available with In-App Shopping Experience)

Physical Only

YES

NO

Outside of direct linking to Amazon, search is available only if the app is distributed through
Amazon Appstore and only physical product results will be returned.
Agenda
• Introducing the Mobile Associates API
– Setting up your app
– LinkService
– Shopping Service
• Mobile Ads API
• In-App Purchasing API
Setting Up Your App Is Easy
•
•
•
•
•
•
•
•

Register Developer Account
Fill out Tax Identity
Get Application Key
Update AndroidManifest
Reference Mobile Associates API external jar
Export Mobile Associates API
Decide on goods to sell (search, asin, etc.)
Implement LinkService or ShoppingService
Demo – Setting up your app
Agenda
• Introducing the Mobile Associates API
– Setting up your app
– LinkService
– Shopping Service
• Mobile Ads API
• In-App Purchasing API
LinkService
Direct Linking – Amazon Product Page
Update AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
Initialize the API
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssociatesAPI.initialize(
new AssociatesAPI.Config(APPLICATION_KEY, this));
}
Link to the Amazon Home Page
openHomePageButton = (Button)findViewById(R.id.open_home_page_button);
openHomePageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
OpenHomePageRequest request = new OpenHomePageRequest();
try {
LinkService linkService = AssociatesAPI.getLinkService();
linkService.openRetailPage(request);
} catch (NotInitializedException e) {
}
}
});
Link to an Amazon Search Page
String term= ”snake arcade game"; // Search term
openSearchPageButton = (Button)findViewById(R.id.open_search_page_button);
openSearchPageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
OpenSearchPageRequest request = new OpenSearchPageRequest(term);
try {
LinkService linkService = AssociatesAPI.getLinkService();
linkService.openRetailPage(request);
} catch (NotInitializedException e) {
}
}
});
Link to an Amazon Product Page
String asin = "B00362TQZ4";
openProductPageButton = (Button)findViewById(R.id.open_prod_page_button);
openProductPageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
OpenProductPageRequest request = new OpenProductPageRequest(asin);
try {
LinkService linkService = AssociatesAPI.getLinkService();
linkService.openRetailPage(request);
} catch (NotInitializedException e) {
}
}
});
Agenda
• Introducing the Mobile Associates API
– Setting up your app
– LinkService
– Shopping Service
• Mobile Ads API
• In-App Purchasing API
Demo – Snake Game with
LinkService
Agenda
• Introducing the Mobile Associates API
– Setting up your app
– LinkService
– ShoppingService
• Mobile Ads API
• In-App Purchasing API
ShoppingService
Shopping Service
Update AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<application>
...
<meta-data android:name="com.amazon.device.associates.ENABLE_TESTING"
android:value="true"/>
<receiver android:name="com.amazon.device.associates.ResponseReceiver">
<intent-filter>
<action android:name="com.amazon.device.iap.physical.NOTIFY »
android:permission="com.amazon.device.iap.physical.Permission.NOTIFY">
</intent-filter>
</receiver>
...
</application>
Implement the ShoppingListener
public class GlobalShoppingListener implements ShoppingListener {
private static final GlobalShoppingListener instance = new
GlobalShoppingListener(); // Singleton object

public static GlobalShoppingListener getInstance() { returninstance; }
private static ShoppingListener localListener = null;
public void setLocalListener(ShoppingListener l) { localListener = l; }
}
Implement the ShoppingListener
public void onServiceStatusResponse(ServiceStatusResponse response)
{ localListener.onServiceStatusResponse(response); }
public void onPurchaseResponse(PurchaseResponse response)
{ localListener.onPurchaseResponse(response); }
public void onSearchByIdResponse(SearchByIdResponse response)
{ localListener.onSearchByIdResponse(response); }
public void onSearchResponse(SearchResponse response)
{ localListener.onSearchResponse(response); }
public void onReceiptsResponse(ReceiptsResponse response)
{ localListener.onReceiptsResponse(response); }
Initialize the API
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssociatesAPI.initialize(
new AssociatesAPI.Config(APPLICATION_KEY, this));
AmazonMAAGlobalShoppingListener globalListener =
AmazonMAAGlobalShoppingListener. getInstance();
globalListener.setLocalListener(this);
try {
AssociatesAPI.getShoppingService().setListener(globalListener);
} catch (final NotInitializedException notInitializedException) { }
} catch (final IllegalArgumentException illegalArgumentException) { }
}
Service Status
public void onResume() {
super.onResume();
globalListener.setLocalListener(this);

try {
AssociatesAPI.getShoppingService().getServiceStatus();
}
catch (NotInitializedException e) { }
catch(final NoListenerException e) { }
}
Service Status – User
public void onServiceStatusResponse(ServiceStatusResponse response) {
UserData userData = response.getUserData();
if (null != userData && null != userData.getUserId()) {
userID = userData.getUserId();
userMarketplace = userData.getMarketplace();
appDistributedThruAmazonAppstore = true;
}
localListener.onServiceStatusResponse(r);
}
Service Status – Purchase Experiences
public void onServiceStatusResponse(ServiceStatusResponse r) {
...
Set<PurchaseExperience> peSet = r.getSupportedPurchaseExperiences();
inAppDetailSupported =
peSet.contains(PurchaseExperience.DIRECT_WITH_DETAIL);
inAppPreviewSupported =
peSet.contains(PurchaseExperience.DIRECT_WITH_PREVIEW);
inAppShoppingSupported = peSet.contains(PurchaseExperience.IN_APP);
inAppShoppingDigitalBundleSupported = r.canGetReceipts();
searchSupported = r.canSearch();
localListener.onServiceStatusResponse(r);
}
Making a Purchase
Button purchaseButton = (Button)findViewById(R.id.maaButton);
purchaseButton.setOnClickListener(new View.OnClickListener() {
public void onClick(final View view) {
if (globalListener.isInAppDetailSupported()) {
final PurchaseRequest pr = new PurchaseRequest(asin, view);
pr.setPurchaseExperience(PurchaseExperience.IN_APP);
try {
AssociatesAPI.getShoppingService().purchase(pr);
}
catch (NoListenerException e) { }
catch (NotInitializedException e) { }
}
}
});
Making a Purchase
public void onPurchaseResponse(PurchaseResponse response) {
switch(response.getStatus()) {
case SUCCESSFUL: break;
case FAILED: break;
case NOT_SUPPORTED: break;
case INVALID_ID: break;
case PENDING: break;
}
localListener.onPurchaseResponse(response);
}
Demo – ShoppingService
Agenda
• Introducing the Mobile Associates API
– Setting up your app
– LinkService
– ShoppingService
• Mobile Ads API
• In-App Purchasing API
Mobile Ads API
Amazon Mobile Ad Network

API available for Android
running 1.6 and higher

Must be available through
Amazon first

Serves ads to U.S. customers
Tips for Mobile Ads
•
•
•
•

Place Ads Visibly
Use Auto Ad Size (default)
Use Multiple Ad Networks for fill rate
Refresh Ads every 30–45 seconds
Setting Up an Ad Is Easy
•
•
•
•
•
•
•
•

Register Developer Account
Fill out Tax Identity
Get Application Key
Update AndroidManifest
Reference Ads external jar
Export Ads API
Implement Ad Activity and Ad Layout
Optionally set up Ad Targets
Setting Up an Ad
…
private AdLayout adView = null;
private void initializeAmazonMobileAds() {
AdRegistration.setAppKey(AMAZON_APPLICATION_KEY);
AdRegistration.enableLogging(true);
AdRegistration.enableTesting(true);
this.adView = new AdLayout(this);
this.adView.setTimeout(20000); // 20 seconds
this.adView = (AdLayout) findViewById(R.id.adview);
this.adView.setListener(new AdListener() {
…
loadAd();
private boolean loadAd() {
return this.adView.loadAd(getAdTargetingOptions());
}
...
Snake Game with Ads
Demo – Snake Game with Ads
Agenda
• Introducing the Mobile Associates API
– Setting up your app
– LinkService
– ShoppingService
• Mobile Ads API
• In-App Purchasing API
In-App Purchasing API
In-App Purchase Adoption Is Rising

IAP Conversion Rate
INDEX: Average = 100%

Note: Conversion Rate is measured by the Number of IAP Customers / Total App Customers

Source: Amazon Appstore, July 2013
What Are Customers Buying?

Consumables

Entitlements

Subscriptions
IAP Tips
• Number of Sessions vs. Session Length
• Build a core audience
• Design High Value Items
Implementing In-App Purchasing
All IAP Activities are Performed Asynchronously
Purchasing
Observer

Your App

Purchasing
Manager

Amazon Appstore
Client
Setting Up IAP Is Easy
•
•
•
•
•
•
•
•

Register Developer Account
Fill out Tax Identity
Get Application Key
Update AndroidManifest
Reference IAP external jar
Export IAP API
Set up IAP items on developer portal
Implement ResponseReceiver and
PurchaseObservers
Implementing In-App Purchasing
•
•
•
•
•
•

Register ResponseReceiver
Implement PurchasingObserver
Register PurchasingObserver
Initiate In-App Purchase
Handle Purchase Notification
Test Your Implementation
Implementing In-App Purchasing
Test Your Implementation with SDK Tester
Snake Game with IAP
Demo – Snake Game with IAP
Agenda
• Introducing the Mobile Associates API
– Setting up your app
– LinkService
– ShoppingService
• Mobile Ads API
• In-App Purchasing API
Summary
Login with Amazon

Freemium
Amazon Device Messaging

Android App Distribution

Kindle Fire

Mobile Associates

Leaderboards

Direct to Account

Indie Storefront

In-App Purchasing
Achievements

PC / Mac Downloads
A/B/n Testing

Amazon Coins

AWS

Amazon GameCircle
Engagement Reports

Mobile Ads

Paymium

Whispersync for Games

Cross Platform
Summary
• Mobile Associates is the next step in monetization
• Monetizing through In-App Purchases is about
building relationships
• Freemium can be part of a successful business
model
• Use Mobile Ads to monetize from your non-paying
users
• Use multiple networks to get higher Ad fill rate
• Design High Value Items
Learn More
• Developer Portal:
developer.amazon.com/appstore

• Blog:
developer.amazon.com/blog

• Follow us:
@AmazonAppDev
@TheDaveDev
Please give us your feedback on this
presentation

MBL 306
As a thank you, we will select prize
winners daily for completed surveys!

Más contenido relacionado

Destacado

Advanced Docker Developer Workflows on MacOS X and Windows
Advanced Docker Developer Workflows on MacOS X and WindowsAdvanced Docker Developer Workflows on MacOS X and Windows
Advanced Docker Developer Workflows on MacOS X and WindowsAnil Madhavapeddy
 
Cloud Deployments Done Right: Why APIs are Key
Cloud Deployments Done Right: Why APIs are KeyCloud Deployments Done Right: Why APIs are Key
Cloud Deployments Done Right: Why APIs are KeyApigee | Google Cloud
 
MS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure StackMS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure StackBenoît SAUTIERE
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure FunctionsMarco Parenzan
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples Yochay Kiriaty
 
Pivotal Cloud Foundry: Cloud Native Architecture
Pivotal Cloud Foundry: Cloud Native ArchitecturePivotal Cloud Foundry: Cloud Native Architecture
Pivotal Cloud Foundry: Cloud Native ArchitectureApigee | Google Cloud
 
L.L.Bean’s API Journey: Digital Commerce Done Right
L.L.Bean’s API Journey: Digital Commerce Done RightL.L.Bean’s API Journey: Digital Commerce Done Right
L.L.Bean’s API Journey: Digital Commerce Done RightApigee | Google Cloud
 
Deep dive: Monetize your API Programs
Deep dive: Monetize your API ProgramsDeep dive: Monetize your API Programs
Deep dive: Monetize your API ProgramsApigee | Google Cloud
 
Becoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital JourneyBecoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital JourneyApigee | Google Cloud
 
Docker: the road ahead
Docker: the road aheadDocker: the road ahead
Docker: the road aheadshykes
 
Monetization - The Right Business Model for Your Digital Assets
Monetization - The Right Business Model for Your Digital AssetsMonetization - The Right Business Model for Your Digital Assets
Monetization - The Right Business Model for Your Digital AssetsApigee | Google Cloud
 
Managing Sensitive Information in an API and Microservices World
Managing Sensitive Information in an API and Microservices WorldManaging Sensitive Information in an API and Microservices World
Managing Sensitive Information in an API and Microservices WorldApigee | Google Cloud
 
Using Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform gameUsing Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform gamePatrick Chanezon
 
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...Amazon Web Services
 
Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201Amazon Web Services
 
AWSome Day Jakarta - Opening Keynote
AWSome Day Jakarta - Opening KeynoteAWSome Day Jakarta - Opening Keynote
AWSome Day Jakarta - Opening KeynoteAmazon Web Services
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...Amazon Web Services
 

Destacado (20)

Advanced Docker Developer Workflows on MacOS X and Windows
Advanced Docker Developer Workflows on MacOS X and WindowsAdvanced Docker Developer Workflows on MacOS X and Windows
Advanced Docker Developer Workflows on MacOS X and Windows
 
Cloud Deployments Done Right: Why APIs are Key
Cloud Deployments Done Right: Why APIs are KeyCloud Deployments Done Right: Why APIs are Key
Cloud Deployments Done Right: Why APIs are Key
 
MS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure StackMS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure Stack
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Pivotal Cloud Foundry: Cloud Native Architecture
Pivotal Cloud Foundry: Cloud Native ArchitecturePivotal Cloud Foundry: Cloud Native Architecture
Pivotal Cloud Foundry: Cloud Native Architecture
 
Is Microservices SOA Done Right?
Is Microservices SOA Done Right?Is Microservices SOA Done Right?
Is Microservices SOA Done Right?
 
L.L.Bean’s API Journey: Digital Commerce Done Right
L.L.Bean’s API Journey: Digital Commerce Done RightL.L.Bean’s API Journey: Digital Commerce Done Right
L.L.Bean’s API Journey: Digital Commerce Done Right
 
Deep dive: Monetize your API Programs
Deep dive: Monetize your API ProgramsDeep dive: Monetize your API Programs
Deep dive: Monetize your API Programs
 
Becoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital JourneyBecoming the Uncarrier: T-Mobile's Digital Journey
Becoming the Uncarrier: T-Mobile's Digital Journey
 
Docker: the road ahead
Docker: the road aheadDocker: the road ahead
Docker: the road ahead
 
Monetization - The Right Business Model for Your Digital Assets
Monetization - The Right Business Model for Your Digital AssetsMonetization - The Right Business Model for Your Digital Assets
Monetization - The Right Business Model for Your Digital Assets
 
Managing Sensitive Information in an API and Microservices World
Managing Sensitive Information in an API and Microservices WorldManaging Sensitive Information in an API and Microservices World
Managing Sensitive Information in an API and Microservices World
 
Adapt or Die Sydney - API Security
Adapt or Die Sydney - API SecurityAdapt or Die Sydney - API Security
Adapt or Die Sydney - API Security
 
Using Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform gameUsing Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform game
 
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
AWS Summit 2013 | Singapore - Delivering Search for Today's Local, Social, an...
 
Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
 
AWSome Day Jakarta - Opening Keynote
AWSome Day Jakarta - Opening KeynoteAWSome Day Jakarta - Opening Keynote
AWSome Day Jakarta - Opening Keynote
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
 

Similar a Selling Physical GoodsThrough Apps & Other Monetization Strategies (MBL306) | AWS re:Invent 2013

Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...
Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...
Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...Amazon Appstore Developers
 
AI: Integrate Search Function into Your App Using Bing Search API.
AI: Integrate Search Function into Your App Using Bing Search API.AI: Integrate Search Function into Your App Using Bing Search API.
AI: Integrate Search Function into Your App Using Bing Search API.Marvin Heng
 
Think Mobile with Google Event - AppsFlyer Presentation - English
Think Mobile with Google Event - AppsFlyer Presentation - EnglishThink Mobile with Google Event - AppsFlyer Presentation - English
Think Mobile with Google Event - AppsFlyer Presentation - EnglishAppsFlyer
 
Peak Ace on Air #31 - Apple's iOS 14.5 Update
Peak Ace on Air #31 - Apple's iOS 14.5 UpdatePeak Ace on Air #31 - Apple's iOS 14.5 Update
Peak Ace on Air #31 - Apple's iOS 14.5 UpdatePaul Drägert
 
INRDealsAPIDocumentation.pdf
INRDealsAPIDocumentation.pdfINRDealsAPIDocumentation.pdf
INRDealsAPIDocumentation.pdfVinitPal11
 
Fraudpointer - Google Apps integration
Fraudpointer  - Google Apps integrationFraudpointer  - Google Apps integration
Fraudpointer - Google Apps integrationFraudpointer.com
 
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdfMonetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdfAmazon Web Services
 
Wave Analytics: Developing Predictive Business Intelligence Apps
Wave Analytics: Developing Predictive Business Intelligence AppsWave Analytics: Developing Predictive Business Intelligence Apps
Wave Analytics: Developing Predictive Business Intelligence AppsSalesforce Developers
 
IBM Worklight- Mobile Commerce Checkout Process
IBM Worklight- Mobile Commerce Checkout ProcessIBM Worklight- Mobile Commerce Checkout Process
IBM Worklight- Mobile Commerce Checkout ProcessTalha Haroon
 
The recurring nightmare - Rosa Gutierrez - Codemotion Amsterdam 2016
The recurring nightmare  - Rosa Gutierrez - Codemotion Amsterdam 2016The recurring nightmare  - Rosa Gutierrez - Codemotion Amsterdam 2016
The recurring nightmare - Rosa Gutierrez - Codemotion Amsterdam 2016Codemotion
 
Periscopix presentation
Periscopix presentationPeriscopix presentation
Periscopix presentationJamieCluett
 
Android Quiz App – Test Your IQ.pdf
Android Quiz App – Test Your IQ.pdfAndroid Quiz App – Test Your IQ.pdf
Android Quiz App – Test Your IQ.pdfSudhanshiBakre1
 
Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold
 
Social Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Sittiphol Phanvilai
 
Opticon 2015 - Getting Started with the Optimizely Developer Platform
Opticon 2015 - Getting Started with the Optimizely Developer PlatformOpticon 2015 - Getting Started with the Optimizely Developer Platform
Opticon 2015 - Getting Started with the Optimizely Developer PlatformOptimizely
 
How AdWords UI maps into adwords api
How AdWords UI maps into adwords apiHow AdWords UI maps into adwords api
How AdWords UI maps into adwords apisupergigas
 

Similar a Selling Physical GoodsThrough Apps & Other Monetization Strategies (MBL306) | AWS re:Invent 2013 (20)

Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...
Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...
Why and How to Add In-App Purchasing and Subscriptions to your Apps - Mario V...
 
AI: Integrate Search Function into Your App Using Bing Search API.
AI: Integrate Search Function into Your App Using Bing Search API.AI: Integrate Search Function into Your App Using Bing Search API.
AI: Integrate Search Function into Your App Using Bing Search API.
 
Think Mobile with Google Event - AppsFlyer Presentation - English
Think Mobile with Google Event - AppsFlyer Presentation - EnglishThink Mobile with Google Event - AppsFlyer Presentation - English
Think Mobile with Google Event - AppsFlyer Presentation - English
 
Workshop: Integrating Amazon APIs in Unity
Workshop: Integrating Amazon APIs in Unity Workshop: Integrating Amazon APIs in Unity
Workshop: Integrating Amazon APIs in Unity
 
Peak Ace on Air #31 - Apple's iOS 14.5 Update
Peak Ace on Air #31 - Apple's iOS 14.5 UpdatePeak Ace on Air #31 - Apple's iOS 14.5 Update
Peak Ace on Air #31 - Apple's iOS 14.5 Update
 
INRDealsAPIDocumentation.pdf
INRDealsAPIDocumentation.pdfINRDealsAPIDocumentation.pdf
INRDealsAPIDocumentation.pdf
 
Fraudpointer - Google Apps integration
Fraudpointer  - Google Apps integrationFraudpointer  - Google Apps integration
Fraudpointer - Google Apps integration
 
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdfMonetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
 
Wave Analytics: Developing Predictive Business Intelligence Apps
Wave Analytics: Developing Predictive Business Intelligence AppsWave Analytics: Developing Predictive Business Intelligence Apps
Wave Analytics: Developing Predictive Business Intelligence Apps
 
IBM Worklight- Mobile Commerce Checkout Process
IBM Worklight- Mobile Commerce Checkout ProcessIBM Worklight- Mobile Commerce Checkout Process
IBM Worklight- Mobile Commerce Checkout Process
 
The recurring nightmare - Rosa Gutierrez - Codemotion Amsterdam 2016
The recurring nightmare  - Rosa Gutierrez - Codemotion Amsterdam 2016The recurring nightmare  - Rosa Gutierrez - Codemotion Amsterdam 2016
The recurring nightmare - Rosa Gutierrez - Codemotion Amsterdam 2016
 
Periscopix presentation
Periscopix presentationPeriscopix presentation
Periscopix presentation
 
Android Quiz App – Test Your IQ.pdf
Android Quiz App – Test Your IQ.pdfAndroid Quiz App – Test Your IQ.pdf
Android Quiz App – Test Your IQ.pdf
 
Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010
 
Social Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold In-Flash Payments Webinar
Social Gold In-Flash Payments Webinar
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]
 
Grocery App
Grocery AppGrocery App
Grocery App
 
Shopify
ShopifyShopify
Shopify
 
Opticon 2015 - Getting Started with the Optimizely Developer Platform
Opticon 2015 - Getting Started with the Optimizely Developer PlatformOpticon 2015 - Getting Started with the Optimizely Developer Platform
Opticon 2015 - Getting Started with the Optimizely Developer Platform
 
How AdWords UI maps into adwords api
How AdWords UI maps into adwords apiHow AdWords UI maps into adwords api
How AdWords UI maps into adwords api
 

Más de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Selling Physical GoodsThrough Apps & Other Monetization Strategies (MBL306) | AWS re:Invent 2013

  • 1. Taking In-App Purchasing to the Next Level: Selling Physical Goods Through Your App & Other Monetization Strategies David Isbitski, Developer Evangelist Apps and Games November 14, 2013 © 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
  • 2. Agenda • Introducing the Mobile Associates API – Setting up your App – LinkService – Shopping Service • Mobile Ads API • In-App Purchasing API
  • 3. Introducing the Mobile Associates API
  • 5. Amazon Mobile Associates 6% Offer Physical and Digital Items for Sale Earn up to 6% Advertising Fees Leverage Amazon’s Checkout Experience
  • 6. Incentivize Users with Bundles • • Drive further engagement by tying the purchase of physical products to digital content in your app Upon purchase, you’ll get a receipt to fulfill your users’ digital content Create an In-App Shop • Display products in a customizable in-app storefront • Users can view and buy products from Amazon without leaving your app • Easily populate your storefront by specifying items or using a search term
  • 7. Sell One or Many Products • Create a button/link to a customizable listing of one or more products – Purchase completed in-app for devices with Amazon Appstore – Purchase linked to Amazon for Google Play devices
  • 8. Key Benefits of Mobile Associates • Better user experience – Learn more about a product and buy it from the app • Incremental monetization – Complementary to IAP & Mobile Ads – Up to 6% of sales – Wide reach - both Amazon Appstore & Google Play • Easy to integrate – Simple experience that can be integrated quickly – Flexibility to create customized experiences
  • 9. Amazon Mobile Associates API Features API features available through Amazon and other distribution channels Distribution Channels Feature Product Categories Amazon Appstore for Android Other Android Distribution Channels Direct Linking to Amazon Physical and Digital YES YES In-App Product Detail Page Physical and Digital YES YES In-App Product Preview Popover Physical and Digital YES YES In-App Shopping Experience Physical Only YES NO Digital Bundling (Available with In-App Shopping Experience) Physical Only YES NO Outside of direct linking to Amazon, search is available only if the app is distributed through Amazon Appstore and only physical product results will be returned.
  • 10. Agenda • Introducing the Mobile Associates API – Setting up your app – LinkService – Shopping Service • Mobile Ads API • In-App Purchasing API
  • 11. Setting Up Your App Is Easy • • • • • • • • Register Developer Account Fill out Tax Identity Get Application Key Update AndroidManifest Reference Mobile Associates API external jar Export Mobile Associates API Decide on goods to sell (search, asin, etc.) Implement LinkService or ShoppingService
  • 12. Demo – Setting up your app
  • 13. Agenda • Introducing the Mobile Associates API – Setting up your app – LinkService – Shopping Service • Mobile Ads API • In-App Purchasing API
  • 15. Direct Linking – Amazon Product Page
  • 17. Initialize the API protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AssociatesAPI.initialize( new AssociatesAPI.Config(APPLICATION_KEY, this)); }
  • 18. Link to the Amazon Home Page openHomePageButton = (Button)findViewById(R.id.open_home_page_button); openHomePageButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { OpenHomePageRequest request = new OpenHomePageRequest(); try { LinkService linkService = AssociatesAPI.getLinkService(); linkService.openRetailPage(request); } catch (NotInitializedException e) { } } });
  • 19. Link to an Amazon Search Page String term= ”snake arcade game"; // Search term openSearchPageButton = (Button)findViewById(R.id.open_search_page_button); openSearchPageButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { OpenSearchPageRequest request = new OpenSearchPageRequest(term); try { LinkService linkService = AssociatesAPI.getLinkService(); linkService.openRetailPage(request); } catch (NotInitializedException e) { } } });
  • 20. Link to an Amazon Product Page String asin = "B00362TQZ4"; openProductPageButton = (Button)findViewById(R.id.open_prod_page_button); openProductPageButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { OpenProductPageRequest request = new OpenProductPageRequest(asin); try { LinkService linkService = AssociatesAPI.getLinkService(); linkService.openRetailPage(request); } catch (NotInitializedException e) { } } });
  • 21. Agenda • Introducing the Mobile Associates API – Setting up your app – LinkService – Shopping Service • Mobile Ads API • In-App Purchasing API
  • 22. Demo – Snake Game with LinkService
  • 23. Agenda • Introducing the Mobile Associates API – Setting up your app – LinkService – ShoppingService • Mobile Ads API • In-App Purchasing API
  • 26. Update AndroidManifest.xml <uses-permission android:name="android.permission.INTERNET" /> <application> ... <meta-data android:name="com.amazon.device.associates.ENABLE_TESTING" android:value="true"/> <receiver android:name="com.amazon.device.associates.ResponseReceiver"> <intent-filter> <action android:name="com.amazon.device.iap.physical.NOTIFY » android:permission="com.amazon.device.iap.physical.Permission.NOTIFY"> </intent-filter> </receiver> ... </application>
  • 27. Implement the ShoppingListener public class GlobalShoppingListener implements ShoppingListener { private static final GlobalShoppingListener instance = new GlobalShoppingListener(); // Singleton object public static GlobalShoppingListener getInstance() { returninstance; } private static ShoppingListener localListener = null; public void setLocalListener(ShoppingListener l) { localListener = l; } }
  • 28. Implement the ShoppingListener public void onServiceStatusResponse(ServiceStatusResponse response) { localListener.onServiceStatusResponse(response); } public void onPurchaseResponse(PurchaseResponse response) { localListener.onPurchaseResponse(response); } public void onSearchByIdResponse(SearchByIdResponse response) { localListener.onSearchByIdResponse(response); } public void onSearchResponse(SearchResponse response) { localListener.onSearchResponse(response); } public void onReceiptsResponse(ReceiptsResponse response) { localListener.onReceiptsResponse(response); }
  • 29. Initialize the API protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AssociatesAPI.initialize( new AssociatesAPI.Config(APPLICATION_KEY, this)); AmazonMAAGlobalShoppingListener globalListener = AmazonMAAGlobalShoppingListener. getInstance(); globalListener.setLocalListener(this); try { AssociatesAPI.getShoppingService().setListener(globalListener); } catch (final NotInitializedException notInitializedException) { } } catch (final IllegalArgumentException illegalArgumentException) { } }
  • 30. Service Status public void onResume() { super.onResume(); globalListener.setLocalListener(this); try { AssociatesAPI.getShoppingService().getServiceStatus(); } catch (NotInitializedException e) { } catch(final NoListenerException e) { } }
  • 31. Service Status – User public void onServiceStatusResponse(ServiceStatusResponse response) { UserData userData = response.getUserData(); if (null != userData && null != userData.getUserId()) { userID = userData.getUserId(); userMarketplace = userData.getMarketplace(); appDistributedThruAmazonAppstore = true; } localListener.onServiceStatusResponse(r); }
  • 32. Service Status – Purchase Experiences public void onServiceStatusResponse(ServiceStatusResponse r) { ... Set<PurchaseExperience> peSet = r.getSupportedPurchaseExperiences(); inAppDetailSupported = peSet.contains(PurchaseExperience.DIRECT_WITH_DETAIL); inAppPreviewSupported = peSet.contains(PurchaseExperience.DIRECT_WITH_PREVIEW); inAppShoppingSupported = peSet.contains(PurchaseExperience.IN_APP); inAppShoppingDigitalBundleSupported = r.canGetReceipts(); searchSupported = r.canSearch(); localListener.onServiceStatusResponse(r); }
  • 33. Making a Purchase Button purchaseButton = (Button)findViewById(R.id.maaButton); purchaseButton.setOnClickListener(new View.OnClickListener() { public void onClick(final View view) { if (globalListener.isInAppDetailSupported()) { final PurchaseRequest pr = new PurchaseRequest(asin, view); pr.setPurchaseExperience(PurchaseExperience.IN_APP); try { AssociatesAPI.getShoppingService().purchase(pr); } catch (NoListenerException e) { } catch (NotInitializedException e) { } } } });
  • 34. Making a Purchase public void onPurchaseResponse(PurchaseResponse response) { switch(response.getStatus()) { case SUCCESSFUL: break; case FAILED: break; case NOT_SUPPORTED: break; case INVALID_ID: break; case PENDING: break; } localListener.onPurchaseResponse(response); }
  • 35.
  • 37. Agenda • Introducing the Mobile Associates API – Setting up your app – LinkService – ShoppingService • Mobile Ads API • In-App Purchasing API
  • 39. Amazon Mobile Ad Network API available for Android running 1.6 and higher Must be available through Amazon first Serves ads to U.S. customers
  • 40. Tips for Mobile Ads • • • • Place Ads Visibly Use Auto Ad Size (default) Use Multiple Ad Networks for fill rate Refresh Ads every 30–45 seconds
  • 41. Setting Up an Ad Is Easy • • • • • • • • Register Developer Account Fill out Tax Identity Get Application Key Update AndroidManifest Reference Ads external jar Export Ads API Implement Ad Activity and Ad Layout Optionally set up Ad Targets
  • 42. Setting Up an Ad … private AdLayout adView = null; private void initializeAmazonMobileAds() { AdRegistration.setAppKey(AMAZON_APPLICATION_KEY); AdRegistration.enableLogging(true); AdRegistration.enableTesting(true); this.adView = new AdLayout(this); this.adView.setTimeout(20000); // 20 seconds this.adView = (AdLayout) findViewById(R.id.adview); this.adView.setListener(new AdListener() { … loadAd(); private boolean loadAd() { return this.adView.loadAd(getAdTargetingOptions()); } ...
  • 44. Demo – Snake Game with Ads
  • 45. Agenda • Introducing the Mobile Associates API – Setting up your app – LinkService – ShoppingService • Mobile Ads API • In-App Purchasing API
  • 47. In-App Purchase Adoption Is Rising IAP Conversion Rate INDEX: Average = 100% Note: Conversion Rate is measured by the Number of IAP Customers / Total App Customers Source: Amazon Appstore, July 2013
  • 48. What Are Customers Buying? Consumables Entitlements Subscriptions
  • 49. IAP Tips • Number of Sessions vs. Session Length • Build a core audience • Design High Value Items
  • 50. Implementing In-App Purchasing All IAP Activities are Performed Asynchronously Purchasing Observer Your App Purchasing Manager Amazon Appstore Client
  • 51. Setting Up IAP Is Easy • • • • • • • • Register Developer Account Fill out Tax Identity Get Application Key Update AndroidManifest Reference IAP external jar Export IAP API Set up IAP items on developer portal Implement ResponseReceiver and PurchaseObservers
  • 52. Implementing In-App Purchasing • • • • • • Register ResponseReceiver Implement PurchasingObserver Register PurchasingObserver Initiate In-App Purchase Handle Purchase Notification Test Your Implementation
  • 53. Implementing In-App Purchasing Test Your Implementation with SDK Tester
  • 55. Demo – Snake Game with IAP
  • 56. Agenda • Introducing the Mobile Associates API – Setting up your app – LinkService – ShoppingService • Mobile Ads API • In-App Purchasing API
  • 58. Login with Amazon Freemium Amazon Device Messaging Android App Distribution Kindle Fire Mobile Associates Leaderboards Direct to Account Indie Storefront In-App Purchasing Achievements PC / Mac Downloads A/B/n Testing Amazon Coins AWS Amazon GameCircle Engagement Reports Mobile Ads Paymium Whispersync for Games Cross Platform
  • 59. Summary • Mobile Associates is the next step in monetization • Monetizing through In-App Purchases is about building relationships • Freemium can be part of a successful business model • Use Mobile Ads to monetize from your non-paying users • Use multiple networks to get higher Ad fill rate • Design High Value Items
  • 60. Learn More • Developer Portal: developer.amazon.com/appstore • Blog: developer.amazon.com/blog • Follow us: @AmazonAppDev @TheDaveDev
  • 61. Please give us your feedback on this presentation MBL 306 As a thank you, we will select prize winners daily for completed surveys!