Amazon Developer Blogs

Showing posts tagged with API

September 09, 2015

Corey Badcock

We are excited to announce that Amazon Cloud Drive has published its IFTTT channel. IFTTT stands for “If This Then That”, and it provides a simple way to automate interactions between your favorite apps. It connects two services together in a way that an action from one service triggers an action at another.

In order to create automations in IFTTT, you simply create what’s called a “Recipe”. Connect any of the available channels with Amazon Cloud Drive channel to create “Triggers,” which is the “If” part. Then,   have the corresponding “Actions,” the Then part. You can check out the Amazon Cloud Drive channel at https://ifttt.com/amazonclouddrive. IFTTT channels include a vast range including social media services, email, text message, GPS, electronic piggy banks and smart light bulbs.

[Read More]

August 18, 2015

Corey Badcock

The Amazon Cloud Drive API provides a RESTful interface, and Android and iOS SDKs, for upload, download, manipulation, and organization of data in the cloud. You can use this API to integrate these services in your app and offer added flexibility to your users. Your app can provide direct access to their Cloud Drive storage and the content they keep there, as well as use it to preserve game settings, preferences, and other application state on their behalf. By doing this you can also add Unlimited Storage benefits to your app through Amazon Cloud Drive’s Unlimited Photos and Unlimited Everything storage plans.

Many app developers have already integrated support for Cloud Drive into their web, desktop and mobile products, including odrive. odrive helps Amazon Cloud Drive customers automatically sync folders on their desktop with their cloud storage account. We had a chance to sit down with Alex Teu, EVP for Partnerships, to discuss his company’s experience with supporting Amazon Cloud Drive in their product. 

[Read More]

June 17, 2015

David Isbitski

Today we are pleased to release new Android and iOS SDKs for mobile developers interested in supporting Amazon Cloud Drive. These new additions are a part of the existing Amazon Mobile App SDK and can be downloaded directly from the Developer Portal. The updates will allow you to provide Unlimited Storage benefits for your customers using your apps more quickly and efficiently.

Improved Efficiency and Benefits

You can now quickly write new apps or make your existing apps interact with Amazon Cloud Drive using both the Android and iOS SDKs. With these updates you no longer need to understand and implement a separate instance of Login with Amazon. We’ve even taken care of the best practices of implementing a back-off strategy. Best of all, you can communicate with the Amazon Cloud Drive API without ever needing to worry about networking code.

Additional benefits include the ability to work exclusively with native Java and Objective-C object types, removing the need to ever parse JSON, as well as eliminating the need to refer back to the REST API documentation online. You also no longer need to explicitly use the Amazon Cloud Drive API to get Account endpoints, removing an entire step from your development workflow.

Apps Using New Amazon Cloud Drive Mobile SDKs

With the launch of the Amazon Cloud Drive mobile developer SDKs, we are also excited to announce new third-party apps supporting Cloud Drive through the Android and iOS SDKs.

A+ Gallery (Android): iPhone style photo gallery.

PhotoTime (iOS): Explore your photos at snapshot speed.

TextMaker HD Basic (Android): Create and edit documents on your tablet.

PlanMaker HD Basic (Android): Create and edit spreadsheets on your tablet.

Presentations HD Basic (Android): Create and edit presentations and slide shows on your tablet.
 

And, coming soon:

FiLMiC Pro (iOS): Turn your iOS camera into a broadcast worthy 2K HD video camera.

Vizzywig (iOS): All-in-one, movie-making application for iPhone, iPad, and iPod touch that lets you record, edit, and preview in real time.

Cleen (iOS): Clean up your camera roll and photos in your Amazon Cloud Drive account.


For more photo, video and productivity apps be sure to check out the Amazon Cloud Drive App Gallery. You can also visit the Developer Portal to download the Amazon Mobile App SDK or to learn more about the Amazon Cloud Drive API and SDKs for Android and iOS. If you have any questions about getting started you can visit our Developer Forum.

-Dave (@TheDaveDev)

November 11, 2014

Peter Heinrich

Developers have been using Amazon to store data in the cloud for some time, using the highly reliable and scalable Amazon Web Services like S3 to provide durable object storage and retrieval. Amazon Cloud Drive offers that same convenience to consumers, and millions use it to securely access their digital content from their desktop and mobile devices. Now you can build on that functionality and connect users to their Cloud Drive content from within your own apps. Enhance your photo editing app, for example, by allowing users to browse photos they have already stored in the cloud.

A New REST API

Today Amazon Cloud Drive announced the launch of its public API platform, which provides a RESTful interface for upload, download, manipulation, and organization of data in the cloud. You can use this API to integrate these services in your app and offer added flexibility to your users. Your app can provide direct access to their Cloud Drive storage and the content they keep there, as well as use it to preserve game settings, preferences, and other application state on their behalf.

For example, let’s say you have a note-taking app that stores its data locally. Using the new Cloud Drive API, you could allow users to enable synchronization with their personal storage in the cloud. Saving notes to their Cloud Drive would make the data accessible to your customers wherever they run your app—without requiring you to set up and manage servers, storage, or load balancers.

In addition to the convenience of this direct connection to their Cloud Drive from your app, customers also benefit from the reliability and safety of the underlying AWS platform on which Cloud Drive is constructed.

Less to Build, Faster to Market

When you connect your users to their own Cloud Drive storage, you can preserve and protect their app data without having to build an online data management system of your own. Cloud Drive is built to be robust and to scale transparently, so you never have to worry about availability or performance. The Cloud Drive API doesn’t impose any restrictions on file type, so your app can work with all kinds of content.

Many app developers have already integrated support for Cloud Drive into their mobile products. You can see some of these on the newly launched Cloud Drive App Gallery page. They include photo print services, content creation and editing apps, and content aggregation apps.

You can also hear first-hand what it’s like to integrate with Cloud Drive. Listen to Jason Toy, CEO of Filepicker, discuss the process and how it added value for their customers.

Integration Is Easy

Check out the Cloud Drive API Documentation for details on how to add Cloud Drive to your mobile apps. There is also a third-party SDK provided by Temboo to get you up and running fast.

-peter (@peterdotgames

 

 

 

 

 

 

 

July 17, 2014

David Isbitski

The Amazon Mobile Ads API lets you place high-quality display ads from the Amazon Mobile Ad Network in your app, helping you better monetize your apps and gain access to highly relevant ads from brand advertisers, including Amazon and its subsidiaries. Starting today, both Interstitial and Banner ads can now be displayed across iOS devices in addition to Android and Fire OS devices.  Beginning on July 25, 2014, ads can also be displayed on the Fire phone.  As a developer, you can now monetize your apps with the Amazon Mobile Ads API across iTunes, Google Play, and the Amazon Appstore while taking advantage of multiple targeting features.

With this release, we are also expanding ad serving to users in Spain and Italy across Android and iOS. Starting today, the Amazon Mobile Ad Network is serving ads to Android and iOS users in the US, the UK, Germany, France, Spain and Italy.

 “Amazon Mobile Ads API is consistently delivering 20% higher eCPM on both Android and iOS platforms compared to other ad networks. In addition to increased earnings, the high-quality tailored ads provides an engaging experience for our users achieving 25% higher CTR.”*

                                                                            - Tim Oswald, Co-Founder & CEO of Harpan LLC.

* Your results may vary.

Getting Started with the Amazon Mobile Ads API

If you are already using the Amazon Mobile Ads API in your Android apps today you can skip to the Integrating with Your iOS Apps section below.  Otherwise, to get started with the Amazon Mobile Ads API, follow these quick steps:

  1. Sign in or register for a free developer Amazon Apps & Games Developer Portal account. If you do not already have one, you will be prompted to create an account.
  2. Submit your payment and tax information. (Skip this step if you have already submitted this information).**
  3. Get an Application Key by navigating to the Mobile Ads tab under ‘APPS & SERVICES’ and clicking on “Register New iOS App”.
  4. Download and integrate the Amazon Mobile Ads API here.
  5. Submit your app to iTunes.

**If you are performing services for the Amazon Mobile Ad Network outside of the US, please complete the Amazon Services Statement so we report your tax obligations accurately, and do not unnecessarily withhold taxes we are required to collect from developers who perform services in the US. 

Integrating with Your iOS Apps

The Amazon Mobile Ads API for iOS requires iOS 6.0 or later and assumes you have Xcode 5.1.1 installed. After completing the Getting Started steps above, you can integrate iOS support in three steps.

1.       Reference the AmazonAd.framework in your existing XCode Project

2.       Set up your provided Application Key by calling into the AmazonAdRegistration setAppKey class method. You must set your app’s Application Key in order to receive ads. This allows Amazon to track your impressions and clicks, and associate them with your account. Here is an example of calling setAppKey:

3.       Load an ad Using AmazonAdView. You can also set a number of optional parameters, including whether this is a test request. Test requests always return an ad and don’t count as part of your metrics. Here is an example of a loadAd call:

For more detailed information on integrating iOS support, check out our iOS Quick Start Guide here.

Note - During integration and testing of the Amazon Mobile Ads API, you should set the testRequest option to true. This indicates that the request is for testing. Here is an example:

Test requests will not show up in your metrics. Test traffic that doesn’t include this flag could result in blocked requests, fraud investigation, and potential account termination.

Ad Size and Targeting Options for iOS

The Amazon Mobile Ad Network supports Interstitial Ads as well as banner ad sizes of 300x50, 320x50, and 300x250 for phones and 300x250, 728x90, and 1024x50 for tablets. Your app should request a device-appropriate size. Please see the following chart for recommended sizes by device:

For additional information on Ad Sizes in iOS, click here.  For more information on Interstitial ads click here.

Just like Android and Fire OS, there are a number of targeting options you can include in the requests you send to the Amazon Mobile Ad Network. In addition to ad unit size above, you can specify geolocation (US only), age and gender. For more information on ad targeting in iOS, check out our guide here.

Increased Reach & Monetization Opportunities

The Amazon Mobile Ad Network allows you to participate in highly targeted campaigns with premium advertisers. The Amazon Mobile Ads API can serve both banner and interstitial ads across Amazon Appstore, iTunes and Google Play. For a limited time, when you send the first ad request from a qualified app, you will receive a guaranteed $6 CPM on interstitial ads (up to a maximum of 1 million impressions per app per month). Qualifying apps now include iOS apps. Please find more details here. The opportunities to monetize your apps have never been better!

To learn more about the Amazon Mobile Ads API, check out our developer portal here, the Quick Start Guide for iOS, as well as our blog with tips on ad mediation and tracking ad events inside your apps.

-Dave (@TheDaveDev)

 

July 08, 2014

Peter Heinrich

In-App Purchasing (IAP) is gaining in popularity with developers as it continues to be a reliable revenue generator for mobile apps and games. It is the basis of Free-to-Play, eliminating up-front costs but allowing customers to purchase upgrades and add-ons they find valuable. The Amazon Appstore platform is designed to manage these transactions, and we have enhanced our In-App purchasing API to make it easier for you to manage the purchases your customers make.

Improved Customer Experience

With this update, the In-App Purchasing API improves the receipt process to provide better visibility into the fulfillment status of your customers’ in-app purchases.

The updated API replaces PurchaseToken with a unique receipt identifier called ReceiptId. The ReceiptId value allows you to:

  • Determine fulfillment status and reconcile transaction records with your Amazon earnings report.
  • Identify duplicate transactions to prevent over-fulfillment of digital content.
  • Receive notification of transactions that cancel orders.

Getting Started

The updated API is backward-compatible, which means that your existing applications will continue to work without modification. We recommend that you migrate to the latest version, though, so that you can benefit from these improvements.

  • If you are adding in-app purchasing to your app for the first time, simply build your project with the Amazon Mobile App SDK, which includes the latest version of the In-App Purchasing API.
  • If your app already uses an older version of the API but you’re not ready to migrate from PurchaseToken to ReceiptId, you can still update to the latest version. Your app will work without modification, so you can prepare for the switch and follow through with the actual migration when you’re ready.
  • If you are ready to use ReceiptId now, simply follow the migration guide available on our Developer Portal.

Additional Resources

For more details on in-app purchasing and how to implement it in your mobile projects, check out our Developer Portal and blog. Dive deep on the new API, or explore related topics such as increasing conversion, digital item sales in desktop and web-based applications, and managing promotions and discounts.

 

July 04, 2014

Peter Heinrich

The Amazon Mobile Ad Network is growing in Europe, adding two more countries soon after announcing its expansion to the UK with ad content now being delivered in Germany and France. In addition, the Amazon Mobile Ads API has been updated to support the Android advertising ID introduced in Google Play Services version 4.0.

New Monetization Opportunities

You can use mobile ads to monetize your apps and games in more ways, now that the Amazon Mobile Ad Network is available in Germany and France. Including those from the UK, Amazon fills ad requests from Europe’s top three advertising countries, as well as the US. A strong eCPM and high-quality ads characterize the Amazon Mobile Ad Network, and these carry over to all supported countries. Amazon sets a high bar for banners, rich media, and interstitials, generally leading to better conversion and higher revenue.

https://design.amazon.com/mockups/ryansam/ads-marketing/aman-eu/AMAN-FR.pnghttps://design.amazon.com/mockups/ryansam/ads-marketing/aman-eu/AMAN-DE.png

Android Advertising ID by Google

Google recently announced the creation of a new Android advertising ID. Under Google’s updated ad policy, beginning August 1st, all updates and new apps uploaded to the Google Play Store must use this ID for advertising purposes (when available on a device) in lieu of other device identifiers. The Amazon Mobile Ads API provides support for the Android advertising ID, so incorporating it into new projects or transitioning existing apps is straightforward.

Changes to VAT Invoices and Contact Address

Note that effective July 1st, the rights and obligations of our European affiliate, Amazon E.U. S.à.r.l., under the Amazon Mobile Ad Network Publisher Agreement were assigned to a different European affiliate of ours, Amazon Europe Core S.à.r.l. Please ensure that future communications regarding the Amazon Mobile Ad Network are addressed to the following address, and that any VAT invoices relating to the Amazon Mobile Ad Network reflect the proper VAT registration number for Amazon Europe Core S.à.r.l., as noted below:

Amazon Europe Core S.à.r.l.
5 Rue Plaetis, L-2338 Luxembourg, Luxembourg
VAT Registration Number: LU 26375245

Please also make sure you amend EC Sales Lists if you file these. We updated the Publisher Agreement to reflect the change above, effective immediately. For a summary of what’s different, refer to Changes to Mobile Ad Network Publisher Agreement.

Next Steps

To take advantage of this new international expansion and support for Google’s Android advertising ID, you must integrate Amazon Mobile Ads API version 5.4.46 or above into your mobile app or game.

  • If you are new to the Amazon Mobile Ad Network, you can get started by downloading the Amazon Mobile App SDK, which includes the latest version of the Amazon Mobile Ads API.
  • If you are currently using an older version of the Amazon Mobile Ads API, simply recompile with the latest version (5.4.46 or above).
  • If your app or game already uses version 5.4.46 or above of the Amazon Mobile Ads API, you are all set. Ad requests you send will automatically be filled for the US, UK, Germany, or France, as appropriate.

Since Google has specific terms of use and timing requirements around the Android advertising ID, we encourage you to upgrade to Amazon Mobile Ads API version 5.4.46 before Google’s August 1st deadline.

To learn more about the Amazon Mobile Ads API, check out our Developer Portal and blog, which includes topics such as tips on ad mediation and tracking ad events inside your apps.

-peter (@peterdotgames)

 

June 24, 2014

David Isbitski

The Amazon Mobile Ad Network is offering a new incentive for developers to join. Available now, when you send the first ad request from a qualified app* and distribute your app on Fire phone, you will receive a guaranteed $6 CPM on interstitial ads in August and September (up to a maximum of 1 million impressions per app per month). Interstitial impressions served across all supported devices (Android phones and tablets, Kindle Fire tablets, and Fire phones), supported markets (U.S. and U.K. users), and supported stores (Amazon Appstore and other Android stores) qualify for the offer.

Interstitial Ads are full screen ads that use the entire screen of the device. They typically appear in app transitions such as in between game stages. Interstitial ads from the Amazon Mobile Ad Network are high quality when viewed by any phone including the new Fire phone.

How To Qualify

  1. Integrate interstitial ads using the latest Amazon Mobile Ads API into your new app and send the first ad request between June 18th and September 30th, 2014. 
  2. Test your app for Fire phone compatibility and select the Fire phone check box when submitting your binary.  Apps must be Fire phone compatible to qualify for this promotion. Submit your app earlier to maximize the offer period.

The Amazon Mobile Ad Network has helped many developers monetize their app including Jason Stock from Firecracker Software, who shared: “The biggest contribution Amazon provided us in monetizing our apps was through superior eCPM in their Mobile Ads SDK, which performed 215% more than other Ad Networks, and a 77% fill rate in our Word Breaker app. Because of Amazon Mobile Ads, we were able to quit our day job."

Click here to learn more about the Mobile Ads Interstitial CPM Boost offer.

*Existing apps already sending ad requests do not qualify. Apps that integrate the Amazon Mobile Ads API for the first time are eligible for the offer.

 

June 17, 2014

Russell Beattie

The Cordova Push Notifications Plugin is a project that lets hybrid web app developers create apps that respond to custom push notifications from services such as the Apple Push Notification Service (APNS), Google Cloud Messaging (GCM) and most recently Amazon Device Messaging (ADM). This enables hybrid web apps to be notified when an online service has information for it - such as a personal message, sports score or appointment - even if the app is not currently running.

If you're unfamiliar with Amazon Device Messaging, it's a simple, efficient and free messaging service from Amazon that lets developers send push notifications from the cloud to Kindle Fire devices, helping app creators more deeply engage with their customers by keeping them up to date and involved.

You can find the plugin, and complete documentation on the Cordova PushPlugin Github repository, but here are the basics on getting started using the plugin for Amazon Fire OS.

Overview

Macintosh HD:Users:beattier:Desktop:cordova_adm:adm-cordova.png

Amazon Device Messaging works similarly to the other push notification services and has three main parts involved in the process:

  • Your server sends notifications (messages, updates, scores, etc.) to the ADM Servers to be routed to the client apps.
  • ADM Servers queue and route notifications to client apps.
  • Your  app receives the notification on a device.

The Cordova Push Notifications Plugin allows your hybrid web app to use JavaScript to register with the ADM Server and receive notification events when sent from your server.

Please note that ADM only works with Fire OS devices and the Cordova Amazon Fire OS platform target. For more information about setting up a Fire OS Cordova project, please see our earlier blog post,  Building Higher Performance Cordova-based Fire OS Apps By Implementing Amazon WebView Support.

ADM Credentials

In order for your server to send notifications to your app, both the server and app, need to be authenticated/registered with the ADM Server:

  1. Create a sample Cordova app for the Amazon Fire OS platform so you have the app name, package name and the debug build ready.
  2. Create a developer account on the Amazon Developer Portal if you don't already have one
  3. Fill out the New App Submission form and turn Device Messaging switch to ON.
  4. Create Security Profile to obtain ADM credentials for your app.
    Note: For development, you can use the MD5 signature of the debug apk created by Cordova build process found in <project_path>/platforms/amazon-fireos/ant-build.

You will need to make note of the OAuth Credentials (Client ID and Client Secret) to be used on your notifications server and the API Key to be used in your client app. These can be found on the Security Profile Management pages in the areas marked in green below:

Macintosh HD:Users:beattier:Desktop:cordova_adm:credentials.png

Below is a graphic which shows a general overview of the authentication process and how your client app and your server to authenticate and register with the ADM Server:

Macintosh HD:Users:beattier:Desktop:cordova_adm:authentication2.png

Install Push Notifications Plugin

Once you have created an initial Cordova app for the Amazon Fire OS platform, use the standard plugin command from your project directory to install the Push Notifications Plugin.

cordova plugin add https://github.com/phonegap-build/PushPlugin.git

This will download the plugin and install it in your app's project directory. There will be a new folder called <com.phonegap.plugins.PushPlugin> inside your project's plugin directory.  This folder contains: the source files for the plugin, an Example directory that has a sample web app you can use to receive ADM notifications on the client, and a Node.js script you can use to send notifications, simulating what a server would normally do.

Before you can start testing notifications, you will need to follow the steps below to download and install the ADM support libraries and add the proper credentials to your project.

Install Amazon Device Messaging Library

The push notifications plugin needs the support files found in the ADM API. Follow these steps to download the SDK and install the library files in your Cordova project:

  1. Download the Amazon Mobile App SDK and unzip.
  2. Create a folder called ext_libs in <project_path>/platforms/amazon-fireos folder.
  3. Copy amazon-device-messaging-x.x.x.jar into the <project_path>/platforms/amazon-fireos/ext_libs
  4. Create a new text file called ant.properties in the <project_path>/platforms/amazon-fireos folder, and add a java.compiler.classpath entry pointing at the ADM library. For example:
    java.compiler.classpath=./ext_libs/amazon-device-messaging-1.0.1.jar
    
  5. Create a new text file called api_key.txt in the <project_path>/platforms/amazon-fireos/assets folder, and copy the API Key you obtained in the Credentials section above. Note: Be careful not to add any extra spaces to the text file.

Create Sample App

Here's a basic web app that can be used to test receiving notifications on the client. Create new index.html and index.js files in your project's www directory and copy the markup/code below.

The index.html page is simply a container for the messages to be displayed on the device:

index.html:

<!DOCTYPE html>
<html>
<head>
	<title>ADM Test</title>
</head>
<body>
	<h1>ADM Test</h1>
	<pre id="container" style="word-wrap:break-word"></pre>
	<script src="cordova.js"></script>
	<script src="index.js"></script>
</body>
</html>

The index.js script uses the PushPlugin to display notifications received on the client.

index.js:

var container = document.getElementById("container");
var pushNotification;

document.addEventListener("deviceready", handleDeviceReady, true);

function handleDeviceReady(){

    pushNotification = window.plugins.pushNotification;
    pushNotification.register( handleSuccess, handleError, {"ecb":"handleNotification"});

}

function handleNotification(e) {

    log("**** EVENT RECEIVED: " + e.event );

    if(e.event == "registered"){
        if(e.regid.length > 0){
            log("REGISTRATION ID:  <br>" + e.regid);
            log("<a href=\"mailto:?subject=ADM%20Registration%20ID&body=" + encodeURIComponent(e.regid) + "\">Email Registration ID</a>");
        }
    } else if(e.event == "message"){
        if ( e.foreground ) {
            log("FOREGROUND NOTIFICATION");
        } else {
            if ( e.coldstart )  {
                log("COLDSTART NOTIFICATION");
            } else {
                log("BACKGROUND NOTIFICATION");
            }
        }
        log("MESSAGE: " + e.payload.message );
        log("TIME: " + e.payload.timeStamp );
        log("URL: " + e.payload.url );
    } else if(e.event == "error"){
        log("ERROR: " + e.msg );
    }
}

function handleSuccess(result) {
    log("Plugin Success: " + result );
}

function handleError(error) {
    log("Plugin Error: " + error );
}

function log(msg){
    container.innerHTML += msg + "<br>";
    console.log(msg);
}

Notes about the JavaScript:

  • The handleDeviceReady method will use the pushNotification object to register the client with the ADM Server. This requires that the api_key.txt file contains the correct information.
  • The Registration ID that is returned to the client is used by your server to send notifications to the correct device/app combination. The ID is very long, so there's a link to email the ID to yourself to be used in testing.
  • The notification event has a flag to tell your app whether it was in the foreground, background or not started when the notification arrived.
  • The ADM notification event contains a payload object consisting of arbitrary fields populated by your server. In this example, the server will send a message, timestamp and URL, but each app can be different.
  • If there are errors with authentication or other issues such as connectivity problems, the app should log to the screen any error messages sent to your app.

Once you have your client app ready, use Cordova's command line to install the app on your test device (usually using the "cordova run" command). If you have set up everything correctly, the app will start, authenticate with the ADM Server and display the Registration ID unique to your device/app to be used by your notifications server.

Test ADM Notifications

Normally, you will have a dedicated server which sends app notifications via the ADM Server, using the Registration ID to uniquely identify each instance of your app running on a specific device. Your app will be responsible for getting the Registration ID from each registered device to your server.

For testing purposes, we are instead going to use the pushADM.js Node script found in the <project_path>/plugins/com.phonegap.plugins.PushPlugin/Example/server folder. This script acts in place of your server, authenticating with Amazon and then pushing notifications to the ADM Servers to be delivered to your app. (Node is a prerequisite for Cordova, so you should already have it installed on your system.)

Before we can use the script, we need to add in your OAuth Credentials and Registration ID. Here is a snippet from the top part of the test script that you will be editing:

pushADM.js:

// Client ID and Client Secret received from ADM portal
var CLIENT_ID = ""; 
var CLIENT_SECRET = "";

// Registration ID, received on device after it registers with ADM server
var REGISTRATION_IDS = [""];

// Message payload to be sent to client
var payload = {
        data: {
            message: "PushPlugin works!!",
            url: "http://www.amazon.com",
            timeStamp: new Date().toISOString()
        },
        consolidationKey: "my app",
        expiresAfter: 3600
};
...

Edit the pushADM.js script :

  1. Copy the OAuth credentials - Client ID and Client Secret - you obtained in the Credentials section above into the CLIENT_ID and CLIENT_SECRET variables.
  2. Copy one or more Registration IDs from a registered app into the REGISTRATION_IDS array. Note: You can fill this var with IDs from multiple devices for testing. Using the sample app above, you can email the Registration ID to yourself and then copy/paste it into the test script.
  3. Optionally edit the payload object with custom values to be sent to your app.

Run the pushADM.js script from a command line using Node:

node pushADM.js

The result on the command line should be a series of log messages which shows the script authenticating with the ADM Server and then sending a message. The app running on your Kindle Fire should then instantly show the message if it is in the foreground, or add a notification alert to the top bar if it is in the background or not running. You can run this script as many times as you need to test your app.

Here is what the of the sample web app above looks like after receiving a notification:

Macintosh HD:Users:beattier:Desktop:cordova_adm:Screenshot_2014-05-28-14-17-15.png

Summary

The steps above should give you a good start towards implementing ADM push notifications into your app. Once you have your app working, it will be very easy to customize the notification payload as you need to create compelling new apps and services for your customers.

If you have trouble, please make sure to check out the links below for information and support:

Good luck!

-Russ

 

 

June 13, 2014

Paul Cutsinger

Today our guest blogger is Asaf Barzilay, VP of products from Extreme Reality (www.xtr3d.com). They build the Extreme Motion SDK that enables developers to incorporate motion control into their apps. They’ve also released Pandamania, a dancing game that uses this technology. In this post, Asaf talks about the importance of sound, their experience integrating the Dolby Audio API into their platform, and how easy it was to port this experience to Kindle Fire tablets.

About Extreme Reality

Extreme Reality enables people to interact with computing devices through their body motion, without touch, using only a 2D camera. We are the only company to provide full-body, software-based, motion analysis and control for any computing device or operating system that supports a standard camera. The Extreme Motion SDK enables developers to create a wide range of experiences (applications, games, security solutions and more) that break the physical barriers of current hardware-based technologies.  Our technology works seamlessly with nearly all consumer electronics and on most operating systems: Windows, iOS and Android.

Patented worldwide, Extreme Motion is already in use by game developers for various operating systems and devices, from AAA publishers to indie developers.

Kindle Fire: An Immersive Game Machine

Pandamania is a dance game based on Extreme Motion SDK, which is an image-processing engine that recognizes the player’s skeleton in real time, using the device's integrated camera. The player imitates the panda dance moves, and the more accurate the imitation, the more points earned. At first, Pandamania was intended to be a simple example app to showcase accuracy, durability and potential.

The first thing we noticed about this fun, fast paced dance game is that people instantly connected with the panda; they just loved the animation and effects. The music was appealing but not a major part of the game’s allure.

Prior to Kindle Fire, Pandamania had been ported on most operating systems, such as Windows, iOS and Android. Making the game available on Kindle Fire seemed like the obvious next step as Kindle Fire is one of the 3 leading devices in the tablet category worldwide.

The implementation was simple, since Kindle Fire is an Android based device. Within two days we arranged the overall look and resolution. Then, we looked for a tool that would create a unique advantage for the game on the Amazon Appstore. We discovered Dolby Audio API, a brilliant way to enhance the music aspect of the game.

Enhancing the Sound Factor

The Dolby Audio API for Android provided a significantly noticeable improvement to the background music and game sounds. As the player needs to stand ~6 feet away from the device for the camera to see his body, a good quality sound is a crucial element for a more immersive and fun experience.

We used Unity3d as the development platform for the game, as it is cross platform and easy to work with. Both APIs (Extreme Motion SDK and the Dolby Audio API) are easy to use plugins which do all the heavy-lifting behind the scenes and provide a simple external API for the game developer, allowing him to enable gesture-recognition, and different sound profile enhancements with just a few rows of code, and no need to write any native device code.

"The integration of Dolby Audio API with the Unity3d based game "Pandamania" was simple and intuitive. As this is a dancing game, the quality of the music and sounds was a very important.  By using the Dolby Audio API, the quality of the sound was considerably enhanced, leading to a far better gaming experience"
 - Assaf Lehr, Product Manager, Extreme Reality 

“Extreme Reality’s technology is an impressive offering, bringing full arcade gameplay to the Kindle Fire HD and HDX.  The impressive motion tracking capabilities of Pandamania convert the Kindle Fire HDX into an immersive game machine. By using the Dolby Audio API for Android to drive full, distinct sound to players 6 feet away, Pandamania allows users to concentrate on physical as well as the audio elements of the game.”
Andy Vaughan, Developer Relations Manager, Dolby

Try Extreme Reality and Dolby Audio in Your App

Thanks to Asaf and the team at Extreme Reality. They’re building some fun apps and a platform that enables some really engaging experiences.

Give it a try and see how you could enhance your apps. Let me know if you submit an app using Extreme Reality or Dolby Audio.

You can learn more about the technologies covered in this blog post in the following links:

- Paul

@PaulCutsinger

 

Recent Posts


Archive