Cocos2d-x:アドフリくん(AndroidStudio編その2)

SDKの導入

前回からの続きです。今回はCocos2d-xで作成したカラのプロジェクト(HelloWorld)にSDKを導入します(いきなり本番は怖いですからね)。
 

libsフォルダの設定

マニュアルはp25から。libsフォルダはビルドしないと生成されませんが、ビルド前に作成してもOKです。なので作成して指示通りjarファイルをいれました(階層はproj.android-studio/app/libs)。

build.gradleの設定

マニュアルp25にはbuild.gradleの設定についても説明されています。ここでgooglePlayServiceの設定をしましょう。またbuild.gradleのcompileSdkVersion/buildToolsVersion/targetSdkVersionの設定がサンプルプロジェクトと異なっていたので、サンプルプロジェクトに合わせました。
adfuly02

classフォルダ内の設定

マニュアルp26でadfurikunフォルダをclass内にコピーしました。これについては特に問題はないと思います。

srcフォルダ内の設定

マニュアルp27でsrc内にjp一式を追加(これもフォルダ上で行う)しました。ここまでの処理でproj.android-studio/appフォルダ内は以下のようになるはずです。
androstudio01

Android.mkの設定

マニュアルp27にはjni/Android.mkの設定についても説明されています。これはサンプルプロジェクトからコピペしたほうが安心でしょう(マニュアルではリワード動画がp27でインターステイシャルがp33です)。

AppActivityの設定

AppActivityの設定は大変なのでサンプルプロジェクトからコピペしましょう。ファイルの場所は「app/src/org/cocos2dx/cpp/AppActivity.java」です(マニュアルではリワード動画がp28でインターステイシャルがp34です)。
adfuly3
 
 
 

広告設定

マニュアルp48〜49でAndroidManifest.xmlの設定をしますが、サンプルプロジェクトのAndroidManifest.xmlをコピペして必要ない広告を削除するほうが良いでしょう。あとp49の後半はversion.xmlの設定なのですが、よく分からなかったので設定しなかったのですが動きました。また注意点としてはSmaAdについてはp67でresフォルダの要素を追加することも忘れずに(数の赤ラベル)。 
adfulyres
 
 
 

広告を表示する

広告を表示する処理はiOSと共通です。AppDelegete.cppで初期化するのを忘れないでください。→参考:Cocos2d-x:アドフリくんの導入(iOS編その3)
 
 
 

cocosコマンドでビルド

あとはビルドして確認するだけです。compileだけしてAndroidStudioからrunでもOKです。

----------------------------------------
cocos compile -s ~/cocos2d-x-3.11.1/project/adfulyTest -p android --android-studio
cocos run -s ~/cocos2d-x-3.11.1/project/adfulyTest -p android --android-studio
----------------------------------------

とりあえずカラのプロジェクトには組み込めて動画広告が再生されるのを確認しました。あとは本番のアプリへの組み込みです(緊張する…)。
 
 

Cocos2d-x:アドフリくん(AndroidStudio編その1)

Eclipseは使わない

Eclipseの方が慣れているが、最新のgooglePlayServiceに対応できないためAndroidStudioへ移行しました(サポートも切れていますし)。利用するマニュアルはiOSと同様に「adfurikun_Cocos2dx_moviereward_manual_1_4.pdf」です。 
 

サンプルプロジェクトの起動

マニュアルp14の通りに必要なSDKを更新しました(下図はクリックで拡大)。
androidstudio

つづいてマニュアルのp17。AndroidStudioになってもEclipse同様にコンソールからのビルドが必要です(下の階層は各自の設定に従ってください)。

----------------------------------------
cocos run -s ~/cocos2d-x-3.11.1/project/AdfurikunSampleCocos2dx -p android --android-studio
----------------------------------------

いきなりrunするのではなくcompileだけしてビルドできるか確認するだけでもOKです。その後でAndroidStudioで読み込みRunしましょう。

----------------------------------------
cocos compile -s ~/cocos2d-x-3.11.1/project/AdfurikunSampleCocos2dx -p android --android-studio
----------------------------------------

問題がなければ実機上で起動されます(iOSの時と同様に広告の認証が済んでないと動画は再生されません)。ソースを変更した場合はeclipse同様に毎回compileが必要になります。
adfulycapture
 

次回はSDKの導入

続いてはiOSの時と同様にカラのプロジェクトにSDKを組み込みます。
 
 
 

Cocos2d-x:v3.10でのAndroid開発環境メモ

Android studioに挑戦-あきらめ

cocos2d-xはv3.7からAndroid studioに対応したらしい。eclipseは非推奨となり今後サポートされなくなるのでAndroidStudioへの移行が必要。
AndroidStudioのインストールは成功したが、Runするとエラーになってしまう。今回は時間がないので使い慣れたeclipse(luna)を使うことにした。
今振り返るとNDKの設定をデフォルトから変更すべきだったのかもしれない。
Android studioでのNDKの設定はprojectを開いている状態で、メニューのFile->project structureを選択し、表示されるウインドウの左カラムからsdk locationを選択する(下図)。
現状は画像のようにバンドルされていたデフォルトのNDKを利用しているが、Cocos2d-xの場合は少し古いNDKでないとビルドできないことが多いので
ASsdk
 

bash_profileの設定

bash_profileはmiで編集するのが便利。miは「不可視ファイルを開く」があるので。
cocos2d-x:v3.10をビルドできた設定は以下の通り(パス部分のみ抜粋)。
ポイントはNDKのバージョン。以下のように「r10e」をダウンロードしてきて利用した(現時点での最新はr11cでv3.6で利用していたのはr9d)。
SDKはAndroidstudioで管理しているsdkへのパスにした。
——————————————————————
export NDK_ROOT=/Users/designdrill/androidDev/android-ndk-r10e
export ANDROID_SDK_ROOT=/Users/designdrill/Library/Android/sdk
export ANT_ROOT=/Users/designdrill/androidDev/apache-ant-1.9.7/bin
——————————————————————
少し躓いたのはantの設定。これは上記のようにbinまでパスに含める必要がある
→参考:[Mac]Cocos2d-x開発環境構築

eclipseの設定

eclipseの最新版(最終版?)はmarsだがメニュー構成が結構異なるので、使い慣れたlunaを利用することにした。
sdkへのパスは現状eclipseにバンドルされたsdkを利用(下図)しているが、これはAndroidStudioの方に合わせた方がよいかもしれない(bash_profileもAndroidStudioのにしているし)?。sdkは同じURLから更新されるので問題ないと思うが、結構ファイルサイズが大きいし、各々でバージョンアップしなければならないので。
eclipse
eclipseのsdkの設定はpreferencesのAndroidから行う(上図)。
 
ちなみにAndroid SDKへのURLは現在Android studioへのリンクになっているが、Android sdkは単体でもダウンロードが可能(android-sdk-macosx:現時点最新はr24.4.1)。Android Stdioのサイトにある「Download Options」をクリックすると単体のandroid-sdkが置いてある場所に移動します(下図)。
macsdk

Nend広告の組み込み

まずはNend広告を組み込まずに実機プレイまで可能なことを確認。この段階でAndroid固有のバグがないかを確認する。
バグがないことを確認したらNend広告の組み込み。build_native.pyで生成されたフォルダなどは削除せずに上書きビルドする。
このときAndroidManifest.xmlにgoogle-play-serviceの設定があるとビルドを通らないので、これはコメントアウトしてeclipseで読み込んだ後に有効にする(たぶん私の環境設定の不備のためだと思う)。
あと今回躓いたのは以下の点!

Nendのバナー広告だけ出ない!

現時点で最新のnend_java(net/nend/NendModule:日付2015/10/16)だとbuild_native.pyが通らない。なので1つ古いnend_java(日付:2015/10/1)を利用してbuild_native.pyを通した
しかし、これだとバナー広告が表示されない(インターステイシャルは表示される)。なのでbuild_native.pyを通してから、eclipseに読み込む前にNendModule.javaだけを新しいファイル(日付:2015/10/16)のに差し替えた。するとバナーも表示された。
nend
そもそも最新のNendModule.javaがビルドを通らないのがいけない。またNDKのバージョンなどが関係しているのだろうか?
とりあえず上記の対応で安定して機能しているので良しとしよう。
 
 
 

弾幕:英語圏の反応を確認したい

アプリ制作で稼ぐのは凄く難しそう…。
→参考:Appmarketing様「700万円かけて売上14万円
 

そんなこんなで

既存のデータを活用して安直に利益を上げられないかを考えてみた。ということで「弾幕の器」を英語にローカライズすることにしました。今週はとりあえずメニュー部分だけを作成。

変更したい部分

●雨型(駆逐艦の最初のステージ)

プレイヤーが最初にプレイするステージなのに、似たような攻撃ばかりで単調。つかみは大切なので、もっとバリエーションを広げる。

●低レベルでの強敵を弱体化

弾幕の器では最初の方のステージでも「村雨」や「潮凪」の様な強敵が登場する(代わりに後半でも弱い失敗艦が登場するけど)。英語版では、そのような強敵は弱体化して、レベル毎の強さをきちんと調整する。

●難易度は全体的に下げる

なんとなく海外の弾幕プレイヤーは初心者が多いような気がする?ため。プレイヤーの弾は2wayではなく支援機にしました。派手っぽいのが好まれそうだから?。

○ロックの仕組みを変更

前述のように難易度を少し下げるのですが、筋金入りの海外弾幕プレイヤーには敬遠されそう?。なので後半の高難易度の艦艇にもすぐにアクセスできるようにしたい。
これは動画の通りすでに実装済み。Levelをロックするのではなく、各Levelとも最初の1列はプレイできるようになっている。
 
 

残りの作業

弾幕の器2を優先させるので、作業は細切れになると思うので自分用にメモ。

●ヘルプ画面

英語力が無いので「弾幕の器」にあった艦艇の説明は全削除しているわけですが、説明画面は削除するわけにはいきません…。大変そうです…。

●広告を変更

「弾幕の器」で利用している広告はNendのもので、ほぼ日本だけでしか通用しません。なので英語版ではGoogleのAdMobというのを利用する予定です。

●艦艇データ変更

難易度を下げるためにデータを変更する。上記2つの作業と異なり、こういう作業は好き。
 
 

過去のローカライズ実績

iOSのアプリでは過去に2件、ローカライズ(英語)版を出している。結果は惨憺たるものですがお披露目。

Eidetic memory training with slide puzzle

まずは「脳トレ15パズル(iOSのみ)」cocos2d-xで初めて作成したアプリ。これは北米のDL数がアジアを越えている(ちなみにアジアではマレーシアがトップで日本は2位)。
→参考:アプリのページ
※クリックで拡大
スクリーンショット 2015-10-17 21.31.14

lights of bullets

当たり判定の練習用に制作したアプリ(iOSのみ)。このアプリが英語圏で不人気だったので「弾幕の器」は英語ローカライズをしなかったのです。 
→参考:アプリのページ
※クリックで拡大
スクリーンショット 2015-10-17 21.32.36

弾幕の器

最後に英語にローカライズしていない「弾幕の器」のデータを公開。アジアでは3万に届く勢いなのに、アジア以外を合計しても50件以下…。
スクリーンショット 2015-10-17 21.34.01
 
 
 
 
 

cocos2d-x:弾幕の器のAndroid5対応

今週は新作の制作が進んでいません…。
弾幕の器がAndroid5で落ちる原因と格闘していました。
 

Android5に対応させるために格闘中

前回cocos2d-xをv3.6にアップしたが状況は改善していない。
メニューでは問題ないがゲーム画面には射る時に落ちる。

以前コメントで☆5つを付けてくれていた方が、無双モード搭載後にゲームが落ちるようになったと報告があったこと思い出す。

ゲーム開始時に敵艦のデータをstring型のvectorで渡す部分が怪しい?
int型の配列で渡す様に変更してみた。

————————————–
注文していたAndroid5の検証機が届く
————————————–

int型の配列でもゲーム画面に入る時に落ちる。

eclipseでmediaPlayerについて「should have subtitle controller..」という
エラーがでているのを確認。

cocos2d-xのv3.2まではクラッシュの基となるエラーだけどv3.3以降では
クラッシュしないようになっておりクラッシュの原因ではないようだ。
※エラーは動画の字幕(subtitle)についてでサウンドデータには無関係らしい。

しかし念のため、サウンド関連を全てコメントアウト

やはりゲーム画面に入る時に落ちる。落ちる原因はサウンド周りではない。

色々検証して落ちる敵と落ちない敵がいることに気が付く。
必ず落ちるのは雨型の五月雨。これは問題解決の糸口だ!!

五月雨のデータを他と書き換えると落ちなかった。
しかし何回か試すとたまに落ちる。

—————————————
データの読込が失敗することが落ちる原因と確信
—————————————

データの読込はgetFileDateを利用しており。これでiOSとAndroid4までは問題なし
→参考:cocos2d-xでcsvデータを読み込む

しかしAndroid5で読み込んだデータを確認すると。正常に読み込む時もあれば読み込めない時もある。データが欠落したり繰り返されたり無秩序で法則が分からない…。

「Anrdoid5ではデータが圧縮され、それによって正常に読み込めない」的なことを書いているサイトを発見(メモし忘れる)。そのサイトには対応策は記述されていなかった。

他の方法で読み込むことを考える。v3.4で新たにテキストの読込に特化したメソッドが追加されているのを発見。→:cocos2d-x公式「getStringFromFile

これを利用したら落ちなくなった!
たぶん、これで解決。

現在色々チェック中。
問題が無ければ来週早々にAndroid5対応版をリリース
 
 

audioEngine

クラッシュの原因がサウンドと疑っていた時に発見した新しい機能。v3.4から追加されたaudioEngineでは高度な音源の操作ができるようです。
→参考;cocos2d-x公式「AudioEngine Class
→参考:AudioEngineを利用した管理クラスの作成
 
 

iOS

iOSでも音楽関連でメモ。iOS7以降ではアプリを起動するとiTunesなどの音楽は停止してしまう。これを解除するにはinfo.plistを編集する必要がある。
→参考:BGMと効果音を鳴らしつつ音楽を再生する方法
 
 
 

「弾幕の器」のAndroid5対応

Android5への対応

先程Android5に対応した弾幕の器のバージョンをアップしました。ゲーム内容に変更はありません。Android4.xでもGalaxyNoteだけはクラッシュが頻発すると報告があるのですが、これも直っていたら良いなぁと思いつつ実機がないため確認することはできていませんでした。
 
Android4.xにかかわるバグも少し修正。
————————————————
・被弾時のクラッシュ修正(ゲームオーバーと同時にクラッシュ)
自機が破壊され存在していない時に当たり判定のルーチンに入ってしまうことがあり「自機がないよ!」とエラーになる事がありました。何故、想定外のルーチンに入るのか分からないのですが、チェックを2重にして対処。

・ver3.6でのみエラー
Cocos2d-xのver3.2ではエラーにならなかった処理がver3.6だとエラーになるので修正(記事後半にある型指定の部分)。
————————————————
修正できていない既存のバグ
————————————————
iOSでも発生しているクラッシュで。ゲームを開始する時や、ゲーム終了後に「もう一度」ボタンをタップした時にクラッシュ。
————————————————
以上。

 

自分用のメモ

この対応は先週末に完了させる予定でしたが手間取って本日までかかってしまいました。なのでメモを残すことに。iOSのデータは保険として修正せずに残し、Android版の方のみ移行処理をすることにしました。

・cocos2d-x(v3.6)で新規にプロジェクトを作成
・まずはXcodeで動作確認をするためClassや必要素材をコピーしてきて組み込み。
———————————–
v3.6ではサウンド機能を利用する時に「SimpleAudioEngine.h」のincludeが必要なので追記。ソースの変更はこれだけ。
———————————–
・xcodeでの動作は問題なく完了。

↓しかしメインのAndroidで躓く

・jni/Android.mkを書き換えてmakeするファイルを追加
・build_native.pyを実行してeclipseに組み込むデータを作成する

しかしエラーとなり読み込むべきデータが生成されない

一度諦め、過去に作成したnend広告の確認データでbuild_native.pyを試す。

しかしエラー。以前は問題なかったのに…

さらに諦め、新規にプロジェクトを作成してbuild_native.pyを試す

問題なくデータが完成

jni/Android.mkを書き換えてbuild_native.pyを試す

問題なくデータが完成。原因はNendか…

Nend広告のSDKが6/17に色々バージョンアップ(iOS/Android/Cocos2d)されているのでダウンロードしたけれどXcode6用のため利用せず。

これまで利用してきたverのNendを組み込む

build_native.pyを実行するとNend関連のエラー(undefined reference to)

試しにエラーとなったNend関連の処理をコメントアウト

build_native.pyが成功した(すごく短時間で完了)。

コメントアウトを解除し、ClassフォルダにNend関連のcppファイルをいれる。
※これはeclipseの段階で読み込むものと思っていた…

build_native.pyが成功した。

 
ここで再度、弾幕の器をCocos2d-xのv3.6へ移行したプロジェクトを試す

まずNendを全て外したファイルを作成しxcodeで正常起動を確認

build_native.pyを実行するとエラーが1件
EnemyDest.cppのデータを記憶する仕組みの型指定がエラー

修正:cocos2dの最新マニュアルで確認
——————-
(旧)long size = 0;
(新)ssize_t size = 0;
——————-

build_native.pyが成功し、Eclipseに読込むデータが作成された
しかしビルドの段階でエラー

なんとなくビルドエラーはeclipseで修正する様な気がするので
Nendを再び組みbuild_native.pyが成功するか確認。

build_native.pyが成功し、Eclipseに読込むデータが作成された
が、やはりビルドの段階でエラー

とりあえずeclipseに読み込む。

Eclipseでも問題

Eclipseを開くと、過去に問題なかったプロジェクトにエラー表示が付いている。前回v3.6を試した時には何も問題なかったのに何故?何も変更していないと思うのに…

以下のサイトを参考に環境設定でNDKの再設定をしてcleanを実行したらエラーが消えた。
→参考:cocos2d-xのAndroidプロジェクトをビルドする方法について

ビルドは成功し実機での起動も確認。しかしNendが表示されない。
単純にNend設定はしわすれていた。Nendの表示に必要な手順をマニュアルに従い行う。

問題なくNendの表示ができた。

念のためアプリを削除し、インストールから全艦制覇しながら問題が無いか確認。

問題はないようなのでアプリを登録。
 

バージョンコード

Androidのバージョン設定にはversionCodeとversionNameがある。versionCodeはgoogle内でのアプリ管理に利用されversionNameはユーザーの目にするバージョン番号。
引っかかったのはversionCodeは整数でないといけない点。今回は4.1としたかったが、それはできない。次から以下のサイトの方と同じ様に管理しよう。
→参考:android:versionCodeの最大値+管理しやすい設定値
——————-

android:versionCode=”41″
android:versionName=”4.1″
——————-
 
メモ終わり
 
 
 

Nexus7の動画キャプチャ

戦艦「扶桑」の攻略動画

弾幕の厚い艦艇ではiOSシミュレータでは処理が追いつかずfps落ちしてしまい、正確な攻略動画が作れません。ということでAndroid4.4から利用できる動画キャプチャを利用しました。60fpsでのキャプチャができたのですがyoutubeにアップしたら30fpsになっていた。720p以上でないと60fpsにはできないのかな?

screenrecordで画面を録画

参考になったのは以下のサイト。あと色々躓いたので補足。
→参考:screenrecordで画面を録画する方法

adbコマンドを利用できる場所

screenrecordを利用するためには、ターミナルでadbコマンドを利用できる階層に移動しなければなりません。私の場合はeclipse(luna)フォルダ内のsdkフォルダ内のplatform-toolsフォルダまで降ります(このフォルダ内にadbファイルがあります)。
—————————————
eclipse/sdk/platform-tools
—————————————
 

USBハブに注意

参考にしたサイトではadbのdeviceコマンドを利用して利用できるデバイスを確認しているのですが、私の環境ではNexus7が認識されませんでした。調べた結果原因はUSBハブのようで、直で繋いだら認識しました。
 

ギャラリーで確認

私もサイトに合わせてsdkcardという階層に動画を保存しました。動画の確認はギャラリーからできます。他にも「ESファイルエクスプローラ」というのも良さそうです。以下の動画で説明してる方も利用していました。
→参考:youtube「How-to Record Android Screen on a Mac
 

サウンドには非対応

残念なことにサウンドをキャプチャすることはできません。
 

転送先

pullコマンドはadbシェルでは利用できないのでexitコマンドで抜けてbashに戻りましょう。pullコマンドは転送先の場所を省略することができました。省略した場合はplatform-toolsフォルダ内に保存されます。ユーザーのrootではないことに注意してください。
 
 
 

弾幕の器:先にAndroidをリリース

まだAppleの審査は足止め中

昨日Appleの審査チームに返信しましたが、未だに返信がありません。今日が金曜日なので5月中のリリースは無理になってしまいました…。
スクリーンショット 2015-05-29 15.46.08
 

先にAndroid版をリリース

今回はiOS版とAndroid版のリリース日を揃えようと思ったのですが、待ちきれないのでAndroid版は本日リリース申請をしました。Android版は機械的なチェックしかないので日付が変わる前にはリリースされると思います。
 
 

cocos2d-x:ver3.6でAndroid

Androidでも警告

デフォルトで作成されるプロジェクトをAndroidでビルドした。ビルドには成功するものの以下の様な警告が。NDKのバージョンが古いからAndroid5.0でクラッシュするかもよ!と言うことらしい。
スクリーンショット 2015-05-20 19.58.32
ver3.2の時は逆に最新のNDK(r10c)を利用すると正常にビルドできないからAndroid環境も3.2と3.6は共存できないことになる。
すでに弾幕の器のAndroid最終版はcocos2d-xを3.6にする前にapkを作成したので問題ないのだけど、もし弾幕の器のAndroid版を修正して再アップするとなると.bash_profileを全面的に修正しなくてはならない…。思ったよりも面倒なことになった。とはいえ、どこかのタイミングでcocos2d-xもバージョンアップが必要なのだから仕方がないか…。
 

NDKを更新

ということで最新のndkをダウンロードしたのですが解凍できない。調べたら以下のページに辿り着く。以前はもっと簡単に解答できたような気もする。
→参考:Android NDK r10d インストール(for Mac)
ということで.bash_profileを編集してNDKを新しいものに変更したら以下の様にOKだった。.bash_profileを変更したらsourceコマンドを実行して設定を反映させることを忘れずに!
スクリーンショット 2015-05-20 21.50.53
 

eclipseに読み込む

eclipseに読み込む方法は3.2と同じですが、リンクさせるlibcocos2dxは3.6にしなければなりません。読み込む時に名前を変えて以下の様に2種類のlibcocos2dxを同居させることができました。ビルドしたらきちんとアプリが起動したので多分これでOK。明日はNend広告を組み込んでみよう。
スクリーンショット 2015-05-21 1.12.50
 

Android5.0で起動しない(追記:5/23)

Android版の弾幕の器の海外からのコメントで「起動できない」というコメントが付いた。これで上記のNDKの件で5.0でクラッシュするというメッセージが思い浮かび、ググってみると…。cocos2d-xの3.2はAndroid5.0には対応していない(クラッシュする)ことが確認できました。→参考:google検索「cocos2d-x android 5.0
 
リンク先には色々対応方法が記されていますが、個々に対応するのではなくプロジェクト自体を3.6に移行した方が良さそうです。今は気分ではないので、想定される手順をメモするのに留めます。
———————————-
・3.6で新規にプロジェクトを作成(bundleIDを揃える)。
・3.2のデータをコピーして3.6に組み込んでいく
・作成したapkは電子著名が必要(3.2のが使えるのかな?)
 →参考:Google Play Developer への登録
———————————-
とりあえず月末にリリースするバージョンでは「Android5.0には対応していません」と記述を追加しよう。
 

AndroidとiOSの広告について

クリック率の大きな差

Android版のコメントで広告に関する意見が多かったので色々調べてみました。
まず広告のクリック率(CTR)を調べてiOSとAndroidに大きな差があることに
ビックリ!以下は同じ期間中のCTRの表。Androidは後から広告を追加したので
前半は0となっています。

iOS

iOSは3%を越えることなく徐々に下がってきています。
この値はインターステイシャル広告としては平均な値だと思います。
スクリーンショット 2015-04-11 21.52.44

Android

Androidは4%を下ることなく時に6%を越えています。
スクリーンショット 2015-04-11 21.52.20
 

広告表示の仕様が異なる

これだけ差があるとユーザーの性向とは考えられません、ということで広告の表示
を観察することにしました。すると仕様が微妙に異なることを発見しましたのです。
広告はネットを通じてデータが送られてくるので表示までに若干の間が生じます。
この間の処理がiOSとAndroidで異なるのです。

iOS:受信完了しなくても表示

iOSでは広告データが読み込まれなくても前回表示した古いデータをとりあえず
表示します。結果として広告を表示してから暫くして表示される新しい広告に
入れ替わるというデザイナーの視点から見ると若干見苦しい仕様になっています。

Android:受信が完了するまで表示しない

Androidでは広告データの受信が完了するまで広告を表示しないので見苦しくは
ありません。しかし回線の状態によって広告が表示されるタイミングが変化し
誤爆する確率が上がっていると考えられます。
 

ちなみに…

ちなみにgoogleで「jQuery 入門」や「jquery 講座」と検索すると1番目に表示
される弊社のwebサイト「jQuery入門講座」のバナーのクリック率は以下の様に
なっています。これは平均的なwebサイトのバナーのクリック率よりもかなり低い
値です。というのも、このサイトのほとんどの来訪者は検索から「リファレンス」
へ訪れ、調べ物が終わったら帰ってしまうというケースがほとんどだからです。
直帰率は70%近くになります…。せめてスマホの広告では利益を上げたいです。
スクリーンショット 2015-04-11 22.50.56
 

動画広告に興味有り

弾幕系のゲームには適さないと思うのですが、育成系のゲームを作成する際は
動画広告を採用したいと考えています。切っ掛けは「クロッシ−ロード」。
このゲームでは動画広告を見るとコインをもらえ、そのコインを利用して
課金しなくてもキャラを購入できます。
似たような広告にアプリをインストールしたときの報酬としてコインなどを
貰えるものがありますが、インストールに結構手間がかかり躊躇します。
動画は簡単に見ることができてお手軽ですし、同じ動画を何度も見ても
コインがもらえました。
まぁ育成系のゲームを作るのはまだ先なのですがメモ。