2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MoPubを使ってタイムラインに広告を表示

Posted at

以前作成したTwitter Kitを使ってタイムライン表示を行うアプリに広告を表示する方法です。

以前の記事
Twitter Kitを使ったタイムライン表示

このコードに追加していく前提で記載しています。

timeline_with_mopub.png

#大まかな流れ

  1. MoPubにアプリを登録し、Ad Unit IDを取得
  2. dependencyにtwitter-mopubを追加
  3. TwitterMoPubAdapterを追加

#1.MoPubにアプリを登録し、Ad Unit IDを取得
MoPubでアカウントを作成し、アプリケーションの追加を行って下さい。
(既にアカウントを持っている場合はダッシュボードで追加してください)
この時、"Add Ad Unit"のFormatはNative(Custom layout)を指定してください。

mopub_add_app_mini.png

#2.dependencyにtwitter-mopubを追加

dependencyにmopubを追加します。
build.gradleに下記を追加してください。

build.gradle(app)
compile('com.twitter.sdk.android:twitter-mopub:3.1.0@aar') {
      transitive = true;
}

メモ
上記のdependencyを追加しなくても広告が表示できたという報告もいただいています。
私の環境では追加しなければビルドできなかったので、追加しておくのが無難かと思います。

#3.TwitterMoPubAdapterを追加
TimeLineActivityを下記のように編集します。
1.で取得したAd Unit IDはここで使用します。

TimeLineActivity
public class TimeLineActivity extends ListActivity {
    private MoPubAdAdapter moPubAdAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time_line);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });

        final SearchTimeline searchTimeline = new SearchTimeline.Builder()
                .query("#猫")
                .build();
        final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this)
                .setTimeline(searchTimeline)
                .build();

        moPubAdAdapter = new TwitterMoPubAdAdapter(this, adapter);
        final TwitterStaticNativeAdRenderer adRenderer = new TwitterStaticNativeAdRenderer();
        moPubAdAdapter.registerAdRenderer(adRenderer);
        moPubAdAdapter.loadAds("Ad Unit ID");

        setListAdapter(moPubAdAdapter);
    }

    @Override
    public void onDestroy(){
        moPubAdAdapter.destroy();
        super.onDestroy();
    }
}

これでタイムライン上に広告が表示されるようになります。

要検証
自分用のメモの意味も込めて。
一番上に表示される広告のみ、広告へとぶボタンをタップしても広告元へとべなかったため、原因を調査中です。

本記事のソースコードはGitHubにアップロードしてあります。
https://github.com/kyam3235/TwitterAppByTwitterKitWithMopub

#参考
Monetize With MoPub

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?