記事一覧

忍者AdMaxでバナー広告を表示する方法 -Android編- | Xamarin.Forms


今回はXamarin.Androidの開発環境で忍者AdMaxのSDKを使用してバナー広告を表示する方法についてご紹介いたします。
忍者AdMaxは広告会社他社様と提携しており、様々な広告配信ができるパートナー様ですが、広告を表示する為のSDKがXamarinの正式対応をしておらずAndroidのjarファイルのバインドが必要です。なんとか広告が表示できましたのでご紹介したいと思います。
尚、Xamarin.iOSでバナー広告を表示する方法は次の記事「忍者AdMaxでバナー広告を表示する方法 -iOS編-」をご参考ください。


ExplorerDx
xamarin_admax_android_04.png
ContactFriends
xamarin_admax_android_05.png



前提条件
・Windows10 Pro 64Bit
・Visual Studio 2015 Community Update3
・Xamarin 4.3.0.795 (NuGet Xamarin.Forms 2.3.4.247)



1.忍者AdMaxの登録

以下のサイトで登録できます。
http://admax.shinobi.jp/
全て日本語なので登録しやすいですね。

ads_01.png


(1)管理画面左上の「広告枠を追加する」ボタンからスマホアプリ向けの広告枠を登録します。

(2)広告枠の登録
広告枠名:任意
アプリ属性:一般
OS:Android
アプリ名:アプリ名
Bundle ID:com.CompanyName.AppName
Google Play Url:公開しているURL

数分後から広告が有効になります。

(3)SDKをダウンロードします。
https://github.com/ninjatools/admax-android-sdk/archive/master.zip

(4)admax-android-sdk-master.zipファイルを解凍すると
AdMaxSDK-1.1.2.jarというファイルが取得できます。



2.SDKの組み込み方法

(1)Visual Studioでバインドライブラリプロジェクトを作成します。
jarファイルやaarファイルはバインドライブラリのプロジェクトを使用すると簡単にJavaからC#に変換できます。

xamarin_admax_android_06.png 


(2)ソリューションエクスプローラを開き、バインドライブラリ内のJarsフォルダに解凍した「AdMaxSDK-1.1.2.jar」ファイルをドラッグ&ドロップします。

(3)ビルドアクションを 「EmbeddedJar」に変更します。

xamarin_admax_Android_01.png 


(4)BindLibraryプロジェクトをビルドしてAndroidプロジェクトに参照設定します。



3.広告を表示


Androidプロジェクト内ににレンダラーを作成して表示します。
AdBannerクラスはXamarin.Forms.Viewを継承して作成したクラスをPCLのXAMLまたはC#などで画面に配置してください。

AdBannerRenderer.cs
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using Android.Gms.Ads;
[assembly: ExportRenderer(typeof(AdBanner), typeof(AdBannerRenderer))]
namespace AppName.Droid.Renderer
{
    public class AdBannerRenderer : ViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.View> e)
        {
            base.OnElementChanged(e);
            if (Control == null)
            {               
                //AdMax
const string adCode = "01234567890123456789abcdef";
this.ShowAdMaxBanner(adCode);
            }
        }

        /// <summary>
/// AdMaxによる広告を表示する
/// </summary>
/// <param name="adCode">adCode</param>
private void ShowAdMaxBanner(string adCode)
{
//AdMax
bool isTracking = true;
bool isTestMode = false;
#if DEBUG
// テストモード
isTestMode = true;
#endif
JP.Shinobi.Admax.Android.AdView adMaxView =
new JP.Shinobi.Admax.Android.AdView(Xamarin.Forms.Forms.Context,
adCode,
isTracking,
isTestMode);
//表示する広告のサイズを設定する
adMaxView.SetMinimumHeight(AdSize.Banner.Height);
adMaxView.SetMinimumWidth(Xamarin.Forms.Forms.Context.Resources.DisplayMetrics.WidthPixels);

adMaxView.AdFailedRequest += (sender, args) =>
{
base.RemoveView(adMaxView);
};
adMaxView.ReceivedAd += (sender, args) =>
{
//広告が表示できた場合の処理
};
adMaxView.WillStartAdRequest += (sender, args) =>
{
//広告表示を要求した場合の処理
};
base.SetNativeControl(adMaxView);
}
    }
}

※AdCodeは以下のURLから取得できます。
http://admax.shinobi.jp/tag
タグボタンからアドコードの確認ができます。



4.注意点

(1)バインドライブラリを参照設定してもオブジェクトブラウザに名前空間以降が表示されない場合やソースコードでエラーが出る場合はDLLを直接参照設定することで改善される場合があります。





最後までお読みいただきありがとうございます。
当ブログの内容をまとめた Xamarin逆引きメニュー は以下のURLからご覧になれます。
http://itblogdsi.blog.fc2.com/blog-entry-81.html


関連記事

コメント

コメントの投稿

カテゴリ別記事一覧

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語・データベース】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
Oracle10g SQLServer2008R2 SQLAnywhere8/11/16
ActiveReport CrystalReport ReportNet(IBM)
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。