2019/04/03スポンサーリンクこんにちは!こんちゃ(@pippi_kon)です。この記事では、SwiftでiPhoneアプリにAdMob広告をお手軽に設置できる便利な自作関数についてご紹介します。アプリ開発をされている方には特に有益な情報はないと思います。これからiPhoneアプリ開発でアプリの収益化を行うと思っている方や、アプリ開発のたびに毎回広告を貼るのに苦労しているという方向けの記事です。毎回広告を貼るのに苦労している方バージョン情報この記事は以下のバージョンで記載しています。関数作成の背景iPhoneアプリにAdMob広告を設置するのって結構面倒ですよね。画面下に配置するときは、画面全体の高さから広告の高さを引いた位置を広告表示の開始地点とし...ってシンプルだけど面倒。画面上に配置したいときは?上下両方のときは?さらに、iPhoneXの登場でSafeAreaという概念が登場し、このエリアを考慮した座標計算が必要になりますます面倒に...。KONぬぉおお...めんどい...一度コードを作り上げてしまえばあとはコピペして使い回せばいいのですが、ダラダラ書かれたコードを毎回コピペするのはスマートじゃないし、もっとスッキリさせたい。一発で広告を設置できるような関数ないかなぁ?しかも、引数で広告配置場所を選択できるようなやつ。テスト広告と本番広告も切り替えられるといいなぁ。・テスト/本番広告の入れ替えがラク面倒な座標計算をしなくていい例えば、広告をアプリ画面下に配置するとします。ここで大変というか面倒なのが広告を表示する座標の計算。画面全体の高さを取得して、そこから広告の高さとSafeAreaの高さを減算しなければいけません。やってることはただの引き算なので簡単ですが、こんなことが起きます。・それぞれの項目値を取得する方法がわからない。・取得方法を調べるのがめんどくさい。・おいおいSafeAreaって何だよ?しかし、今回ご紹介する関数を使えば、この面倒な計算を自動で実施してくれます!値の取得方法を調べたり、SafeAreaの意味を調べたりする必要はありません。iPhoneXにだってちゃんと表示してみせます!しかも!関数の引数で広告の位置を設定できるんです。設定といっても指定できるのは「画面上」と「画面下」の2箇所のみ。汎用性を持たせるとかえって難しくなってしまいますからね。コードを作り上げてしまえば、あとはそれをコピペして使い回せます。お手軽に見えますが、こんな経験はありませんか?・コピー元のソースコードが見つからない。(探すのが大変)・コピーするコードが1箇所にまとまってないので何回も往復しなければいけない。・最新のソースコードかと思ったら古いものだった。今回ご紹介する関数を使えば、このような煩わしさを解消できます!必要なコードは全て1つのファイルに収めているので、これをインポートして呼び出すだけです。ソースコードを探したり、最新のものかをチェックしたりする必要はありません。テスト/本番広告の入れ替えがラクアプリを作成しているとき、誤って自分の広告をクリックしてしまうとGoogleから制裁(広告停止)を受けてしまいます。これを防止するために用意されているのがテスト用広告。普段アプリ開発中はこのテスト広告を使ってテストしていると思います。時々ちゃんと広告が表示されるか気になって本番用広告に差し替えたりしてませんか?その度に長い広告IDをコピペして切り替えたりしてませんか?本関数を使えば、このテスト用広告と本番用広告の切り替えが簡単にできます!関数の引数でテストモードを指定(true/false)してあげるだけです。String本番用広告ユニットIDを指定する。Boolテストモードかどうかを指定する。UIViewController広告を表示するViewControllerを指定する。Int広告表示位置を指定する。広告IDはイニシャライザーで指定する。自作関数ということで、関数のソースコードと関数の使い方についてはnoteで販売させていただいてます。MEこんちゃ自分のやりたいことでお金を稼げる生活に憧れて脱サラ。アプリ開発やブログ運営をしながらのんびり暮らしています。こんちゃぴっぴproject【Swift】iPhoneアプリにバナー広告を貼る方法(Xcode編)AdMob広告のアプリIDと広告ユニットIDを確認する方法iPhoneアプリ・PCソフト開発プログラマーこんちゃ自分のやりたいことでお金を稼げる生活に憧れて脱サラ。↓アフィリエイトで稼ごうとするも思うように伸びず貯金枯渇。↓フリーランスに転身。