表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

106/210

ionicで本気でAdMob② 広告表示テスト成功!ソースコードと手順

2022年5月27日14時04分:


今日新規で作ったプロジェクトで広告が出ませんでした。


原因は、・appID appNameの変更("capacitor.config.ts")をしたのですが、このIDはGoogleAdMobに登録済みのIDで、それに基づいたGoogleAdMob管理のIDと"android\app\src\main\AndroidManifest.xml"に記載した値が異なったためのようです。

(テスト用のアプリIDを使用していました)


GoogleAdMob:このアプリのID は登録されているが、それに対して発行したIDと異なるぞ?


と言う感じのようです。


アプリIDをGoogleAdMobから割り当てられたIDに変更する事で無事に広告表示しました。


既存のアプリIDを使用するときはご注意を!

広告表示に成功しました。


いじったソースコードとコマンド一覧(手順)を記載しますね。


インデントは、いつものように半角スペース2つを全角スペースに変換しています。


また"src\app\tab1\tab1.page.ts"については、以下のサイトからのまるごとコピーです。


capacitorでadmobでアプリ広告をAndroidで表示する

https://blog.np-sys.com/capacitor-admob-on-android/




まず手順から

(C:\MyTestに"addTab"と言う名前のプロジェクトを作りました)


コマンドプロンプトから

・cd c:\MyTest

・ionic start addTab tabs --type=angular

 作成後

・cd c:\MyTest\addTab

・ionic serve で一応確認

・ctrl+Cでionic serveを終了


・appID appNameの変更("capacitor.config.ts")


・npm install @capacitor/android@latest

・npm install --save @capacitor-community/admob

・ionic build --prod

・ionic cap add android

・npx cap sync android


・SDK関係の設定とtab1.page.tsの修正

 (VisualStudioCodeで行った。変更内容は、まとめて後述)


・ionic build --prod

・npx cap sync android

・ionic cap open android (AndorodStudioの起動)


かなり時間がかかるが、読み込み完了後、実機をPCに接続してテスト

これまた時間がかかるが広告付きアプリの表示成功!!



以下、変更したソースコードです。

(今回修正した部分は"for admob start"と"for admob end"で囲みました。)



"android\app\build.gradle"(32行から43行の表示)

---------------------------------------------------------------

dependencies {

  implementation fileTree(include: ['*.jar'], dir: 'libs')

  implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"

  implementation project(':capacitor-android')

  testImplementation "junit:junit:$junitVersion"

  androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"

  androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"

  implementation project(':capacitor-cordova-android-plugins')

  //for admob start

  implementation 'com.google.android.gms:play-services-ads:20.6.0'

  //for admob end

}

---------------------------------------------------------------



"android\app\src\main\AndroidManifest.xml"(5行から18行表示)

---------------------------------------------------------------

  <application

    android:allowBackup="true"

    android:icon="@mipmap/ic_launcher"

    android:label="@string/app_name"

    android:roundIcon="@mipmap/ic_launcher_round"

    android:supportsRtl="true"

    android:theme="@style/AppTheme">

    <!--for admob start-->

    <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->

    <meta-data

    android:name="com.google.android.gms.ads.APPLICATION_ID"

    android:value="ca-app-pub-3940256099942544~3347511713"/>

    <!--for admob end-->

    <activity

---------------------------------------------------------------



"android\variables.gradle"(すべて表示)

---------------------------------------------------------------

ext {

  minSdkVersion = 21

  //for admob start

  compileSdkVersion = 31

//  compileSdkVersion = 30

  //for admob end

  targetSdkVersion = 30

  androidxActivityVersion = '1.2.0'

  androidxAppCompatVersion = '1.2.0'

  androidxCoordinatorLayoutVersion = '1.1.0'

  androidxCoreVersion = '1.3.2'

  androidxFragmentVersion = '1.3.0'

  junitVersion = '4.13.1'

  androidxJunitVersion = '1.1.2'

  androidxEspressoCoreVersion = '3.3.0'

  cordovaAndroidVersion = '7.0.0'

}

---------------------------------------------------------------



"src\app\tab1\tab1.page.ts"(すべて表示)

---------------------------------------------------------------

import { Component } from '@angular/core';

import { AdMob, BannerAdOptions, BannerAdSize, BannerAdPosition, BannerAdPluginEvents, AdMobBannerSize } from '@capacitor-community/admob';


@Component({

 selector: 'app-tab1',

 templateUrl: 'tab1.page.html',

 styleUrls: ['tab1.page.scss']

})



export class Tab1Page {



 constructor() {

  AdMob.initialize({

   requestTrackingAuthorization: true,

   //testingDevices: ['2077ef9a63d2b398840261c8221a0c9b'],

   //initializeForTesting: true,

  });

 }


 ionViewDidEnter(){


  AdMob.addListener(BannerAdPluginEvents.Loaded, () => {

   // Subscribe Banner Event Listener

   console.log('loaded');

  });


  AdMob.addListener(BannerAdPluginEvents.SizeChanged, (size: AdMobBannerSize) => {

   // Subscribe Change Banner Size

   console.log('size changed');


  });


  const options: BannerAdOptions = {

   adId: 'ca-app-pub-3940256099942544/15453xxxxxx',//test

   adSize: BannerAdSize.BANNER,

   position: BannerAdPosition.BOTTOM_CENTER,

   margin: 100,

   isTesting: true

   // npa: true

  };

  AdMob.showBanner(options);


 }


}

---------------------------------------------------------------

ionic info


Ionic:


Ionic CLI : 6.19.0 (C:\Users\*****\AppData\Roaming\npm\node_modules\@ionic\cli)

Ionic Framework : @ionic/angular 6.1.7

@angular-devkit/build-angular : 13.2.6

@angular-devkit/schematics : 13.2.6

@angular/cli : 13.2.6

@ionic/angular-toolkit : 6.1.0


Capacitor:


Capacitor CLI : 3.5.1

@capacitor/android : 3.5.1

@capacitor/core : 3.5.1

@capacitor/ios : not installed


Utility:


cordova-res : 0.15.4

native-run : 1.6.0


System:


NodeJS : v16.14.0 (C:\Program Files\nodejs\node.exe)

npm : 8.3.1

OS : Windows 10

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ