fc2ブログ

記事一覧

忍者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からご覧になれます。
https://itblog.dynaspo.com/blog-entry-81.html


関連記事

コメント

コメントの投稿

※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。

 入力されていないコメントには返信しませんのであらかじめご了承くださいませ。

※ニックネームでも良いので必ずご入力ください。

    

※必ずご入力ください。

    
    

※必ずご入力ください。

※技術的な質問には環境やエラーについて正確かつ詳細にお教えください。

・正確なエラーの内容

・Windowsのバージョン番号

・Visual Studioのバージョン

・機器の型番

・アプリやソフトのバージョン

    

カテゴリ別記事一覧

広告

プロフィール

石河 純


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

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Catalina 10.15 / Mojave 10.14 / High Sierra 10.13 / Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
【データベース】
Oracle 10g/9i
SQLServer 2016/2008R2/2005/2000
SQLAnywhere 16/11/8
【BI/レポートツール】
Cognos ReportNet (IBM)
Microsoft PowerBI
ActiveReport (GrapeCity)
CrystalReport
【OCX関連】
GrapeCity InputMan SPREAD MultiRow GridView
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS jQuery IIS6/7 apache2

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