February 27, 2014
David Isbitski
Kinetic Art, an Israeli startup established in 2010, is the publisher of the highly popular cooking app Look & Cook. Kinetic Art's core technology and intellectual property revolves around in-app ecommerce optimization.
Recently, Kinetic Art published Look & Cook to the Amazon Appstore (download here) their first ever-Android version. I had a chance to sit down with Dudu Mimran from Kinetic Art and talk about Kinetic Art’s experience publishing on the Amazon Appstore, what it was like implementing the Amazon Mobile Associates API, and what type of success they have seen so far.
“Look and Cook is a cooking and now a shopping app, thanks to Amazon’s Mobile Associates API. We are building a platform for building cooking apps.” - Dudu Mimran.
Having found early success on iOS, including an advertising campaign on Pinterest, the team decided it was time for an Android version. For Kinetic Art the most important thing for Look & Cook was ensuring a great user experience. They were confident they could achieve this vision on Kindle Fire as they only needed to target a single device vs a multiple of Android devices. “On Amazon, you can focus a lot on Kindle. With Google Play you have to make sure you having everything looking good on many, many devices. We decided it would be a much easier transition going from iOS to Amazon because of this.”
Look & Cook was able to leverage Amazon to create a culinary lifestyle experience by integrating ecommerce into the food and culinary world. The current version of Look & Cook now has numerous physical goods related to the cooking of the selected recipe. “We created a small shop within each recipe. The tools that are included in the app are recommended by the recipe creator to make the recipe perfectly. In general, this is what our investors have in mind. Our main business model in the future will be ecommerce. We are not there yet, but this is a great step. We are betting everything on ecommerce and we already have purchases. People are buying for sure,” declares Dudu.
“Look and Cook is a cooking and now a shopping app, thanks to Amazon’s Mobile Associates API. We are building a platform for building cooking apps. Amazon’s Mobile Associates API really excited us because we have always wanted to integrate ecommerce but it’s something very hard to do as a startup. Since Mobile Associates launched it has made it much easier for us. We are very happy working with Amazon,” says Dudu.
Even though the team has seen a smaller number of app downloads on Amazon vs. iOS people are definitely buying goods and they have already seen differences in the behavior of customers. “We have two types of users on Amazon: those that use it on an ongoing basis and those that love it for cooking. We also see those that love it for the very first time. They are more engaged on Amazon, and if I compare the amount and depth of reviews, then totally, people are much more engaged into the app itself,” says Dudu.
According to the team, once they understood the basics of integrating the API for Amazon Mobile Associates, things progressed quickly. “It was very easy, and it just works!” says Dudu.
“Our main business model in the future will be ecommerce. We are not there yet, but this is a great step. We are betting everything on ecommerce and we already have purchases. “
Figure 1- Look & Cook running on a Kindle Fire HDX 7”
Figure 2- Tapping on Shop will bring up a physical good for that recipe you can buy with the Buy Now button.
Figure 3- Clicking Buy Now takes you right to the product from Amazon without leaving Look & Cook
Figure 4- Look & Cook’s category of recipes
To measure success the team built a detailed level of conversion measurement. For example, they know how many people download the app, navigate through the app, navigated to an extended view, and buy products. In the future, one of the improvements will be creating greater exposure to other random products and not forcing people into the ones the app recommended.
It’s too early to tell how much money the team will be making but already they are seeing purchases. “It’s less important for the number at the moment, behavior is what is very important. Really getting customers used to the behavior is important. They are not accustomed to buying within the app. Now we are working on several angles: distribution, volume of users, exposure of more products, and then quality of product and selection,” says Dudu.
When asked about potential growth, the team projects as much as 8-10x growth once they start really marketing to users. Their favorite part about working with Amazon? “I would say the personal touch. This is very, very important to us and a huge differentiator. From a user perspective, Amazon customers are much more engaged and seem to be people that buy.”
You can check out Look & Cook in the Amazon Appstore here and find out more about the Amazon Mobile Associates API here.
-Dave (@TheDaveDev)
February 25, 2014
David Isbitski
Two years ago, Sean Sheedy, saw an opportunity to teach his boys more about mobile app development. He decided to take his sons Tommy and Ian with him to MoDevEast and participate together in a hackathon. These three were our big winners from the MoDevEast competition. It all started out with Sean bringing paper, pens and other supplies so that the boys could help out by drawing the app’s user interface in prior MoDevEast competitions. Once they came up with the user interface Sean would code whatever ideas the boys came up with.
Figure 1Sean with his sons Tommy and Ian
His oldest son Tommy (ten at the time) would always talk to other attendees and sponsors from the hackathon and would work alongside them. When one of the attendees gave Tommy an iOS app recipe, it wasn’t long after that Tommy had an entire app running and needless to say dad was impressed.
At the recent MoDevEast 2013 conference Tommy brought his friend Devin and his Dad to the conference too, bringing the teams total membership to four.
“We were trying to decide what app to write,” recalls Sean, “Devin’s Dad and I like to get together and jam on the guitar. We thought about doing an app called Jam Session. The idea that we tried to implement was an app that would let you playback a track that somebody else recorded and while it plays back you can record your own track. I found two API’s called Audio Track and Audio Record for Android. We found that it was possible to do this and then figured out how to make the app work.”
“Tommy investigated early on of what it would take to make this work on a Kindle. He saw that it would be really easy to port over to the Kindle because it’s basically Android,” says Sean. “Tommy saw the benefit of creating the design and then began writing code. We initially built it for Android. The API we ended up implementing was really a simple audio playback. “
Figure 3 Sean and the boys using post it notes to flush out the app user interface
“There was no porting involved – it was intended to run on any Android device and that includes the Kindle.” - Sean
So what was the process like getting their Android app running on Kindle? “It was a no brainer to port this over to Kindle. It basically ran right away. We basically did no work,” Sean says. “The only thing that would have been a deal breaker is if we had used vendor-specific or unpublished APIs. Nothing stood out to be an issue. There was no porting involved – it was intended to run on any Android device and that includes the Kindle Fire. “
What about the Kindle development environment? Since Kindle is Android it’s just like any other Android environment using Eclipse. “In development it’s really cool that I can plug the Kindle in and it’s just like any Android device. That is REALLY nice.” says Tommy.
So what do Sean and the boys envision for the future? “We would like to be able to make it easy to buy the music that people are jamming to in our app. You can start off by buying the music you want to jam to and make that the base track and then add your tracks to it. Amazon’s Mobile Associates API would help us do that.”
“In development, it’s really cool that I can plug the Kindle in, and it’s just like any Android device. That is REALLY nice.” - Tommy.
Did the boys have fun on this father and sons hackathon adventure? “Tommy thought this was our best concept yet. We didn’t win the top prize, but we won the Kindle Fire and some money,” says Sean. “Pretty much every hackathon I’ve gone to I’ve gone to with the kids. The boys are getting a lot from the experience, and I highly recommend this to any tech parent.”
Interested in selling Physical Goods in your Android Apps using the Amazon’s Moble Associates API that Sean mentions? Be sure to check out our Mobile Associates Blog Posts and Developer Portal for full details.
-Dave (@TheDaveDev)
We recently launched the Mobile Associates API (MAA) for Amazon Appstore (including Kindle) and general Android devices. Since the launch, the API has been successfully integrated in hundreds of Android apps and has helped generate incremental revenue for developers. Mostly, developers use MAA to complement revenue generated from mobile ads. Using MAA, you can sell real products from the millions of items at Amazon, whether physical (i.e. toys, clothing) or digital (i.e. eBooks), from inside your apps while earning up to 6% in advertising fees from those purchases. With wide variety of the Amazon product catalog, there are probably many items that are relevant to your users. Plus, you have complete control over the products you want to promote and the in-app user experience.
In this post, we will show how to build “Relevant products” experience using Mobile Associates API. In this experience, you can offer contextually relevant products in your app by specifying a search term and direct customers to mobile optimized Amazon search result page. Customers can browse through the search results page, select products, and complete the purchase after signing in to their Amazon account. You earn advertising fees equal for qualifying purchases made during that session. Most developers can build this experience in 30 minutes.
“Relevant Products” Experience
For developing other experiences, please visit Amazon Mobile Associates API
Steps to Integrate
1. Identifying relevant products to promote
2. API code integration
3. Testing the app
Identifying relevant products to promote
Mobile Associates API provides four parameter, searchTerm, product category, Brand, and SortOrder, to search and promote most relevant products to your app users on search landing page. Please see the available product categories and compatible sorting and filtering options here.
To identify relevant products, begin by identifying the most relevant product categories based on your app category and your app user’s demographics. You can also use different product categories in different sections of your app.
Once you have identified the relevant product categories, identify a relevant searchTerm to find relevant products within your chosen categories. Now go to Amazon.com and search for products using searchTerm within your chosen categories. App users will see this list of products when using your app. Refine your searchTerm to identify the list of products your users are most likely to purchase. These items may not be the highest value item available under the given category. For example, most app users are unlikely to buy the most expensive running shoes.
You can also sort these items in different orders. We recommend sorting them by “relevance”. You may consider other sortOrder such as “highest to lowest price” under special circumstances. You can also specify “brand” as a filter if you believe that your app users are more likely to buy a certain brand.
Once you have identified the products you want to promote, you can use the appropriate searchTerm, product category, Brand, and SortOrder in the APIs to promote the relevant products.
Example: If your app belongs to the fitness category, you can pick product categories such as “Health and Personal Care” to promote vitamins, “Shoes” to promote running shoes, or even “Books” to promote fitness related books. You should promote context appropriate products such as barbells or protein supplements to a person who does frequent weight training. Use “men’s running shoes” in shoes category if the app user is male. You should refine the searchTerm based on your conversion rates and the products your users are purchasing. Promote brands which are popular in your app user’s geographic location. For example, Adidas is a very popular brand in Germany.
API code integration
Update the Android Manifest
Making requests to the Amazon Mobile Associates API requires the INTERNET permission. These permissions need to be declared outside of the <application> tags in yourAndroidManifest.xml file.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Initialize the API
In your Activity.onCreate(), initialize the API by calling AssociatesAPI.initialize(config) using your Application Key.
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssociatesAPI.initialize(new AssociatesAPI.Config(APPLICATION_KEY, this));
}
To get the Application Key, log on to the developer portal, click on the "My Apps" tab and then select an existing app or click on the "Add a New App" button. When creating a new app, just fill in the "App Title" and "Form Factor" fields and click the "Save" button. The next screen will show the unique Application Key value, which is a 32-character globally unique alphanumeric string that is used to identify your app. The same Application Key can be used across platforms, but each distinct app must have a unique Application Key.
Direct to Amazon Search Result Page
To direct customers to an Amazon product search results page, construct an OpenSearchPageRequest by specifying the search keyword and pass the search request to the LinkService.openRetailPage method.
String searchTerm = "running";
String category = "Shoes";
openSearchPageButton = (Button)findViewById(R.id.open_search_page_by_term_button);
openSearchPageButton.setEnabled(true);
openSearchPageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
OpenSearchPageRequest request = new OpenSearchPageRequest(searchTerm, category);
try {
LinkService linkService = AssociatesAPI.getLinkService();
linkService.openRetailPage(request);
} catch (NotInitializedException e) {
e.printStackTrace();
}
}
});
For more details on building “Relevant products” experience, please visit the Amazon Developer Portal.
Testing the app
Once you have integrated the MAA APIs in your app, you should test your app by clicking through MAA links and validating that the users are presented with the relevant products. We also recommend that you validate application id and that the app has INTERNET permission enabled before publishing the app.
Following up on the latest in a series of webinars covering Amazon devices, game services, and mobile applications, here’s a list of questions we collected during and after our presentation on the Amazon Mobile Associates API.
Q: Is the advertising fee fixed (6%) for all products?
A: Products belonging to certain categories have fixed fee rate ranging between 4-6%. Products in the General products category have a volume based fee rate between 4-6%. See Table 3 and 4 at the here.
Q: Do you plan to serve also the non-US users in the future?
A: Great request. We’ll be sure to pass this along to the product team.
Q: Does this mean we will not get credit for mobile users making purchases through our websites which use the regular api? Can we use the new mobile API on our websites where we have both mobile and desktop users making purchases, and get credit for both?
A: The Mobile Associates API is available only for Native Android Apps. Mobile Associates is linked to a new Associates account that we create for you when you accept the Amazon Mobile App Distribution Agreement and create your developer account. Reporting for your Mobile Associates account is only available on developer.amazon.com. You can continue to use Associates Central to access your pre-existing Associates account information. If both your Mobile and pre-existing Associates account earn advertising fees, they will result in separate payments.
Q. How do I select and specify products I want to offer in my app?
A: You can either offer specific product(s) in your app or offer product(s) that fulfill certain criteria.
To offer specific products, first you need to select the products that you want to offer. You can do that by going to Amazon retail website, determining the products you want to offer, and looking up their products IDs. Product IDs are also called ASIN. You can find details of finding product IDs here.
You can also offer product(s) that fulfill certain criteria. You can do this by specifying a search keyword, and product category. The API will return product(s) that fulfill that search criteria in the given category. You also have the option to sort and filter the search results.
Q. How can I get product information including properly formatted price of a product?
A: You can retrieve a product information using search and searchByID(..). Search API allows you to search for products using keyword and category. As part of the search results the API also returns product information that includes productID, title, description, image URL, price, and rating. searchByID allows you to lookup product(s) using productID. As part of the response, the API returns product title, description, image URL, price and rating.
The product information returned by both methods, search(..) and searchByID(..) are part of the Product class. You can call Product.getPrice to get the Price object. You can use the Price object to retrieve the monetary value, currency and the properly formatted price.
Note: search and searchByID APIs are only available if you app is distributed though Amazon Appstore for Android
Q. Can I offer digital products like ebooks, digital video etc. in my app?
A: Yes, you can offer digital products like ebooks, digital video etc through the Mobile Associates. Digital products are available for sale through DIRECT_WITH_DETAIL and DIRECT_WITH_PREVIEW purchase experiences. Digital products are not available for digital bundling feature i.e grant a virtual item based on a purchase of a product from Amazon.
Q. How can I check if a product is in stock and available for sale?
A: You can check if the product is in stock and available for sale by calling searchByID API. You can specify the productID of the product you want to offer in the SearchByIDRequest. SearchByIDResponse object will be delivered to your app through the ShoppingListener.onSearchByIDResponse callback. You can call SearchByIDResponse.getUnavailableProductIDs to check the products that are unavailable in your SearchByIDRequst. As a best practice you must always check if the product is available before offering it to the users in your app.
Note: search and searchByID APIs are only available if you app is distributed though Amazon Appstore for Android
Q. How can I get information on products that are available in different colors and sizes?
A: Products that are available in different shape and sizes are called variations. You can find product ID of a specific variation of a product on Amazon retail website. You can offer variations of the same products in your app by specifying the product ID of each variation in your app.
The Amazon product detail page handles variations. If a product has variations, users will be able to find and select variations on the Amazon product page. The Amazon Product detail page is presented to the user when you call the purchase(..) API and with IN_APP or DIRECT_WITH_DETAIL purchase experience.
You cannot retrieve product variation programmatically through the Mobile Associates API.
Q. Can I search for certain class of products using the API?
A: Yes you can search for products by specifying keyword and category. You can programmatically retrieve search results using the search API. Note: the search API is only available if your app is distributed through Amazon Appstore.
You can direct users to a search result page on Amazon site using LinkService.openRetailPage method and OpenSearchPageRequest request object.
Q. What are the available search categories?
A: Available search categories and list of available sortType and filters are available here.
Q. Can I filter and sort the search results?
A: Yes, you can specify the sort type and filters for search results. The available sort types and filters depend on the product categories. You can find the complete list here.
Q. Do I need to track the current user?
A: If you are implementing a digital bundle, you should keep track of granted virtual items based on the current logged in use. If the user changes you should retrieve the purchase receipts for the current user by specifying offset.BEGINING in the getReceipt call and make sure that you grant the items owned by the new user. You would also want to ensure that the new user does not have access to items owned by the previous user.
Q. When should I grant the digital item if I am implementing a Digital Bundle?
A: You should grant the digital bundle when the receipt for the purchase is delivered to your app. You will have to request for the receipt as part of the purchase call by setting the receiveReceipt flag to true. You should only set this flag to true if you are implementing a digital bundle.
When you set receiveReceipt to true, if the PurchaseResponse.Status is SUCCESSFUL in onPurchaseResponse, you can call PurchaseResponse.getReceipts() to retrieve the receipt for the purchase and grant the digital bundle.
If you receive PurchaseResponse.Status as PENDING, you will have to rely on ShoppingService.getReceipts(..) to get the receipt for the purchase. You must call getReceipts in the onResume method of the main activity and also in onResume of any activity that implements the Mobile Associates API functionality. This will ensure that when the transaction goes through, your app receives the receipt and grants the digital bundle.
Q. What if the customer cancels the order or returns the product that has a digital bundle?
A: If a customer cancels the order or returns the product that has an associated digital bundle, the receipt for that order is marked as canceled and delivered to your app when you call ShoppingService.getReceipts(..).You may want to revoke the granted digital item in this case. Hence, when implementing a digital bundle, you must track the receipts (preferably on your server) for which you have granted a digital item. You must also de-dupe the receipts using receiptID to ensure that you do not grant or revoke a digital item multiple times.
Q. On a successful product purchase, how can I check the product that corresponds to the purchase request?
A: Note: You can only find the product corresponding to the successful purchase if you are implementing an IN_APP shopping experience and you specify receiveReceipt to true (i.e implement a digital bundle) in the ShoppingService.purchase(..) method.
If you are implementing an IN_APP shopping experience and you specify the receiveReceipt to true, you will be able to retrieve the receipt for the successful purchase by calling PurchaseResponse.getReceipts(..) in ShoppingListener.onPurchaseResopnse callback. By calling Receipt.getProductID(..) you can retrieve the product ID of the product that corresponds to the purchase request.
Q. How do I test my implementation?
A: You do not require any additional tools to test your implementation for LinkService or DIRECT_WITH_DETAIL and DIRECT_WITH_PREVIEW purchase modes. However, to test IN_APP purchase mode and digital bundling functionality, you will need Amazon App Tester. Amazon App Tester enables you to test you IN_APP shopping and digital bundling feature in a production like environment.
Q. How do I get Amazon App Tester?
A: You can get the Amazon App Tester from Amazon Appstore for Android. See details here.
Q. What reporting is available for the Mobile Associates API?
A: Earnings and Payment reports for the Mobile Associates API are available through the Amazon Mobile App Distribution portal. You can view the earning reports based on shipped units, revenue, and net earnings. You can view sales, returns and net earnings for each of your app that integrates with the Mobile Associates API. You can also view this information for individual products that are sold through your app.
Q. How can I check at runtime what features of the Mobile Associates API are available?
A: You can check the available features at runtime by calling ShoppingService.getServiceStatus(..) method. This will result in a callback ShoppingListener.onServiceStatusResponse(..) with ServiceStatusResponse as a parameter. You can use ServiceStatusResponse to
Q: I am using b4a IDE to create android apps. The group using this IDE is considerably large. Can I use your API in our apps using this IDE.?
A: We do not provide specific support for b4a IDE. However, the Mobile Associates API is a standard JAVA library that should work with any IDE supporting Android development.
Q: Is it possible to integrate the API into non-Android devices like the iPhone/iPad? Or is there any way to do mobile affiliate linking for iOS?
A: MAA does not work on iOS. We’ll be sure to pass this along to the product team. You can monetize your mobile website on iOS devices through our standard affiliate program.
Q: Most apps are trying to reach global market. Would like to hear that Amazon is starting to think about how MMA can work in more countries. Maybe even plans to support e.g. Europe & Japan once MMA is working smoothly in USA.
A: Great request. We’ll be sure to pass this along to the product team.
Q: Are there any plans to allow shopping with MA API for digital goods, or is there a process in place for applying for that ability today?
A: Mobile Associates provides the ability to offer both physical and digital goods
Q: Any more detail on using the war file to test receipts?
A: Please see the section on Testing you App here.
Q: Is there an Adobe AIR native extension available?
A: Not currently. We’ll be sure to pass this along to the product team.
Q: Is it possible to interact with wish lists via the API?
A: Great request. We’ll be sure to pass this along to the product team.
Q: If we have sales through our regular website using our regular api and the customer is using a mobile device will we still get the same fees?
A: The standard Associates Program now allows affiliates to earn advertising fees by referring traffic from mobile optimized websites in addition to traditional websites.
Q: Can we see sample apps that are making money with the Mobile Associates API?
A: Please check out the Mobile Associates API site for more information.
Don’t miss out on our next webinar event:
Best Practices: How to Integrate Amazon Maps in Your App
on October 3rd, 2013 @ 10:00 AM
Pre-register here!
Does your mobile app or game offer in-app purchase? Did you know that you can easily add support for any physical or digital product available on Amazon? The new Amazon Mobile Associates API makes it possible, whether you distribute your app on the Amazon Appstore or elsewhere.
Join us live at 10am on Tuesday, September 17 for a webinar explaining Mobile Associates and how to integrate it into your own mobile Android applications. We’ll cover topics such as direct linking to Amazon product and search pages (optimized for the mobile experience), in-app product preview, and bundling virtual digital items with physical purchases. Be sure to stick around for live Q&A following the presentation.
Don't miss out:
Tuesday, September 17, 2013
10:00-11:00am PDT
Pre-register here!
Until today, developers have only had three methods to monetize their apps or games: selling them outright, going “freemium” with in-app purchasing or subscriptions, or using mobile ads. Starting now, Amazon has created a new method for developers to monetize: the Amazon Mobile Associates API, currently available for Android (including Kindle Fire). The Mobile Associates API allows developers to sell real products from the millions of items at Amazon, whether physical (i.e. toys, clothing) or digital (i.e. eBooks), from inside their apps or games while earning up to 6% in advertising fees from those purchases. The Mobile Associates API is an extension of Amazon Associates, our successful web-based affiliate program created in 1996, paying advertising fees to hundreds of thousands of affiliates worldwide.
Sell a single item from Amazon in your app or game: The boss at the end of a stage in your game is a giant three-headed wolf, sell the popular “Three Wolf Moon” t-shirt from Amazon
Showcase a category of goods from Amazon in your app or game: Your app is based on improving nutrition over time, offer health-related products like vitamins, supplements, etc. or the Kindle edition of The 4-Hour Body by Tim Ferriss from within your app
Bundle a purchase of a physical product from Amazon with digital content within your app: Sell a toy version of one of the characters in your game, then automatically enable them to play as that same character
Here’s how it works: a customer initiates a purchase from within your app and is then presented with a dialog box showing the product details and cost. The customer can then complete the purchase using Amazon’s 1-Click purchasing, and then the items will be shipped directly from Amazon to the customer’s doorstep. You’ll earn up to 6% of the total purchase, added to your app distribution earnings.
Alt12 is the developer of “Pink Pad” and “BabyBump”: “Our custom solution to sell physical products within our apps took us 6 months to develop, and required complex relationships with more than 20 vendors. With the Amazon Mobile Associates API, it took us only 3 days, and provided us a better in-app shopping experience for our customers, while allowing us to offer a greater selection of products.”
Days of Wonder integrated the API into their game “Ticket to Ride”: “Customers are now able to purchase a physical expansion pack of our board game and then are delighted to get the digital version now for free. We can do this through the digital bundling functionality provided by the Amazon Mobile Associates API.”
Integration is simple. Initilize the Mobile Associates API, and tell us what you’re selling--you can choose to supply a specific set of ASINs (Amazon Standard Identification Number), search terms, or use the Amazon Product Advertising API to query a list of ASINs and product information. Then, initiate the purchase. We’ll take care of the rest!
We’ve posted a Quick Start Guide, sample code, and documentation here—start earning more with the Amazon Mobile Associates API today!
Want to learn how to integrate the Amazon Mobile Associates API? Don’t miss out on our next live webinar event:
Mobile Associates Program: What It Is And How It Can Boost Your App Profits
on September 17th, 2013 @ 10:00 AM.
Pre-register here!