2

iOS用のGoogleAdMobを使用しています:

Google AdMob

これらの広告をプログラムでオフにして、表示を停止できるかどうか疑問に思いました。SDKを読んだ後、広告のオンとオフを切り替える場所がどこにも表示されません。

編集:

これが私がGoogleAdMobコードをロードする方法です:

MainViewController.m

- (void) viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    // Create a view of the standard size at the bottom of the screen.
    // Available AdSize constants are explained in GADAdSize.h.
    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
    // Must be a better way to position at bottom of page
    [bannerView_ setCenter:CGPointMake(kGADAdSizeBanner.size.width/2, 455)];
    // 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;
    [self.view addSubview:bannerView_];

    // Initiate a generic request to load it with an ad.
    GADRequest *request = [GADRequest request];
    // remove this line when you are ready to deploy for real
    request.testing = YES;
    [bannerView_ loadRequest:request];
}

クラス実装内のスーパービューを無効にしたい:

MainViewControllerこれは、サブビューをループするためにこれまでに試したコードです。

適切なサブビューを見つけたらGADBannerView、それを削除できるようにしたいと思います。

OtherClass.m

- (void)disableAds
{
    // Turn the ads off.
    UIViewController *mainView = [[UIViewController alloc] initWithNibName:@"MainViewController" bundle:[NSBundle mainBundle]];
    for (UIView *subview in [mainView.view subviews]) {
        NSLog(@"View(s): %@", subview);
    }
}
4

3 に答える 3

4

クラスの実装は実際にはプラグインだったので、次のコードを使用できました。

for (UIView *subview in [self.viewController.view subviews]) {
    if([subview isKindOfClass:[GADBannerView class]]) {
        [subview removeFromSuperview];
    }
}

Phonegap のドキュメントによると、すべてのプラグインにはself.viewControllerプロパティがあります。GADBannerViewそのため、スーパービューからループして のみを削除するだけでした。

もちろん#import "GADBannerView.h"、最初にプラグイン クラスの実装を行う必要があったため、GADBannerView.

于 2012-09-07T12:15:23.270 に答える
3

admobの経験がなければ、BannerViewとコントローラーを無効にするだけです

のようなbannerView = nilまたは[bannerView release]

また[bannerView removeFromSuperview]、またはbannerView.hidden = YES


あなた自身の答えと追加されたコードから、あなたがする必要があるのは

 -(void)disableAds
{
    // Turn the ads off.
    [bannerView_ removeFromSuperview];
}
于 2012-09-07T06:58:26.890 に答える