|
|
(同じ利用者による、間の15版が非表示) |
行1: |
行1: |
− | ==ダウンロード==
| + | [[cordova/admob/基本]] |
− | https://github.com/admob-plus/admob-plus
| + | |
| | | |
− | zipを落としてきて、unzipして適当なdirに置く。
| + | [[cordova/admob/mediation]] |
− | | + | |
− | | + | |
− | ==admobのサンプルをビルド==
| + | |
− | cd examples/basic
| + | |
− | | + | |
− | ==androidの場合==
| + | |
− | cordova platform add android
| + | |
− | cordova requirements android
| + | |
− | cordova build android
| + | |
− | cordova run android
| + | |
− | | + | |
− | テストフラグ付きで、リワード&インステ静止画&フッターバナーが起動する
| + | |
− | | + | |
− | ==iosの場合==
| + | |
− | ===GADMobileAdsなどがないエラー===
| + | |
− | Use of unresolved identifier 'GADMobileAds'
| + | |
− | 以下podを更新して、Google-Mobile-Adsを入れる
| + | |
− | cd examples/basic/platforms/ios
| + | |
− | pod update
| + | |
− | Installing Google-Mobile-Ads-SDK 7.60.0 (was 7.57.0 and source changed to `https://cdn.cocoapods.org/` from `trunk`)
| + | |
− | | + | |
− | コードの1行目に以下を追加
| + | |
− | import GoogleMobileAds
| + | |
− | | + | |
− | 直らなければ、Podfileを以下のように
| + | |
− | <pre>
| + | |
− | target 'AdmobBasicExample' do
| + | |
− | project 'AdmobBasicExample.xcodeproj'
| + | |
− | use_frameworks!
| + | |
− | pod 'Firebase/Core'
| + | |
− | pod 'Firebase/AdMob'
| + | |
− | end
| + | |
− | </pre>
| + | |
− | | + | |
− | ===GOOGLE_APP_ID in GoogleService-Info.plistのエラーが出るとき===
| + | |
− | PodFileに pod 'Firebase/AdMob'を追加すると以下が出るかも。
| + | |
− | AdmobBasicExample[11216:228420] - <AppMeasurement>[I-ACS020006] Google App ID from GoogleService-Info.plist is empty. Please, define GOOGLE_APP_ID in GoogleService-Info.plist for Analytics to work reliably. See https://goo.gl/txkZbE
| + | |
− | plistは以下ファイルしか無いが、そこにGoogle App IDを足すのかも?
| + | |
− | platforms/ios/exportOptions.plist
| + | |
− | platforms/ios/AdmobBasicExample/AdmobBasicExample-Info.plist
| + | |
− | | + | |
− | firebaseのgoogleIdが必要になるので、Podfileを以下サンプルにあるように、戻したほうが良いかも
| + | |
− | <pre>
| + | |
− | target 'AdmobBasicExample' do
| + | |
− | project 'AdmobBasicExample.xcodeproj'
| + | |
− | pod 'Google-Mobile-Ads-SDK', '~> 7.57'
| + | |
− | end
| + | |
− | </pre>
| + | |
− | | + | |
− | ===Error Domain=NSCocoaErrorDomainが出るとき===
| + | |
− | 以下のように出る
| + | |
− | AdmobBasicExample[44159:626729] [Client] Updating selectors after delegate addition failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service
| + | |
− | on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo={NSDebugDescription=The connection to service on pid 0 named
| + | |
− | com.apple.commcenter.coretelephony.xpc was invalidated.}
| + | |
− | | + | |
− | ==各種フォーマット広告設置方法==
| + | |
− | 公式マニュアル:https://admob-plus.github.io/docs/show-banner.html
| + | |
− | | + | |
− | ==テストIdのサンプル==
| + | |
− | バナー、静止画インステ、リワード全部入り
| + | |
− | | + | |
− | config.xml
| + | |
− | <pre>
| + | |
− | <plugin name="cordova-admob-plus" spec="../../packages/cordova">
| + | |
− | <variable name="APP_ID_ANDROID" value="ca-app-pub-3940256099942544~3347511713" />
| + | |
− | <variable name="APP_ID_IOS" value="ca-app-pub-3940256099942544~1458002511" />
| + | |
− | </plugin>
| + | |
− | </pre>
| + | |
− | www/js/index.js
| + | |
− | <pre>
| + | |
− | 'use strict'
| + | |
− | | + | |
− | const app = {
| + | |
− | initialize() {
| + | |
− | document.addEventListener(
| + | |
− | 'deviceready',
| + | |
− | this.onDeviceReady.bind(this),
| + | |
− | false,
| + | |
− | )
| + | |
− | },
| + | |
− | onDeviceReady() {
| + | |
− | this.receivedEvent('deviceready')
| + | |
− | | + | |
− | this.checkIsLoaded().then(() => this.showAds())
| + | |
− | },
| + | |
− | checkIsLoaded() {
| + | |
− | return admob.interstitial.isLoaded().then(result => {
| + | |
− | alert(result)
| + | |
− | return result
| + | |
− | })
| + | |
− | },
| + | |
− | showAds() {
| + | |
− | admob.banner.show({ id: 'test', npa: '1' }).catch(console.log)
| + | |
− | admob.interstitial
| + | |
− | .load({ id: 'test' })
| + | |
− | .then(() => admob.interstitial.show())
| + | |
− | .catch(console.log)
| + | |
− | admob.rewardVideo
| + | |
− | .load({ id: 'test' })
| + | |
− | .then(() => admob.rewardVideo.show())
| + | |
− | .catch(console.log)
| + | |
− | },
| + | |
− | receivedEvent(id) {
| + | |
− | const parentElement = document.getElementById(id)
| + | |
− | const listeningElement = parentElement.querySelector('.listening')
| + | |
− | const receivedElement = parentElement.querySelector('.received')
| + | |
− | listeningElement.setAttribute('style', 'display:none;')
| + | |
− | receivedElement.setAttribute('style', 'display:block;')
| + | |
− | console.log(`Received Event: ${id}`)
| + | |
− | },
| + | |
− | }
| + | |
− | | + | |
− | app.initialize()
| + | |
− | </pre>
| + | |
− | | + | |
− | | + | |
− | ===バナー===
| + | |
− | <pre>
| + | |
− | document.addEventListener('deviceready', () => {
| + | |
− | admob.banner.show({
| + | |
− | id: {
| + | |
− | // replace with your ad unit IDs
| + | |
− | android: 'ca-app-pub-xxx/yyy',
| + | |
− | ios: 'ca-app-pub-xxx/zzz',
| + | |
− | },
| + | |
− | }).then(() => {
| + | |
− | setTimeout(() => {
| + | |
− | admob.banner.hide({
| + | |
− | // replace with your ad unit IDs
| + | |
− | android: 'ca-app-pub-xxx/yyy',
| + | |
− | ios: 'ca-app-pub-xxx/zzz',
| + | |
− | })
| + | |
− | }, 10000)
| + | |
− | })
| + | |
− | }, false)
| + | |
− | </pre>
| + | |
− | | + | |
− | ==インステ==
| + | |
− | <pre>
| + | |
− | document.addEventListener('deviceready', () => {
| + | |
− | admob.interstitial.load({
| + | |
− | id: {
| + | |
− | // replace with your ad unit IDs
| + | |
− | android: 'ca-app-pub-xxx/yyy',
| + | |
− | ios: 'ca-app-pub-xxx/zzz',
| + | |
− | },
| + | |
− | }).then(() => admob.interstitial.show())
| + | |
− | }, false)
| + | |
− | </pre>
| + | |
− | | + | |
− | ==リワード==
| + | |
− | <pre>
| + | |
− | document.addEventListener('deviceready', () => {
| + | |
− | admob.rewardVideo.load({
| + | |
− | id: {
| + | |
− | // replace with your ad unit IDs
| + | |
− | android: 'ca-app-pub-xxx/yyy',
| + | |
− | ios: 'ca-app-pub-xxx/zzz',
| + | |
− | },
| + | |
− | }).then(() => admob.rewardVideo.show())
| + | |
− | }, false)
| + | |
− | </pre>
| + | |
− | | + | |
− | ==その他参考==
| + | |
− | ===ca-app-pub-が書かれてる場所一覧===
| + | |
− | AppIdや広告Idが違うなどと出たら、確認する。
| + | |
− | <pre>
| + | |
− | .//platforms/ios/AdmobBasicExample/Plugins/cordova-admob-plus/AMSPlugin.swift
| + | |
− | .//platforms/ios/AdmobBasicExample/AdmobBasicExample-Info.plist
| + | |
− | .//platforms/ios/www/plugins/cordova-admob-plus/www/admob.js
| + | |
− | .//platforms/ios/ios.json
| + | |
− | .//platforms/ios/platform_www/plugins/cordova-admob-plus/www/admob.js
| + | |
− | .//platforms/ios/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds
| + | |
− | .//platforms/ios/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/Headers/GADRewardedAd.h
| + | |
− | .//platforms/ios/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/Headers/GADInterstitial.h
| + | |
− | .//platforms/ios/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/Headers/GADNativeExpressAdView.h
| + | |
− | .//platforms/ios/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/Headers/GADBannerView.h
| + | |
− | .//platforms/ios/AdmobBasicExample.xcarchive/Products/Applications/AdmobBasicExample.app/AdmobBasicExample
| + | |
− | .//platforms/ios/AdmobBasicExample.xcarchive/Products/Applications/AdmobBasicExample.app/www/plugins/cordova-admob-plus/www/admob.js
| + | |
− | .//platforms/ios/AdmobBasicExample.xcarchive/Products/Applications/AdmobBasicExample.app/Info.plist
| + | |
− | .//platforms/android/app/build/intermediates/bundle_manifest/debug/processDebugManifest/bundle-manifest/AndroidManifest.xml
| + | |
− | .//platforms/android/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
| + | |
− | .//platforms/android/app/build/intermediates/instant_app_manifest/debug/processDebugManifest/instant-app-manifest/AndroidManifest.xml
| + | |
− | .//platforms/android/app/build/intermediates/merged_assets/debug/mergeDebugAssets/out/www/plugins/cordova-admob-plus/www/admob.js
| + | |
− | .//platforms/android/app/build/intermediates/transforms/dexMerger/debug/0/classes.dex
| + | |
− | .//platforms/android/app/build/intermediates/transforms/externalLibsDexMerger/debug/0/classes.dex
| + | |
− | .//platforms/android/app/build/intermediates/transforms/dexBuilder/debug/41/admob/plugin/AdMob.dex
| + | |
− | .//platforms/android/app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/admob/plugin/AdMob.class
| + | |
− | .//platforms/android/app/src/main/AndroidManifest.xml
| + | |
− | .//platforms/android/app/src/main/java/admob/plugin/AdMob.java
| + | |
− | .//platforms/android/app/src/main/assets/www/plugins/cordova-admob-plus/www/admob.js
| + | |
− | .//platforms/android/android.json
| + | |
− | .//platforms/android/platform_www/plugins/cordova-admob-plus/www/admob.js
| + | |
− | .//plugins/cordova-admob-plus/www/admob.js
| + | |
− | .//plugins/cordova-admob-plus/www/base.d.ts
| + | |
− | .//plugins/cordova-admob-plus/ts/base.ts
| + | |
− | .//plugins/cordova-admob-plus/src/ios/AMSPlugin.swift
| + | |
− | .//plugins/cordova-admob-plus/src/android/AdMob.java
| + | |
− | .//plugins/android.json
| + | |
− | .//plugins/fetch.json
| + | |
− | .//plugins/ios.json
| + | |
− | .//node_modules/cordova-admob-plus/www/admob.js
| + | |
− | .//node_modules/cordova-admob-plus/www/base.d.ts
| + | |
− | .//node_modules/cordova-admob-plus/ts/base.ts
| + | |
− | .//node_modules/cordova-admob-plus/src/ios/AMSPlugin.swift
| + | |
− | .//node_modules/cordova-admob-plus/src/android/AdMob.java
| + | |
− | .//config.xml
| + | |
− | .//package.json
| + | |
− | </pre>
| + | |