All Projects → keijiro → unity-adbanner-example

keijiro / unity-adbanner-example

Licence: other
Unity で iAd (iOS) と AdMob (Android) を共用する場合の実装例

Programming Languages

C#
18002 projects
java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language

概要

Unity 3.5 より追加された ADBannerView クラスは、今のところ iAd にしか対応していません。 Android では依然として外部プラグインを使用する必要があります。このプロジェクトは外部プラグインを使用して iOS と Android の両方でバナー広告を表示する仕組みの実装例を提示するものです。

iOS Android

使い方

ビルド済みのパッケージを用意しました。他に AndroidManifest.xml の置換を行うプラグインを使用していない場合は、これを利用できます。

unity-adbanner-plugin-20120420.unitypackage

バナー広告を表示するには AdBannerObserver の Initialize 関数を呼ぶ必要があります。第1引数に AdMob のパブリッシャー ID を、第2引数にテストデバイスの ID を、第3引数に広告リフレッシュの間隔(秒数)を指定します。

    AdBannerObserver.Initialize("a14e4873bd055aa", "test_device_code_here", 60.0);

この関数は何度呼んでも大丈夫ですが、実際に適用されるのは最初の一回のみです。

他プラグインとの共存

他に Android プラグインを使用していて、なおかつ、そのプラグインが AndroidManifest.xml の置換を行っている場合、AndroidManifest.xml の統合を手動で行う必要があります。

このプラグインで行っている変更は以下の2点のみです。この変更を統合される側の AndroidManifest.xml に適用してください。

  • ForwardNativeEventsToDalvik を true に変更
    <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
  • 以下のパーミッションを追加
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

リフレッシュ間隔について

本来、リフレッシュ間隔は AdMob の広告制御側でも行うことができますが、このプラグインではそちらの設定を考慮せず、強制的にリフレッシュを行います。これは、ネットワークが切断された後に広告のリフレッシュを復帰するための処理と、リフレッシュ処理自体を同じものとして実装しているためです(要するに手抜きです……)。

Android 側のソースコード

AdMobPlugin.jar のソースコードは AndroidPlugin ディレクトリに格納してあります(Antプロジェクト)。プラグイン自体の改造を行う場合はこちらを利用してください。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].