Skip to content

Freestar Ads Mediation Xamarin Android

kevin kawai edited this page Jun 23, 2022 · 16 revisions

Freestar Ads Mediation provides support for Xamarin Android in C# by providing the necessary NuGet packages.

Supported Ad Partners

Note: More partners are being added, check sample app (below)
Ad Provider SDK Version Ad Unit Types
Admob 20.6.0 Fullscreen Interstitial & Rewarded, Banner 300x250, Banner 320x50
Google Ads Manager 20.6.0 Fullscreen Interstitial & Rewarded, Banner 300x250, Banner 320x50
Nimbus 1.11.0 Fullscreen Interstitial & Rewarded, Banner 300x250, Banner 320x50
TAM (Amazon) 9.2.1 Fullscreen Interstitial, Banner 300x250, Banner 320x50
Yahoo (Verizon) 1.14.0 Banner 300x250, Banner 320x50

Getting Started

Start displaying Freestar Ads in your Xamarin app today by following the simple steps below.

Requirements

• Before we begin, you must have a working Xamarin app running on an Android device. This document will not show how to create a Xamarin app for Android as that would be beyond the scope of Freestar Ads Mediation.

• Your Xamarin app must target MonoAndroid 12.0 or higher (Android API Level 31).

• Recommend Minimum Android API Level 21

NuGet Dependencies

In Visual Studio, INSTALL the following NuGet packages:
Xamarin.Android.FreestarAds
Xamarin.Android.FreestarAdmobAdapter
Xamarin.Android.FreestarGamAdapter
Xamarin.Android.FreestarNimbusAdapter
Xamarin.Android.FreestarTamAdapter
Xamarin.Android.FreestarGamAdapter
Xamarin.Android.FreestarYahooAdapter
Xamarin.Android.JetBrains.KotlinX_Serialization_Json
Xamarin.AndroidX.Activity
Xamarin.AndroidX.AppCompat
Xamarin.AndroidX.Arch.Core.Common
Xamarin.AndroidX.ConstraintLayout
Xamarin.AndroidX.Lifecycle.Runtime
Xamarin.AndroidX.Migration
Xamarin.AndroidX.MultiDex
Xamarin.Essentials
Xamarin.GooglePlayServices.Ads
Xamarin.Kotlin.StdLib.Jdk8
Xamarin.KotlinX.Coroutines.Android
XamarinLibrary.Xamarin.Android.Squareup.Okhttp3.OkHttp
Square.OkIO

AndroidManifest.xml

Please add the following meta-data tags to the Application tag of the AndroidManifest.xml

    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-3940256099942544~3347511713"/>

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

Freestar Initialization

In the onCreate of your starting Activity:

FreeStarAds.EnableTestAds(true);  //set 'false' for production
FreeStarAds.Init( [YOUR PARENT ACTIVITY], "XqjhRR"); //Use our test key

Interstitial Ads

How to display full screen Interstitial ads:

First, implement the IInterstitialAdListener interface.

Note: How to implement an interface in C# is beyond the scope of this document.
InterstitialAd interstitialAd = new InterstitialAd( [YOUR Parent Activity] , [YOUR IInterstitialAdListener] );

AdRequest adRequest = new AdRequest( [YOUR Parent Activity] );

interstitialAd.LoadAd(adRequest);  //Note: you may pass an optional "placement" string as 2nd parameter if you wish.

When you receive OnInterstitialLoaded from your IInterstitialAdListener, you may show the ad:

interstitialAd.Show();

Rewarded Ads

How to display full screen Rewarded ads:

First, implement the IRewardedAdListener interface.

Note: How to implement an interface in C# is beyond the scope of this document.
RewardedAd rewardedAd = new RewardedAd ( [YOUR Parent Activity] , [YOUR IRewardedAdListener] );

AdRequest adRequest = new AdRequest( [YOUR Parent Activity] );

rewardedAd.LoadAd(adRequest);  //Note: you may pass an optional "placement" string as 2nd parameter if you wish.

When you receive OnRewardedVideoLoaded from your IRewardedAdListener, you may show the ad:

/*
  Secret:  Any arbitrary string you want to identify the reward by. e.g. "12345678".  Cannot be blank.
  User Name:  Can be the username of the user trying to obtain the reward; may be blank or null.
  Coin:  The name of the type of reward. e.g. gold coin;  may be blank or null.
  30:  The amount of the reward in string.  may be blank or null.
*/
rewardedAd.ShowRewardAd("mysecret", "MyUsername", "Gold Coins", "30");

Banner Ads

How to display Banner ads:

AdRequest adRequest = new AdRequest( [YOUR Parent Activity] );
BannerAd bannerAd = new BannerAd( [YOUR PARENT ACTIVITY] );
bannerAd.AdSize = AdSize.Banner32050;  //For MREC size, use AdSize.MediumRectangle300250
bannerAd.SetBannerAdListener( [YOUR IBannerAdListener] );
bannerAd.LoadAd(adRequest); //Note: you may pass an optional "placement" string as 2nd parameter if you wish.

Next, you will receive OnBannerAdLoaded of your IBannerAdListener. Here is an example implementation:

public void OnBannerAdLoaded(View bannerAdView, string placement)
{
    BannerAd ad = (BannerAd)bannerAdView;
    if (ad.AdSize == AdSize.Banner32050)
    {
        YOUR_AdContainer.RemoveAllViews();
        YOUR_AdContainer.AddView(bannerAdView); //FreeStar ad will be displayed now
    }
}

Sample Reference App

Please see the Xamarin_Android_Sample subfolder under this repo

Open using Microsoft Visual Studio