Firebaseを使用してAndroidアプリにAdMob広告を追加する

まえがき



Googleに「AdMob」を導入すると、最初のサイトはAdMobサイトではなく、Googleサイトになります。 それに切り替えると、Firebaseの暗黒面(最近Googleが購入した)に少し誘惑され始めます。



Firebaseは、アプリケーション(広告の身長、体重 、国、ビュー数、インストールされたAndroidバージョンなど)の非常に広範な分析機能(少なくとも、マーケティング担当者ではなくプログラマーとして)を提供します。



最初に見つかったのはpostでしたが、Eclipse向けでした。例として最初の試みを行った後、非難され、実際にエラーに関する警告が始まりました。



より多くの情報を読んだ後、AdMobが最近firebaseに切り替えたため、自分でそれを把握する必要があることが明らかになりました。









それと一緒に暮らす方法を見てみましょう。



最小要件:(記事が書かれたことを考慮して)。





ステップ1


build.gradleファイルに依存関係を追加します。 「モジュール:アプリ」の最初のもの:









2番目( 'Project:AdMobOnHabr')で:









その後、ツール→Android→「Gradleファイルとプロジェクトを同期」を実行し、プロジェクトをコンパイルすることをお勧めします。 目に見える結果はまだありませんが、最も重要なこと-エラーはありませんか? いいね! どうぞ



ステップ2


AdMobアカウントにログインします。 アプリケーションを手動で追加することを選択します(アプリケーションが既にGoogle Playで公開されている場合は、最初のタブの検索を使用します)。









アプリケーションに広告バナーを追加します(自分で他のタイプに精通することをお勧めします)。 最小の頻度である30秒を選択しましたが、広告ユニットの名前はあなたの裁量に任されています。









その後、「Firebase Analyticsの設定( オプション )」-必要な単語に下線を付けて提供します。 これまでのところ、これは無駄です- スキップ 。 「統合手順」に慣れて、[ 完了 ]をクリックします。 リダイレクト後、ページと待望の広告ユニットIDが表示されます。









広告ユニットIDstrings.xmlに追加します









別のアクティビティの広告ユニットには新しいIDが必要であることを忘れないでください。



ステップ3


AdView要素をactivity_admobbanner.xmlに追加します。









属性「ads:adUnitId」に、広告ユニットのIDを使用して、 strings.xmlからリソースを書き込みます。



いくつかのヒントとメモ:





ステップ4


Google Mobile Ads SDKを初期化します。 これを行うには、AdMobから取得したアプリIDが必要です。 右上の歯車をクリック→アプリケーション管理:









ここに、アプリIDが必要な幸福度があります。









アプリIDを使用して初期化自体を記述します。









ステップ5


Googleによる最後のアクションは、待望の広告をAdView要素にロードすることです。









AdMobポリシーに従って、エミュレータに実際の広告を表示することはできません(テスト広告のみが表示されます)。 かなり論理的です。 しかし、実際のデバイスをお持ちの場合、そのデバイスで実際に広告をテストして、成功をお楽しみください。



実際のデバイスでの広告のテスト
  • 実際のテストデバイスに広告を表示するには、次のようにコードを書き換えます。









    問題は残っています-魔法のDEVICE_ID_EMULATORを入手するには? 全員が非常に「悲惨な」方法を全会一致で推奨します。DEVICE_ID_EMULATORの代わりに任意の値を書き込みます。次に例を示します。









    次に、デバイスでアプリケーションを起動し、logcatを参照してください。 そこに次のようなログがあります:









    次に行うことは明確です-結果のコードを上記のメソッドにコピーして、楽しんでください。





    それは夜でした、私は眠りたかったです、一般に、私の間違いを繰り返さないでください:

    実際のデバイスのIDを検索する場合-アプリケーションが実行されているデバイスのlogcatを選択することを忘れないでください(たとえば、さらにいくつかのエミュレーターを実行しており、必要なIDがエミュレーターログに表示されない理由を永続的に理解できませんでした)





書かれているとおりにすべてを行ったようで、すべてが機能するはずです。そして、次の機能で作業するために寝る必要がありますが...



ステップ6


行のどこかで、 google-services.jsonがなければ機能しません。 ほとんどの場合、このファイルはまだありません。 一緒に検索しましょう。



Googleは、 google-services.jsonの作成方法に関する指示の「シート」を提供します 。 しかし、私は質問がありました-あなたは本当にこのファイルを2k16で自分で座って書く必要がありますか?



答えはGoogle Developer Consoleにあります。彼らは皆、怠programmerなプログラマーの欲望について考えました。



フィールドに入力します。









続行をクリックします。 Google Sing-Inを選択します。 それは簡単です-SHA-1を記念品として知っていますか?









突然忘れられた場合-私は助けることができます。 SHA-1は、 keyltoolまたは少し不器用なものを使用して、 AS自体のgradle介して認識できます。 追加のアクションは行いたくないので、2番目の方法を選択します。









  1. サイドタブGradle( ASウィンドウの右側)をクリックします。
  2. プロジェクトを選択します(必要に応じて、[更新]をクリックします)。
  3. タスクを開く-> android;
  4. signingReportをダブルクリックします。
  5. コンソールテキストモードの実行に切り替えます(下のスクリーンショットを参照)。
  6. 後でビルドするアプリケーションを選択することを忘れないでください(signingReportではありません)。


そして、これがあなたのSHA-1です。 覚えてますか?









結果のSHA-1コードを貼り付け、[Googleサインインを有効にする]および[構成ファイルの生成を続行する]をクリックします。









さて、あなたはポイントを得る。 生成されたファイルをダウンロードして、アプリケーションのルートディレクトリにコピーします。









プロジェクトをまとめる- 完了 。 このような簡単な操作により、アプリケーションに広告が表示されるようになりました。



PS:数秒でコピーアンドペーストするだけでなく、少なくとも何かを覚えておくための写真のコード。



All Articles