続行する前に、必ずAudience NetworkのスタートガイドとAndroidのスタートガイドすべてに目を通しておいてください。
このガイドを効果的に使うには、ネイティブ広告とネイティブバナー広告の実装に熟知している必要があります。
このメソッドは、Android Audience Network SDKバージョン5.1で追加されました。
バージョン5.3.0
以降では、Audience Network Android SDKの明示的な初期化が必須です。Audience Network Android SDKを初期化する方法については、こちらのドキュメントをご覧ください。
広告オブジェクトを作成したり、広告を読み込んだりする前に、Audience Network SDKを初期化してください。アプリの起動時に初期化することをおすすめします。
public class YourApplication extends Application { ... @Override public void onCreate() { super.onCreate(); // Initialize the Audience Network SDK AudienceNetworkAds.initialize(this); } ... }
Facebook広告SDKをインポートするには、アクティビティクラスの先頭に以下のコードを追加します。
import com.facebook.ads.*;
private NativeAd nativeAd; public class NativeAdActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { ... // Instantiate an NativeAd object. // NOTE: the placement ID will eventually identify this as your App, you can ignore it for // now, while you are testing and replace it later when you have signed up. // While you are using this temporary code you will only get test ads and if you release // your code like this to the Google Play your users will not receive ads (you will get a no fill error). nativeAd = new NativeAd(this, "YOUR_PLACEMENT_ID"); NativeAdListener nativeAdListener = new NativeAdListener() { ... }; // Initiate a request to load an ad. nativeAd.loadAd( nativeAd.buildLoadAdConfig() .withAdListener(nativeAdListener) .withMediaCacheFlag(NativeAdBase.MediaCacheFlag.ALL) .build()); } }
広告の読み込み後にすぐに表示する場合は、AdListener
のonAdLoaded()
メソッド内にカスタムテンプレートをレンダリングし、コンテナに追加します。
private NativeAd nativeAd; ... NativeAdListener nativeAdListener = new NativeAdListener() { ... @Override public void onAdLoaded(Ad ad) { // Render the Native Ad Template View adView = NativeAdView.render(MainActivity.this, nativeAd); LinearLayout nativeAdContainer = (LinearLayout) findViewById(R.id.native_ad_container); // Add the Native Ad View to your ad container. // The recommended dimensions for the ad container are: // Width: 280dp - 500dp // Height: 250dp - 500dp // The template, however, will adapt to the supplied dimensions. nativeAdContainer.addView(adView, new LayoutParams(MATCH_PARENT, 800)); } ... }
広告のloaded
後にすぐに広告を表示しない場合、広告が無効にされたかどうかをチェックするのは、開発者の責任です。広告が正常に読み込まれたなら、その広告は60 mins
有効になります。invalidated
広告を表示している場合、paid
は受け取れません。広告を時間をおいて表示するシナリオのサンプルコードをチェックしてください。
コードを実行すると、次のものが表示されます。
private NativeBannerAd mNativeBannerAd; ... @Override public void onCreate(Bundle savedInstanceState) { ... // Instantiate an NativeBannerAd object. // NOTE: the placement ID will eventually identify this as your App, you can ignore it for // now, while you are testing and replace it later when you have signed up. // While you are using this temporary code you will only get test ads and if you release // your code like this to the Google Play your users will not receive ads (you will get a no fill error). mNativeBannerAd = new NativeBannerAd(this, "YOUR_PLACEMENT_ID"); NativeAdListener nativeAdListener = new NativeAdListener() { ... }; // Initiate a request to load an ad. mNativeBannerAd.loadAd( mNativeBannerAd.buildLoadAdConfig() .withAdListener(nativeAdListener) .build()); } }
広告の読み込み後にすぐに表示する場合は、AdListener
のonAdLoaded()
メソッド内にカスタムテンプレートをレンダリングし、コンテナに追加します。
@Override public void onAdLoaded(Ad ad) { // Render the Native Banner Ad Template View adView = NativeBannerAdView.render(MainActivity.this, mNativeBannerAd, NativeBannerAdView.Type.HEIGHT_100); LinearLayout nativeBannerAdContainer = (LinearLayout) findViewById(R.id.native_banner_ad_container); // Add the Native Banner Ad View to your ad container nativeBannerAdContainer.addView(adView); }
広告のloaded
後にすぐに広告を表示しない場合、広告が無効にされたかどうかをチェックするのは、開発者の責任です。広告が正常に読み込まれたなら、その広告は60 mins
有効になります。invalidated
広告を表示している場合、paid
は受け取れません。広告を時間をおいて表示するシナリオのサンプルコードをチェックしてください。
コードを実行すると、次のものが表示されます。
カスタムネイティブバナー広告フォーマットには3つのテンプレートがあります。
テンプレートビューのタイプ | 高さ | 幅 | 含まれる属性 |
---|---|---|---|
| 50dp | 自由に設定できる幅 | アイコン、タイトル、コンテキスト、CTAボタン |
| 100dp | 自由に設定できる幅 | アイコン、タイトル、コンテキスト、CTAボタン |
| 120dp | 自由に設定できる幅 | アイコン、タイトル、コンテキスト、説明、CTAボタン |
ネイティブのカスタムテンプレートを使用すると、次の要素をカスタマイズできます。
特定の要素をカスタマイズする場合は、アプリのレイアウトやテーマに合わせたデザインにするのがおすすめです。
これらの要素をレンダリングするには、属性オブジェクトを作成し、読み込み済みのネイティブ広告またはネイティブバナー広告を入力する必要があります。
16進色を使用する場合にはColor.parseColor()
を使用します。
NativeAdViewAttributes
オブジェクトをビルドし、NativeAdView.render()
の引数として入力します。
@Override public void onAdLoaded(Ad ad) { // Set the Native Ad attributes NativeAdViewAttributes viewAttributes = new NativeAdViewAttributes() .setBackgroundColor(Color.BLACK) .setTitleTextColor(Color.WHITE) .setDescriptionTextColor(Color.LTGRAY) .setButtonColor(Color.WHITE) .setButtonTextColor(Color.BLACK); View adView = NativeAdView.render(MainActivity.this, nativeAd, viewAttributes); LinearLayout nativeAdContainer = (LinearLayout) findViewById(R.id.native_ad_container); // Add the Native Ad View to your ad container nativeAdContainer.addView(adView, new LayoutParams(MATCH_PARENT, 800)); }
上記のコードによって次のような広告がレンダリングされます。
NativeAdViewAttributes
オブジェクトをビルドし、NativeBannerAdView.render()
の引数として入力します。
@Override public void onAdLoaded(Ad ad) { // Set the NativeAd attributes NativeAdViewAttributes viewAttributes = new NativeAdViewAttributes() .setBackgroundColor(Color.BLACK) .setTitleTextColor(Color.WHITE) .setDescriptionTextColor(Color.LTGRAY) .setButtonColor(Color.WHITE) .setButtonTextColor(Color.BLACK); View adView = NativeBannerAdView.render(MainActivity.this, nativeAd, NativeBannerAdView.Type.HEIGHT_100, viewAttributes); LinearLayout nativeBannerAdContainer = (LinearLayout) findViewById(R.id.native_banner_ad_container); // Add the Native Banner Ad View to your ad container nativeBannerAdContainer.addView(adView); }
上記のコードによって次のような広告がレンダリングされます。
GithubでAudience Network Androidコードサンプルをご確認ください。プロジェクトをIDEにインポートして、機器またはエミュレータで実行します。
アプリを公開して収益を得る準備が整ったら、Audience NetworkのポリシーとFacebookコミュニティ規定を順守していることを確認してから、アプリのレビューを申請します。