Cordova 1.9.0 を使用し、iOS 用の Admob 広告を実装しようとすると、self.viewController でエラーが発生します...: プロパティ viewController が見つかりません。modalViewController、parentViewController、...を試しましたが、正しく動作しません。iOS 向け AdMob の実装方法 JavaScript から広告を有効/無効にする必要があります。説明へのリンク: https://groups.google.com/forum/?fromgroups#!topic/phonegap/_Lf4o6xiUK0 ありがとうございます。
2 に答える
admobをiosphonegapに統合するには、次の手順に従います
xcodeで通常の日常のphonegap(1.0.0)プロジェクトを作成します
GoogleAdMobAdsSDKフォルダーと必要なAdMobフレームワークをインポートします(phonegapプロジェクトにまだ含まれていないのはMessageUI.frameworkだけだと思います)
AppDelegate.hで–実装してから#import“ GADBannerView.h”&GADBannerView*bannerView_を追加します。@interfaceに
AppDelegate.m – #define MY_BANNER_UNIT_ID @” Your AdMob Publisher ID#Here”ここで注意が必要な部分です。これにより、しばらくの間壁に頭をぶつけました
5.)メソッドwebViewDidFinishLoadをこれに変更します。。。
(void)webViewDidFinishLoad:(UIWebView *)theWebView {
bannerView_ = [[GADBannerView alloc]init]; [bannerView_ setDelegate:self]; [bannerView_ setFrame:CGRectMake(0, 0, 320, 50)]; // Specify the ad's "unit identifier." This is your AdMob Publisher ID. bannerView_.adUnitID = MY_BANNER_UNIT_ID; // Let the runtime know which UIViewController to restore after taking // the user wherever the ad goes and add it to the view hierarchy. bannerView_.rootViewController = self.viewController; [self.viewController.view addSubview:bannerView_]; // Initiate a generic request to load it with an ad. [bannerView_ loadRequest:[GADRequest request]]; // only valid if AdGap.plist specifies a protocol to handle if(self.invokeString) { // this is passed before the deviceready event is fired, so you can access it in js when you receive deviceready NSString* jsString = [NSString stringWithFormat:@"var invokeString = \"%@\";", self.invokeString]; [theWebView stringByEvaluatingJavaScriptFromString:jsString]; } return [ super webViewDidFinishLoad:theWebView ];
}
そしてそれは行われました
それでもクエリが見つかった場合は、このガイドをよく見てください 。アドモブをPHONEGAP(IOS)に適用する
このプラグインを試してみるクリックして表示
プラグ
インを追加
cordova plugin add cordova-admob
次に、以下のコードを JavaScript ファイルに追加し、ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB を自分の ID に変更します。
function onDeviceReady() {
document.removeEventListener('deviceready', onDeviceReady, false);
// Set AdMobAds options:
admob.setOptions({
publisherId: "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB", // Required
interstitialAdId: "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII", // Optional
});
// Start showing banners (automatic when autoShowBanner is set to true)
admob.createBannerView();
// Request interstitial (will present automatically when autoShowInterstitial is set to true)
admob.requestInterstitialAd();
}
document.addEventListener("deviceready", onDeviceReady, false);