Merci de votre visite. Cette page est disponible en anglais uniquement.
Appstore Blogs

Appstore Blogs

Want the latest?

appstore topics

Recent Posts

Archive

Showing posts tagged with Interstitial Ads

June 04, 2014

David Isbitski

Gordon Edwards, the creator behind the Scanner Radio app, started serving banner ads in 2010 and was working with several ad networks by 2013. The app provides live audio from over 3000 police, fire scanners, weather radios, as well as amateur radios. The app has over 800 reviews on the Amazon Appstore. Recently we had the privilege to sit down with Gordon to discuss how his app was performing and how he leveraged Amazon’s Mobile Ads API to generate revenue.

Figure 1- Banner Ad

$1.00 eCPM from Amazon Banner Ads

Generating revenue has always been a challenge for developers. With Gordon’s background in ads, integrating ads into his app seemed an obvious solution. But the primary reason why Gordon went with Amazon was that he thought the “quality of ads served would be better than those from other ad networks”.  In short time, Gordon saw an earnings lift of 39% and it only took him less than a day to integrate.

“I see very consistent and high eCPMs from Amazon, as well as very high quality ads” says Edwards. The eCPM from Amazon was consistently around $1.00 which meant he didn’t have to monitor the earnings closely. This allowed him to focus on developing the app and creating a better experience for his users. He was pleasantly surprised to see the strong eCPM continue in Q1 when earnings dipped on other ad networks. His users were also happy to see the high quality ads from Amazon in their favorite app.

43% Earnings Lift from Interstitial Ads

Something that Gordon was not familiar with however, was interstitial ads. Gordon mentions that “I've never displayed interstitial ads in his app until now, but decided to display them from Amazon since he knew the ad quality would be high”. Gordon created a new interstitial ad slot when Amazon reached out about testing the ad format.  Since then, his earnings increased another 43% from the additional ad slot. Gordon mentioned that he has since tried interstitial ads from other ad networks when Amazon ads were unavailable, but none provided the quality he was looking for. Now, he is working solely with Amazon.

      

Figure 2- Interstitial Ad

Try Amazon Ads!

Gordon encourages developers to try the Amazon Mobile Ads API. “Definitely try the Amazon Mobile Ad Network if you’re looking for a high paying and high quality ad solution.”

Click here to get started with the Amazon Mobile Ad Network.

*Performance may vary

 

May 28, 2014

David Isbitski

Steve Boymel from Farlex is the creator of the Dictionary app “Dictionary.” Based out of Pennsylvania, the app already has over 1,300 reviews on the Amazon Appstore. The app delivers a comprehensive dictionary that is available in over 14 different languages including English, Spanish, and French.

Testing Mobile Ads on Amazon Appstore

One of Steve’s challenges after creating the app “Dictionary”, was to generate revenue. “After looking at the existing landscape, I felt that Amazon had a great offering,” says Steve, which is why he decided to test the Amazon Mobile Ads API in his Amazon Appstore app. This was Steve’s first time integrating the Mobile Ads API into any of his apps, but he had confidence that the Amazon Mobile Ad Network would monetize well. In the first few weeks Steve saw a $0.70 eCPM, which was much higher than he expected.

Figure 1Example of Ads

Success Brings Expansion into Google Play

With the success that the Amazon Mobile Ads API brought to Steve’s app in the Amazon Appstore, he decided to bring it to Google Play as well since he satisfied the Amazon Appstore distribution requirement.

Integrating the Amazon Mobile Ads API into his Google Play apps was easy. He has one code base for all Android apps so it was just a matter of re-packaging his Google Play binary.  

Steve says “the time was well spent since his earnings from his Google Play apps are just as strong as his Amazon Appstore apps.” After a few optimizations, his eCPM increased to $1.20 for his Google Play apps and $1.75 from Amazon Appstore apps.

$1.36 eCPM for UK Banner Ads

When we called Steve with an opportunity to monetize his UK traffic as a beta tester, Steve jumped at the opportunity. After all, he was not serving any ads to his UK users so any earning would be incremental. All he had to do was swap out his Amazon Mobile Ads API jar file.  So how did the banner ads perform?

“Amazon always exceeds my expectation. $1.36 eCPM for UK banner ads is unheard of!”* Steve Boymel

Click here to get started.

*Performance may vary

May 27, 2014

Chengluo

Ad revenue is all about a balance between generating the most impressions and earning the highest eCPM. The more impressions you’re able to generate at a higher eCPM, the better your return on your investment.

Recently, we announced support for full screen interstitial ads on the Amazon Mobile Ads Network for both Kindle Fire devices and other Android devices. Developers are integrating interstitial ads because they generate more revenue than other ad types according to the report from AppFlood. According to a recent interview with the creator of Scanner Radio, he increased his ad revenue by 43%, just by adding Amazon interstitial ads to his app (your results may vary). In terms of getting higher eCPM, we also heard developers telling us they get high eCPM when they put Amazon Mobile Ads at the first slot for their ad requests.

“With Amazon Mobile Ads in the first slot, our eCPM went up 216%!” - Jason Stock, CEO Firecracker Software

Amazon interstitial ads give you not only the opportunities to increase your ad revenue, but also help you to optimize the user experience with well designed high quality ads that work well within your application experience.

In this blog, we’ll show you how to add interstitial ads into your own apps and games with a few simple steps.

Setting up your environment

If you’ve already used the Amazon Mobile Ads API in your apps before, you can skip this step and jump right into the Implementing interstitial ads step.

To start with, download the Amazon Mobile Ads API from here, and import the amazon-ads-5.3.22.jar file from [Your Download folder]/Apps-SDK/Android/Ads/lib into your project. 

If you are using the Eclipse IDE, you can add the jar file by selecting the Build Path dialog from the project properties, and select the Add External JARs from the Libraries tab.

If you are using the Android Studio, you just need to copy the jar file into your project library folder, e.g. SampleProject/libs/. After you copied the jar file, from the Android Studio, right click the jar file, and select Add as library from the menu. For the Android Studio, you will need to update the Gradle script to include the jar in your build as well. To do that, add following line to the dependences section in your build.gradle file.

compile files('libs/amazon-ads-5.3.22.jar')

Now that you have the necessary jar file for your project, you’ll need to add the AdActivity and give certain permissions in your manifest file to use the Amazon Mobile Ads API. For more details, you can refer to the Quick Start Guide for help.

Implementing interstitial ads

The first thing you’ll need to do is to obtain an Application Key. This allows Amazon to track your impressions and clicks and associate them with your developer account so that you can review your ads’ performance from the reporting tool.  If you do not already have an Application Key for this app, you must obtain one by visiting https://developer.amazon.com/ads and following the steps in the Getting Started section. Once this is done, you can use the following code to register your Application Key:

        try {

            AdRegistration.setAppKey(APP_KEY); //replace with your own key

        } catch (final IllegalArgumentException e) {

            Log.e(LOG_TAG, "IllegalArgumentException thrown: " + e.toString());

            return;
        }

Next you need to think about when would be the best time to display your interstitial ads. Many apps show interstitial ads when a user quits the game or when the user is between levels in a game. Apps can also display interstitial ads when the game is paused. In this example, we are using two buttons to indicate when to load a new ad, and when the ad is ready to show.   

public class LoadNextLevel extends Activity {

    private static final String APP_KEY = "sample-app-key"; // Sample Application Key. Replace this value with your Application Key.

    private InterstitialAd interstitialAd;

    private Button loadButton;

    private Button showButton;

    @Override

    public void onCreate(final Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_load_next_level);


        try {

            AdRegistration.setAppKey(APP_KEY); //replace with your own key

        } catch (final IllegalArgumentException e) {

            Log.e(LOG_TAG, "IllegalArgumentException thrown: " + e.toString());

            return;

        }

   AdRegistration.enableTesting(true);

        this.interstitialAd = new InterstitialAd(this);

        this.interstitialAd.setListener(new SampleAdListener());

}

You noticed we set an ad listener for the interstitialAd instance called SampleAdListener. This is the listener class you have to create to get notified when an interstitial ad loaded, failed to load or was dismissed.

Here is the code to implement the SampleAdListener class:

class SampleAdListener extends DefaultAdListener

    {

        /**

         * This event is called once an ad loads successfully.

         */

        @Override

        public void onAdLoaded(final Ad ad, final AdProperties adProperties) {

            Log.i(LOG_TAG, adProperties.getAdType().toString() + " ad loaded successfully.");


            // Once an interstitial ad has been loaded, it can then be shown.

            LoadNextLevel.this.showButton.setEnabled(true);

        }

        /**

         * This event is called if an ad fails to load.

         */

        @Override

        public void onAdFailedToLoad(final Ad view, final AdError error) {

            Log.w(LOG_TAG, "Ad failed to load. Code: " + error.getCode() + ", Message: " + error.getMessage());


            // A new load action may be attempted once the previous one has returned a failure callback.

            LoadNextLevel.this.loadButton.setEnabled(true);

        }

        /**

         * This event is called when an interstitial ad has been dismissed by the user.

         */

        @Override

        public void onAdDismissed(final Ad ad) {

            Log.i(LOG_TAG, "Ad has been dismissed by the user.");



            // Once the shown ad is dismissed, its lifecycle is complete and a new ad can be loaded.

            LoadNextLevel.this.loadButton.setEnabled(true);

        }

    }

Our SampleAdListener class extends the DefaultAdListener interface, which is the listener also used by banner ads. It’s recommended to extend the DefaultAdListener instead of implementing AdListener to safeguard against having to update your code if any additional APIs are added to AdListener in the future.

We override three callbacks from the DefaultAdListener interface: onAdLoaded(), onAdFailedToLoad() and onAdDismissed(). Let’s look at each of the callbacks in more detail.  

 onAdLoaded() is immediately called each time an ad is successfully loaded. But you don’t have to display the ad right after it’s loaded. You can choose to display the ad in a transition point as we mentioned above. In our example, we enable the “Show Ad” button to indicate the ad is ready to show. In your games or apps, you can also use a flag (e.g. set isAdReadyToShow = true) to indicate the ad is ready to show. When you want to show the interstitial ad, you can check the flag to tell whether the ad is ready. Loading the ad ahead of time and then waiting to show it until arriving at the app’s transition point, will result in the best customer experience because the ad will appear on the screen much faster.

onAdFailedToLoad() is called whenever the retrieval of an ad fails. From this callback, you can tell why your ad failed to load. An ad can fail to load for many reasons. We categorize them into two groups: transient and non-transient errors.  A transient error could be, for example, caused by a poor network connection or an ad server internal error.  If transient errors occur, you can retry the loadAd() call when the network becomes available or after a thirty-second timeout. A non-transient error could be, for example, that there is something wrong with your ad request. It’s recommended to investigate non-transient errors before you retry the loadAd() call.  In our sample, we enable the “Load Ad” button when the ad fails to load, so that you can reload a new ad. Similar logic you could try in your app is to set the flag (e.g. set isAdReadyToShow = false) to false to indicate the ad is not ready to display, and retry the loadAd()call at the next transition point.

onAdDismissed() is called when customers click the close button of the interstitial ad. It’s important to remember only one interstitial ad can be shown at a time. The previous ad has to be dismissed before a new ad can be shown. In our example, you re-enable the “Load Ad” button after the ad is dismissed in order to load a new ad.

Testing your ads

Testing your interstitial ads is simple. You enable the testing mode by calling the following line of code in your app:

AdRegistration.enableTesting(true);

During your integration, the server will block your ad requests if you forget to flag requests as tests. You will get error messages, such as NO_FILL or INTERNAL_ERROR from the server. But be sure to set it back to

AdRegistration.enableTesting(false)

before you publish your app in the store.

After updating your code to render ads, you will see the nicely designed full screen interstitial ads shown as the examples below:

    

To learn more about the Amazon Mobile Ads API, visit here. Some resources to check out are:

@chengluo

 

May 07, 2014

David Isbitski

The Amazon Mobile Ads API now offers more ways to help you monetize your mobile apps and games. Starting today, we will display ads to customers in the United Kingdom, and in the coming months, we will add support for Germany. On top of that, we are launching full screen interstitial ads across the Mobile Ad Network.

Enabling Europe Ad Support in Your Apps

Our expansion into Europe gives developers the opportunity to earn more money from advertising spending in Europe’s top two advertising market segments. The strong eCPM and high quality ads from Amazon will carry over to all supported market segements.

"Amazon always exceeds my expectations. $1.36 eCPM for UK banner ads is unheard of!”* – Steve Boymel, Farlex

To display ads on your app in Europe, here is what to do:

  • If your app is new to the Amazon Mobile Ad Network, simply integrate the latest version of the Amazon Mobile Ads API  included in the Amazon Mobile App SDK to get started.
  • If you have already integrated an older version of the Amazon Mobile Ads API (version 5.1.153 or older), just recompile the latest version of the Amazon Mobile Ads API.
  • If you have already integrated a newer version of the Amazon Mobile Ads API (version 5.1.236 or later), just send ad requests to Amazon and start earning!

Announcing Interstitial Ad Format Support for All Supported Market Segments

Interstitial ads use the entire screen to fully engage users. Industry-wide, interstitial ads generate greater revenue than traditional banner ads.

   

Figure 1- The same Amazon Interstitial Ad in Portrait on Phone and Landscape on a Tablet

We use responsive design when showing interstitial ads to ensure your user experience is not affected. Ads will automatically adjust to the screen size of the device on which your customers are running your app.

We know that every millisecond counts when it comes to the responsiveness of your apps. We preload interstitial ads to minimize the impact on app latency. As the developer, you decide when you want the ad to display (for example, once your user has reached a new level of your game).

“We decided to add interstitial ads from Amazon since the banner ads were outperforming other ad networks. The quality of Amazon’s interstitial ads has exceeded our expectations and our earnings increased 43%!”* - Gordon Edwards

Interstitial ads can be integrated in as little as an hour and offer revenue tracking through the same Amazon developer portal as banner ads. As with banner ads, you can distribute an app that incorporates the Amazon Mobile Ads API through other Android stores as long you distribute it through Amazon.

Integrating Interstitial Ads in Your Apps

To display interstitial ads on your app, integrate the latest version of the Amazon Mobile Ads API. To display ads in Europe, you may not need to do any additional work.  Interstitial ads will then automatically be loaded when the app is first run. You should display them at a transition point in your app (for example, game level transition). The user will always have the option to close the ad.

Let’s take a look at an interstitial ad using the sample app from the unzipped Amazon Mobile Ad API folder located in /Android/Ads/samples/InterstitialAdSample. Running the sample app for the first time you will see a button to show an ad and another button to load a new ad.

Figure 2- Interstitial ad sample app from Amazon Mobile App SDK

Clicking on the Load Ad button will preload a new interstitial ad to cache and then when you click on the Show Ad button it will be displayed.

Figure 3- A high quality Interstitial ad running on a Kindle Fire HDX 7" in landscape mode

Users have the option to close the ad by tapping on the X in the top right. Users can get more information by tapping on the “See more” button. If users tap for more information they will see a new browser window open with the url provided by the ad.

Notice that the ad automatically resizes and fits to the portrait sized screen if you rotate the device.

Figure 4- A high quality Interstitial ad running on a Kindle Fire HDX 7" in portrait mode

Just as you would do for banner ads, you use the Amazon Mobile Ads API to set up interstitial ads. You will need to first register for a free Amazon developer account. Once you do, you will receive an app id that you can use to begin coding. During this time you should set up a tax identity inside the developer console. This way you can continue to code and test your app while the verification process is happening. Once inside your Android development environment, you will need to reference the Amazon Mobile Ads jar file from the SDK and update permissions in your Android app manifest. For a full walkthrough of this process check out the Amazon Mobile Ads API quickstart guide here.

You get the same customization capabilities for interstitial ads as you do for banner ads. This includes setting target values when you are requesting an ad for age, gender, relocation or minimum CPM floor price. For a full list of targeting options check out the developer portal here.

Once you have completed these steps you can start to request ads. Your app will retrieve and display an interstitial ad using an instance of InterstitialAd. To load an ad, call the InterstitialAd.loadAd method, which uses an asynchronous task to request an ad from the Amazon Mobile Ad Network. It is important to note that only one ad can be loaded by a given InterstitialAd object at a given time, and only one interstitial ad can be displayed in your app at a given time.

InterstitialAd.loadAd will return false if a request for a new ad is ignored because of another pending ad request. To check if there is an ad loading, you can call the method InterstitialAd.isLoading. To check if there is an ad showing, you can call the method InterstitialAd.isShowing.

Below is an example of a simplified InterstitialAd.loadAd call placed in the onCreate function of an Activity that loads the next level in a game. The interstitial ad is displayed as soon as it is ready, and the next level is started after the user has dismissed the ad.

Conclusion

The Amazon Mobile Ad Network now offers more ways to help you monetize your mobile apps and games. Interstitial ads provide advertisers with a unique opportunity to engage with your audience in a meaningful way, leading to superior monetization. Adding support for interstitial ads in your apps is simple, and most developers are able to integrate them within an hour. Similarly, showing ads to EU users will allow you to earn more money from your apps with minimal work. Apps using earlier versions of the API need only recompile with the new Amazon Mobile Ads API jar file in their app to see EU ads: no coding changes are required. Apps using later versions of the API require no changes at all.

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

-Dave (@TheDaveDev)

*Your results may vary

 

Want the latest?

appstore topics

Recent Posts

Archive