Jump to: navigation, search

AdMob Rewarded Video Adapter

FusePowered joins the Upsight Family!
Together we become the mobile industry’s most comprehensive user lifecycle management platform to maximize LTV.
Read More About The Acquisition

Acquisition.png

Integrating the AdMob Rewarded Video Adapter

NoteBubble.png

Important: Please test your integration on a device. Fuse ads will ONLY work on a device, and not in a simulator.

Dashboard Setup

Fuse Dashboard
1. Log in at https://dashboard.fusepowered.com. If you don't have an account, you can request one from the dashboard and a Customer Success Manager will set it up for you.

Request-account.png

2. Create a new app by clicking the "ADD AN APP" button (on the main dashboard page)

Admob add app.png

3. Enter the details about your app and click SAVE

Admob add app button.png

4. Your app will now be granted an APP ID. You'll use this APP ID when adding a new network in the AdMob dashboard.

Admob app id.png

5. Navigate to the "Assets" tab of the "Configure" page for your new app. Click on "Items and Currencies", and add the items and/or currencies that you want to use as a reward.

Admob add items button.png Admob add items.png

6. Navigate to the Zones section of the Fuse dashboard, and create a new zone. Once created, your zone will be given a Zone ID. You'll use this Zone ID for the new network in the AdMob dashboard.

Admob zone setup.png

7. Create a new Rewarded Video content block.

Admob add content button.png Admob add content.png

8. Set up the target for the Rewarded Video content. Use the item / currency you created (step 5) in your target. Save the target.

Admob add target.png Admob target info.png

9. Navigate back to your Rewarded Zone, and add the new Rewarded Video content block to your zone stack.

Admob add content to zone.png

10. Drag the Rewarded Video content block to the top of the list (above "Non-Rewarded Ads"). Click the toggle to disable the Non-Rewarded Ads content (only rewarded video will be served for this zone).

Admob zone content.png

You're zone list should look like this:

Admob zone list.png

You're now ready to use your APP ID and Zone ID to set up AdRally in the AdMob dashboard. Please note that test ads will be delivered until you request live ads for your app.

Requesting Live Ads

When you are ready to begin serving live ads, you can set your app to request live ads and apply any blacklist requirements you have. This will send a request to the Fuse Ad Operations team who will immediately begin the process of converting your app to receive live ads. You will be notified by email when the process is complete. Note that requests are typically processed within 48 hours.

1. Navigate to the "Configure" page for your app.

2. Navigate to the "Ad Settings" tab, and click the "Request Live Ads" button.

Admob request live ads.png

3. Complete the live ads request form by adding your blacklist and app category information.

Admob live ads form.png

You will be notified by the Fuse Ad Operations team once the request has been processed, at which point you will see live ads appear in your app.

Android Integration

Download

The Fuse SDK library that includes the AdMob Rewarded Video adapter can be downloaded here

Importing

The Fuse API contains these files:

  - Code/FuseSDK.jar

Once you have downloaded the files you need to import the files into your Eclipse Project File. First, add FuseSDK.jar as a library to the build path of the project. To do this in Eclipse:

1) Right Click the project/libs folder and select Import... from the dropdown menu

AndroidImport1.png

2) Select General > File System from the Import dialog box and press Next

AndroidImport2.png

3) Browse to the FuseSDK/Code folder

AndroidImport3.png

4) Check FuseSDK.jar and click on Finish

AndroidImport4.png

The .jar file should now be imported to your project.

Next we need to add it to the Build path libraries.

1) Right click on the project and select Build Path > Configure Build Path from the dropdown menu

AndroidImport5.png

2) In the dialog box that opens You are already in the Java Build Path page, click on the Libraries Tab

AndroidImport6.png

3) Click on the Add JARs... button and select the FuseSDK.jar file that you imported to your project and click ok.

AndroidImport7.png

4) The JAR file will be added to the library list. Press OK to close the dialog.

AndroidImport8.png

When this is complete you can import FuseAPI classes.

Manifest

NoteBubble.png

The minimum supported target is API level 11

Fuse activities must be configured in the AndroidManifest.xml file. Add these activities under your application Tag.

    <meta-data 
        android:name="com.google.android.gms.version" 
        android:value="@integer/google_play_services_version" />

  
        <activity
            android:name="com.fusepowered.m2.mobileads.M2Activity"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity
            android:name="com.fusepowered.m2.mobileads.M2RActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity
            android:name="com.fusepowered.m2.common.M2Browser"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity
            android:name="com.fusepowered.m2.mobileads.M2RvpActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity
            android:name="com.fusepowered.m1.android.MMActivity"
            android:configChanges="keyboardHidden|orientation|keyboard"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity
            android:name="com.fusepowered.m1.android.VideoPlayer"
            android:configChanges="keyboardHidden|orientation|keyboard" />
        <activity
            android:name="com.fusepowered.u1.U1InterstitialActivity"
            android:configChanges="keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize"
            android:hardwareAccelerated="true"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.ads.adapters.FuseInterstitialActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:noHistory="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.l1.AdActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:hardwareAccelerated="true" />
        <activity
            android:name="com.fusepowered.l1.AdBrowserActivity" />
        <activity
            android:name="com.fusepowered.l1.PlayerActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:hardwareAccelerated="true" />
        <activity
            android:name="com.fusepowered.ac.ACOActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.ac.ACFActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.ac.ACBActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.ads.adapters.LRActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.ads.adapters.MRaidActivity"
            android:hardwareAccelerated="true"
            android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:windowSoftInputMode="adjustResize" />
        <activity
            android:name="com.fusepowered.ads.adapters.MRaidVideoActivity"
            android:hardwareAccelerated="true"
            android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|screenSize"
            android:theme="@android:style/Theme.Black.NoTitleBar"
            android:windowSoftInputMode="adjustResize" />
        <activity
            android:name="com.fusepowered.sa.android.publish.list3d.List3DActivity"
            android:theme="@android:style/Theme" />
        <activity
            android:name="com.fusepowered.sa.android.publish.AppWallActivity"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
            android:configChanges="orientation|keyboardHidden|screenSize" />
        <activity
            android:name="com.fusepowered.as.view.ASVastInterstitialActivity"
            android:theme="@android:style/Theme.Translucent"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
        <activity
            android:name="com.fusepowered.as.view.ASWebviewInterstitialActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
        <activity
            android:exported="false" android:name="com.fusepowered.ap.MainActivity"
            android:configChanges="orientation|screenSize"
            android:theme="@android:style/Theme.Translucent" />
        <activity
            android:name="com.fusepowered.ap.BrowserActivity"
            android:configChanges="orientation|screenSize" />
        <activity
            android:name="com.fusepowered.ap.VDActivity"
            android:configChanges="orientation|screenSize" android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.fusepowered.al.adview.ALInterstitialActivity"/>
        <activity android:name="com.fusepowered.al.adview.ALConfirmationActivity"/>
        <activity
            android:name="com.fusepowered.ads.adapters.ALActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.im.androidsdk.IMBrowserActivity"
            android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:hardwareAccelerated="true" />  
        <activity
            android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent" />
        <activity
            android:name="com.fusepowered.nx.monetization.activities.InterstitialActivity"
            android:configChanges="orientation|screenSize"
            android:hardwareAccelerated="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.fusepowered.nx.videoplayer.VideoActivity"
            android:configChanges="orientation|screenSize" />
        <activity
            android:name="com.fusepowered.vast.activity.VASTActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:screenOrientation="sensorLandscape" />
        <activity
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
            android:name="com.apptracker.android.module.AppModuleActivity"
            android:hardwareAccelerated="false" />

Other Configuration Changes

The following permissions are needed to be able to use the Fuse SDK. They should be added to the AndroidManifest.xml file if they are not already there.

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

The following permissions are optional but can greatly improve ad performance.

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />


NoteBubble.png

You must also add Google Play Services and the Android v4 support library to your project as an Android library project dependency. You can reference the Google Play Services guide and the Android v4 support library guide for help on this.

Important Note

Please note that the following methods are not supported in all cases:

  • onAdClicked
  • onAdLeftApplication


iOS Integration

NoteBubble.png

Important: Please test your integration on a device. Fuse ads will ONLY work on a device, and not in a simulator.

Downloading the SDK

The Fuse SDK library that includes the AdMob Rewarded Video adapter can be downloaded here.

Importing

After downloading, import the Fuse SDK into your project. Right Click YourProject > Add Files to "YourProject".

Import1.png


Next browse to the location where you have uncompressed the SDK and select FuseSDK, on the same dialog, choose "Create groups". Now click "Add".

If your project targets both iPhone and iPad, be sure the library is included in both targets when adding it.

Required Frameworks

The Fuse SDK requires these frameworks to be included:

  1. AdSupport.framework
  2. CoreGraphics.framework
  3. CoreLocation.framework
  4. CoreMedia.framework
  5. Foundation.framework
  6. libsqlite3.dylib
  7. libxml2.dylib
  8. libz.dylib
  9. MediaPlayer.framework
  10. MessageUI.framework
  11. MobileCoreServices.framework
  12. StoreKit.framework
  13. SystemConfiguration.framework
  14. UIKit.framework

In order to include an existing framework, navigate to the target properties of your build. Select 'Build Phases', then expand 'Link Binary with Libraries' and press the '+' to add an item.
On the pop-up screen, select the frameworks to be added.

NoteBubble.png

Important: If you would like to support iOS 6, you need to make Foundation.framework optional (weak link)
LinkerFlags.png

Linker Flags

You will also need to add the "-ObjC" flag to your "Linker Flags" section . To accomplish this, view your target properties and choose 'Build Settings'. Select the "Build" tab and find the "Other Linker Flags" entry in the "Linking" section. Be sure that the "Configuration" drop down box is set to "All Configurations". Add "-ObjC" to the settings.

Once these steps have been completed you can begin feature integration.

Important Note

Please note that the following methods are not supported in all cases:

  • adapterDidGetAdClick
  • adapterWillLeaveApplication