AdMobの組み込み

SDKBOXを使用したAdMobの組み込みに関して、「atuweb開発ブログ」様の記事を参考にさせていただきました。
[cocos2d-x] SDKBOX を利用した AdMob と AdColony の広告実装 - Atuweb 開発 Log
Cocos2d-x製のアプリに、SDKBOXを使ってAdMobを導入してみました。

SDKBOXのインストール

ターミナル画面で以下のコマンドを実行します。

python -c "import urllib; s = urllib.urlopen('https://raw.githubusercontent.com/sdkbox-doc/en/master/install/install.py').read(); exec s"

「SUCCESS! SDBOX installer have been installed.」と表示されればインストール成功です。

設定を反映させるために以下のコマンドを実行します。(Windowsの場合はPCを再起動)

source ~/.bash_profile

「sdkbox version」とコマンドを入力し、以下のようなメッセージが表示されればOKです。

  _______ ______  _     _ ______   _____  _     _
  |______ |     \ |____/  |_____] |     |  \___/
  ______| |_____/ |    \_ |_____] |_____| _/   \_
 Copyright (c) 2016-2017 SDKBOX Inc. v1.0.1.23
 SDKBOX version 1.0.1.23

AdMobプラグインのインポートと初期設定

Admobを設定したいプロジェクトのルートディレクトリ上で以下のコマンドを実行します。

sdkbox import admob

「Installation Successful :)」と表示されれば、インストール成功です。

エディタなどでプロジェクト内の「Resources/sdkbox_config.json」を開き、編集を行います。

設定項目は、AndroidとiOSで別れております。
また、表示したい広告の種類や表示タイミングを複数設定することが可能です。
とりあえず、”home”の下部表示バナーを編集します。

“id”: “ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx”をadmobで登録した自身のIDに置き換えます。

“test”: falseにすると、広告用バナーが表示されますが、”test”: trueにすることで、テスト用のバナーが表示されます。

AdMobの表示

Xcodeもしくは、AndroidStudioを起動し、プロジェクトを読み込みます。

プロジェクト内の「AppDelegate.cpp」を開き、以下の初期化メソッドが組み込まれていることを確認します。

広告は、キャッシュしてから表示させる必要があるため、以下のようなコードを組み込む
ヘッダファイル(例:HelloWorldScene.h)とプログラムファイル(例:HelloWorldScene.cpp)の編集

Android Studioの設定変更

AndroidStudioでビルドした際、SDKバージョンのエラーが表示されることがあるので、以下のファイルを編集します。

Cocos2d\cocos\platform\android\java\libs\gps\build.gradle

android {
    compileSdkVersion 22
    buildToolsVersion "25.0.0"