質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

2回答

1643閲覧

monacaでadmob-plus-cordovaプラグインを使用したい

k-t-d

総合スコア1

Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2023/07/08 09:26

編集2023/07/08 09:53

実現したいこと

monacaでadmob-plus-cordovaプラグインを使用したい

前提

monacaIDEで作成したAndroid向けアプリにプラグインを導入したいです、
言語はjavascript、
コンポーネントはjQuery3.7.0,Cordova(PhoneGap)Loader1.0.5,MonacaCoreUtility2.2.1
ターゲットSDKはver31
プラットフォームはAndroid10.1.2
パッケージタイプはAppBundle
となります。

こちらのサイトを参考にプラグインを導入しました。
https://senmyou.xyz/cordova-admob-plus%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%A7%E5%BA%83%E5%91%8A%E3%82%92%E8%A1%A8%E7%A4%BA/

プラグインの設定から以下の記述を追加しました。
APP_ID_ANDROID=ca-app-pub-****** AdMobで取得したIDです。
PLAY_SERVICES_VERSION=21.0.0

カスタムデバッグビルドを実施し、実機でアプリデバッグをおこないました。

発生している問題・エラーメッセージ

テスト広告が表示されません。
確認したところ、await admob.start()が動作していないようです。

該当のソースコード

showAdMob()をボタン要素からOnClickで呼び出しています。

<ons-button onclick="showAdMob()">テスト</ons-button>

JavaScriptの記述

ons.ready(async function() { init_ad(); }) var gAdMob = 0; // 広告の表示 async function showAdMob() { if (gAdMob) { await gAdMob.show() } } // AdMobの初期化処理(一回だけ実行) async function init_ad() { if (window.admob) { // AdMob SDKの初期化 console.log("start"); await admob.start(); console.log("adstarted"); // インタースティシャル広告の生成 gAdMob = new admob.InterstitialAd({ adUnitId: 'ca-app-pub-3940256099942544/1033173712' // test id }); // 広告の読み込み await gAdMob.load(); // 広告を閉じたときに発生するイベントのリスナーを登録 document.addEventListener('admob.ad.dismiss', async () => { console().log("admob is dismiss. reload"); // show()関数で再表示させるための読み込み await gAdMob.load(); }); } else { console.log("admob is undefined"); } }

試したこと

以下の公式ドキュメントのコードへ差し替えても同じようにadmob.start()が動作しませんでした。
https://admob-plus.github.io/docs/1.x/cordova

setTimeOutでawaitの挙動を確認しましたがそちらは問題ありませんでした。

解決方法がお分かりの方、ご教示お願い致します。
また、monacaで該当のプラグインの導入に成功された方、手順をご指導いただければと思います。

よろしくお願いします。

追記 試したこと

他の箇所が原因である可能性を潰すため、新たに最小限のテンプレートからプロジェクトを作成し同様にビルドを行いました。
結果、やはりテスト広告は表示されませんでした。コードの全文を下記します。

html/javascript

1<!DOCTYPE HTML> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"> 6 <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 7 <script src="components/loader.js"></script> 8 <script src="lib/onsenui/js/onsenui.min.js"></script> 9 10 <link rel="stylesheet" href="components/loader.css"> 11 <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> 12 <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> 13 <link rel="stylesheet" href="css/style.css"> 14 15 <script> 16 ons.ready(function() { 17 console.log("Onsen UI is ready!"); 18 init_ad(); 19 }); 20 21var gAdMob = 0; 22 23// 広告の表示 24async function showAdMob() { 25 if (gAdMob) { 26 await gAdMob.show() 27 } 28} 29 30// AdMobの初期化処理(一回だけ実行) 31async function init_ad() { 32 if (window.admob) { 33 // AdMob SDKの初期化 34 console.log("start"); 35 await admob.start(); 36 console.log("adstart"); 37 // インタースティシャル広告の生成 38 gAdMob = new admob.InterstitialAd({ 39 adUnitId: 'ca-app-pub-3940256099942544/1033173712' // test id 40 }); 41 42 // 広告の読み込み 43 await gAdMob.load(); 44 45 // 広告を閉じたときに発生するイベントのリスナーを登録 46 document.addEventListener('admob.ad.dismiss', async () => { 47 console().log("admob is dismiss. reload"); 48 // show()関数で再表示させるための読み込み 49 await gAdMob.load(); 50 }); 51 } else { 52 console.log("admob is undefined"); 53 } 54} 55 </script> 56</head> 57<body> 58 <br /> 59 <button onclick="showAdMob()">テスト</button> 60 This is a template for Onsen UI app. 61</body> 62</html> 63

また、ons.readyの発火タイミングについても調べましたが、公式ドキュメントで利用しているdevisereadyよりも後であるため、問題ないと推察します。
https://qiita.com/keeey/items/ad06afeae0c40b52d9bd
https://ja.onsen.io/v2/guide/fundamentals.html

情報お待ちしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k-t-d

2023/07/14 03:43

moguba様のおっしゃるとおり、ver1.28.0ではテスト広告が表示されることが確認できました。 参考のURLもつけていただき、ありがとうございます。 今回の件でmonacaIDEおよびcordovaでのadmob Plusに関する日本語の情報が少ないと感じました。 同じ様な状況の陥っている方がいれば参考になればと思います。 重ね重ねありがとうごさいます。
guest

回答2

0

ベストアンサー

admob-plus-cordovaに関してですが、当方でも最新版では、広告が表示されません。
admob-plus-cordova@2.0.0-alpha.13が最新です。このバージョンでは動作しないようです。
それで、過去に遡って動作するバージョンを探すと、admob-plus-cordova@1.28.0で問題なく動作しました。
パッケージ名をadmob-plus-cordova@1.28.0とすると取得できます。
勿論、最新版も同様に、admob-plus-cordova@2.0.0-alpha.13として、取得します。
admob-plus-cordovaでやると、最新版の取得となってしまいます。
また、問題解決には、英語ですが、
https://github.com/admob-plus/admob-plus/issues
が参考になります。

投稿2023/07/13 15:29

moguba

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

当方も同じ現象です。 admob-plus-cordova@1.28.0 で試してみましたが、window.admob が undefined となります。Cordovaバージョンは12です。
同じ環境で動いている方はいらっしゃるでしょうか。。

投稿2023/09/25 06:47

nomiso

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nomiso

2023/09/26 01:43

当方、自己解決しました。 まず、2023/09/26時点のMonaca では、クラウドIDEのプラグイン設定の「利用可能なプラグイン」に、admob-plusは表示されません。(以前は表示されていたようですが・・) ですので、以下のGithubからダウンロードして手動でインストールするのですが、ビルド時に www/admob.js が無いと言われプラグインのビルドに失敗します。 https://github.com/admob-plus/admob-plus/tree/master/packages/cordova そこで、ローカルにCordova環境を構築し、Cordovaアプリを新規作成。以下のコマンドで admob-plus-cordova プラグインをインストールします。 cordova plugin add admob-plus-cordova@1.28.0 --save --variable APP_ID_ANDROID=ca-app-pub-xxx~xxx インストール後、plugins/admob-plus-cordova ディレクトリが作成されます。こちらにはwww/admob.jsがあるため、このディレクトリ admob-plus-cordova をzipにしてmonaca IDEからプラグインをインストール、APP_ID_ANDROID を設定すれば広告表示されました。 なお、最新の2.0.0ではやはり動作しませんでした。当方Cordova12環境です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問