AdMobメディエーションに於けるnend追加

AdMobメディエーション機能を活かさん と欲したのは複数の広告フレームワークを利用できるからでした。 そうであれば実装が叶った今 iAdAdMob だけでは折角の苦労も得られるものが少なく感じます。 そこで本記事では新しい広告フレームワーク nend (ねんど)を追加する次第を記し置くものです。

夢応援プラザ広告群

nendは 株式会社ファンコミュニケーションズ が提供する広告ネットワークでiOS用のフレームワークも提供されています。 日本企業ならでは日本の広告主が多く利用するところで 日本で提供するアプリには有効だと考えられます。 AdMobメディエーションに追加するには先ずnendに登録する必要があるのは言わずもがな、 nendには2016年3月5日に登録しました。 メールアドレスさえあれば登録可能なもので アプリがApp Storeに陳列されていない時点でも 必須入力箇所の App Store URL では http://www.apple.com/jp/itunes/ とすれば登録可能になっていました。

スポンサーリンク
日付:2014年3月6日
開発機:MacBook Air(11-inch, Mid 2013)
MacOSバージョン:OS X 10.9.1
Xcodeバージョン:5
言語:Objective-C
関連アプリ:uPanda Breaks Out Fruits

実装に当たっては上記の両参考サイトなどが参考になりました。 前者のサイト 夏までにiPhone アプリつくってみっか! の2013年8月8日の記事では dealloc など使われていて流石に2014年春時点でも少し古くもあって 後者のQiitaの2014年1月9日に最終編集された記事なども参照しています。

本記事冒頭にも記した通り先ずはnendに登録し、 広告を実装するアプリ専用の apiKey 及び spotID を取得した上でSDKをダウンロードしました。 当時のバージョン(ダウンロードファイル名)は NendSDK_iOS-2.3.2.zip でした。

続いてiAdアダプターのダウンロードです。 2014年当時は Mediation Networks - Google Mobile Ads SDK — Google Developers に用意されていましたが今ではこのリンクは AdMob | AdMob by Google | Firebase にリダイレクトされ分かり難いため新たに当該リンクを示せば以下となります。

Mediation Networks | AdMob by Google | Firebase

本記事に言及するのはiAdのみですがこのページにはAdMobメディエーションのサポートする 広告ネットワークと其の広告ネットワークがAdMobに接続するに必須のアダプターの ダウンロードリンクが用意されていますので手元の環境に合わせ必要なアダプターをダウンロードします。 なおnendなどのように Included in SDK とされているものは広告ネットワーク側のSDKにアダプターが含まれていますので 然るべく処理すれば宜しいでしょう。

次はプロジェクトに必要なフレームワークをどんどん追加して行きます。 プロジェクト内に作成する新グループの名称は総て任意のものです。 AdMob SDKのAdd-ones内のMediation内のファイルを総てプロジェクトに作成したAdMobグループに追加し 此処で一旦ビルドが可能が如何か確認しました。 同様にプロジェクトに新グループNendを作成し NendAd内のソースをNendグループに追加もしました。 AdSupport.framework は以前に追加していたので此処で必要となる Security.framework を追加し再びビルド可能なことを確認しました。 またプロジェクト内に新グループAdMob_iAdAdapter作成し libAdapterIAd.a をAdMob_iAdAdapterグループ内に追加しまたビルド確認です。

様々追加し終えビルドも可能となればWebサイト AdMob メディエーションの管理画面にアクセスしiAdとNendを追加します。 ところが此処で以下のエラーが出力されてしまいました。

<Google> Cannot find an ad network adapter with the name(s): (
  GADMAdapterNend
  ). Remember to link all required ad network adapters and SDKs, and set -ObjC in the 'Other Linker Flags' setting of your build target.

ところで 'Other Linker Flags'-ObjC は設定しているのであって然もなければAdMob自体動きません。 libAdapterIAd.aをAdMob_iAdAdapterグループ内に追加するのを忘れていたので 其れかとも思い追加後確認しましたが解決は得られません。 結論を言えば原因は当時AdMobメディエーションの64bit非対応でした。 参考にしたのはサイト marble seijin の開発日記 の2013年10月16日の以下の記事ページです。

admobでもxcode5にはまる

以下にリストで試行と結果を列挙します。

  • iPhone Retina(4-inch 64-bit)だとエラー出力
  • iPhone Retina(4-inch)だとnend広告が表示される
  • Build Settings >> Architectures >> Architectures の設定を Standard architectures(including 64-bit)(armv7, armv7s) から Standard architectures(armv7, armv7s, arm64) に変更した処、iPhone Retina(4-inch 64-bit)でビルドしてもnendのリンクエラーは出ず広告が表示される
uPanda Breaks Out Fruits
無料:カテゴリ: ゲーム: 4+ 評価
バージョン: 4.12
リリース: 2014年9月15日
更新: 2022年4月20日
サイズ : 10.7 MB
互換性: iOS 14.4 以降のiPhone、iPod touch に対応。および、macOS 11.0以降とApple M1 チップを搭載したMac に対応。

1件のコメント

コメントは受け付けていません。