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

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

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

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

AdMob

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

Monaca

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

Q&A

解決済

1回答

4886閲覧

monaca cordova-admob-freeがビルドエラーになる

kumakake

総合スコア42

Cordova

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

AdMob

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

Monaca

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

0グッド

0クリップ

投稿2018/10/07 22:44

Monaca + cordova-admob-pro で広告を表示していました。
今回、Monacaの環境をバージョンアップしたところ、cordova-admob-proが原因で、Androidのデバッグビルドでスプラッシュ画面表示前に起動しなくなってしまいました。

調べていく中で、cordova-admob-proはフリーで使っていると、数%でも勝手に手数料で引かれていくとの記事に遭遇し(自分では未検証です)、cordova-admob-freeに移行しようとしています。

手数料のあたりは、cordova-plugin-admob-freeが参考になると思います。

やったこと)
1)下記からcordova-plugin-admob-freeをダウンロードしてMonacaにインストールしました。
https://github.com/ratson/cordova-plugin-admob-free

2)デバッグビルドで下記のエラーが表示されました。
Failed to install 'cordova-plugin-admob-free': CordovaError: Failed to fetch plugin cordova-admob-sdk@~0.20.0 via registry.

3)cordova-admob-sdkをgithubからダウンロードしてMonacaにインストールしました。
https://github.com/rehy/cordova-admob-sdk

4)デバッグビルドで下記のエラーが表示されました。
アプリのビルドに失敗しました。次の項目を確認して下さい。
Failed to fetch plugin. There is a connection problems, or plugin speceffication is incorrect.
エラーを修正した後で、再度ビルドを行って下さい。

・ログ抜粋
Installing "cordova-plugin-admob-free" for android
Fetching plugin "cordova-promise-polyfill@~0.0.2" via npm
Installing "cordova-promise-polyfill" for android
Fetching plugin "cordova-admob-sdk@~0.20.0" via npm
Error during untar for /Users/builder/.cordova/lib/npm_cache/cordova-admob-sdk/0.20.0/package.tgz: Error: EACCES: permission denied, open '/Users/builder/.cordova/lib/npm_cache/cordova-admob-sdk/0.20.0/package/src/ios/GoogleMobileAds.framework/Headers/DFPBannerView.h'
Failed to install 'cordova-plugin-admob-free': CordovaError: Failed to fetch plugin cordova-admob-sdk@~0.20.0 via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: EACCES: permission denied, open '/Users/builder/.cordova/lib/npm_cache/cordova-admob-sdk/0.20.0/package/src/ios/GoogleMobileAds.framework/Headers/DFPBannerView.h'
at /data/build-server/cordova/7.1.0/node_modules/cordova-lib/src/plugman/fetch.js:215:37
at _rejected (/data/build-server/cordova/7.1.0/node_modules/q/q.js:797:24)
at /data/build-server/cordova/7.1.0/node_modules/q/q.js:823:30
at Promise.when (/data/build-server/cordova/7.1.0/node_modules/q/q.js:1035:31)
at Promise.promise.promiseDispatch (/data/build-server/cordova/7.1.0/node_modules/q/q.js:741:41)
at /data/build-server/cordova/7.1.0/node_modules/q/q.js:557:44
at flush (/data/build-server/cordova/7.1.0/node_modules/q/q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
Failed to restore plugin "cordova-plugin-admob-free" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin cordova-admob-sdk@~0.20.0 via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: EACCES: permission denied, open '/Users/builder/.cordova/lib/npm_cache/cordova-admob-sdk/0.20.0/package/src/ios/GoogleMobileAds.framework/Headers/DFPBannerView.h'
Discovered plugin "cordova-admob-sdk" in config.xml. Adding it to the project
Installing "cordova-admob-sdk" for android
Subproject Path: CordovaLib
Adding cordova-admob-sdk to package.json
Saved plugin info for "cordova-admob-sdk" to config.xml
--save flag or autosave detected
Saving android@/data/build-server/cordova/platforms/android/6.4.0 into config.xml file ...

質問)
対応方法をご教授下さい。
よろしくお願いいます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

いくつか問題があるようです。

  1. cordova-plugin-admob-freeは、cordova-admob-sdkを自動的に読み込むようになっています。そのため、本来であれば、cordova-plugin-admob-freeだけを組み込めばビルドできるはずです。

  2. ところが、npmに登録されているcordova-admob-sdk@0.20.0には、不具合があるようです。具体的には、cordova-admob-sdk内のGoogleMobileAds.framework/Headers 以下が読み込み権限しかなく、そのために、Monacaで正常にビルドを行うことが出来ません。

  3. cordova-admob-sdk@0.20.0をnpmのものを使わずに、手動でアップロードする場合は、一旦、cordova-plugin-admob-freeをプラグインから削除して、cordova-admob-sdkをインポートしてから cordova-plugin-admob-freeのインストールしないといけません。(cordova-admob-sdkを先にインポートということです) そうしないと、cordova-plugin-admob-freeが先に組み込まれてしまい、その時に自動的にnpmに登録されているcordova-admob-sdkの方がインポートされてしまいます。

  4. プラグインをzipでインポートする場合のcordova-admob-sdkは

https://github.com/rehy/cordova-admob-sdk
ではなく
https://gitlab.com/ratson/cordova-admob-sdk
のものを使ってください。(こちらが本家です)

以上をまとめると、次のどちらかの方法で組み込めば、正常にビルドできるようです。

[1]. cordova-plugin-admob-free@0.19.0を利用する

または

[2] cordova-admob-sdk のバージョン 0.20.0 を https://gitlab.com/ratson/cordova-admob-sdk (本家サイト)からダウンロードして、zipファイルとしてMonacaに組み込みます。(https://gitlab.com/ratson/cordova-admob-sdk/tags の0.20.0からzipファイルをダウンロードすると簡単です)、
続いて、cordova-plugin-admob-free@0.20.0を組み込みます。(これは、zipでなくパッケージ名で「cordova-plugin-admob-free@0.20.0」としてMonacaに組み込む方が良いです。zipで組み込む場合、githubから取得したものには、www/admob.jsが入っていないので、自分のローカル環境でビルドして、一旦、www/admob.jsを生成してから、更にzip圧縮してMonacaに組み込む必要があります)

投稿2018/10/09 11:44

KNaito

総合スコア376

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

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

kumakake

2018/10/10 07:41

ありがとうございます! 0.19.0のインストールをしてみます!
kumakake

2018/10/10 13:19

0.19.0だと、admob not definedとなってしまい、デバッガーをビルドしてみたところ、cordova-admob-sdkは出てくるのですが、cordova-plugin-admob-freeが表示されなかったです。 [2]では動作してくれました。
KNaito

2018/10/10 13:35 編集

報告ありがとうございます。0.19は動かなかったんですね。お手数をおかけしてすみません。現在のバージョンには対応してないのかな。 でも、0.20は動作したようでよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問