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

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

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

エラーが発生しました。

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

116/210

GoogleAdMobを間違って理解していました(何回目でしょう?)

まだまだ誤ったことを書いたようで恐縮です。


内容としては、


・GoogleAdMobはブランクタイプのひな型でも実装できる


という事です。(誤解の原因はあるのですがTabs型のひな型でしか出来ないと思っていました)


参考にしたのは以下のリンクです。


capacitor-community /admob

https://github.com/capacitor-community/admob


ただ、この方法、ごく一部ですがjavaのソースもいじります。

(設定ファイル関係は結構いじっていますので今更?)


また、GoogleAdMob関係を別ファイルにしてみました。初期化と表示関数を実行するだけになったので、何かと判りやすくなった気もします。


大した量では無いので、こちらにソースも記載


android/app/src/main/java/**/**/MainActivity.java

**の部分はappIDに同じです。appIDが"a.b.c.d"ならば

android/app/src/main/java/a/b/c/d/MainActivity.java

になります

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

package a.b.c.d;


import com.getcapacitor.BridgeActivity;


//ここから下のみコピーです(上はいじらない事)

//test admob start

import android.os.Bundle;

public class MainActivity extends BridgeActivity {

  @Override

  public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    registerPlugin(com.getcapacitor.community.admob.AdMob.class);

  }

}

//public class MainActivity extends BridgeActivity {}

//test admob end

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


android\app\src\main\AndroidManifest.xmlの11行目から(テスト用のadmobアプリIDです)

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

    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の2行目から

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

  minSdkVersion = 21

  //test admob start

  compileSdkVersion = 31

//  compileSdkVersion = 30

  //test admob end

  targetSdkVersion = 30

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


AdMob用の外部TSファイル。初期化とバナー表示の関数を用意

src\assets\MyCode\admob.ts

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

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


export async function admob_initialize(): Promise<void> {

 const { status } = await AdMob.trackingAuthorizationStatus();


 if (status === 'notDetermined') {

  /**

   * If you want to explain TrackingAuthorization before showing the iOS dialog,

   * you can show the modal here.

   * ex)

   * const modal = await this.modalCtrl.create({

   *  component: RequestTrackingPage,

   * });

   * await modal.present();

   * await modal.onDidDismiss(); // Wait for close modal

   **/

 }


 AdMob.initialize({

  requestTrackingAuthorization: true,

  testingDevices: ['2077ef9a63d2b398840261c8221a0c9b'],

  initializeForTesting: true,

 });

}


export async function admob_banner(): Promise<void> {

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

   // Subscribe Banner Event Listener

  });


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

   // Subscribe Change Banner Size

  });


  const options: BannerAdOptions = {

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

   adSize: BannerAdSize.LARGE_BANNER,

   position: BannerAdPosition.TOP_CENTER,

   margin: 0,

   isTesting: true

   // npa: true


  // //   adId: 'ca-app-pub-3940256099942544/6300978111',//for Test テスト専用広告ユニット ID

//    adId: 'ca-app-pub-8497871144212260/8154728510',//本番用

//    adSize: BannerAdSize.LARGE_BANNER,

// //   adSize: BannerAdSize.BANNER,

//    position: BannerAdPosition.TOP_CENTER,

//    margin: 0,

//    isTesting: false

 

  };

  AdMob.showBanner(options);

}

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


src\app\home\home.page.ts

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

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

import {admob_initialize,admob_banner} from '../../assets/MyCode/admob'


@Component({

 selector: 'app-home',

 templateUrl: 'home.page.html',

 styleUrls: ['home.page.scss'],

})

export class HomePage {


 constructor() {

  admob_initialize();

 }

 ionViewDidEnter(){


  admob_banner();


  // 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:


Ionic CLI : 6.19.0 (C:\Users\aticltd\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

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

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

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

↑ページトップへ