2013年11月28日 星期四

ios 狀態列admob+phonegap位置

此案例會覆蓋app螢幕畫面
https://sites.google.com/site/0857appchanchuzhongxin/ios-kai-fa/-admob-she-ding-guang-gao-chu-xian-wei-zhi
廣告會自動調整位置,永遠在最底下
/*
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 */

//
//  MainViewController.h
//  HelloWorld
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//  Copyright ___ORGANIZATIONNAME___ ___YEAR___. All rights reserved.
//

#import "MainViewController.h"
#define MY_BANNER_UNIT_ID @"a0b5d79d"


@implementation MainViewController

- (id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Uncomment to override the CDVCommandDelegateImpl used
        // _commandDelegate = [[MainCommandDelegate alloc] initWithViewController:self];
        // Uncomment to override the CDVCommandQueue used
        // _commandQueue = [[MainCommandQueue alloc] initWithViewController:self];
    }
    return self;
}

- (id)init
{
    self = [super init];
    if (self) {
        // Uncomment to override the CDVCommandDelegateImpl used
        // _commandDelegate = [[MainCommandDelegate alloc] initWithViewController:self];
        // Uncomment to override the CDVCommandQueue used
        // _commandQueue = [[MainCommandQueue alloc] initWithViewController:self];
    }
    return self;
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

#pragma mark View lifecycle

- (void)viewWillAppear:(BOOL)animated
{
    // View defaults to full size.  If you want to customize the view's size, or its subviews (e.g. webView),
    // you can do so here.

    [super viewWillAppear:animated];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
   
    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
   
    /* 1設定絕對位置/////////////////////
    
     [bannerView_ setFrame:CGRectMake(0,
    
     0,
    
     bannerView_.bounds.size.width,
    
     bannerView_.bounds.size.height)];*/
   
    bannerView_ = [[GADBannerView alloc]
                  
                   initWithFrame:CGRectMake(0.0,
                                           
                                            0.0 -
                                           
                                            GAD_SIZE_320x50.height,
                                           
                                            GAD_SIZE_320x50.width,
                                           
                                            GAD_SIZE_320x50.height)];
   
   
   
    bannerView_.delegate = self;
   
    CGRect navBarFrame = bannerView_.frame;
   
    navBarFrame.origin.y = self.view.frame.size.height - navBarFrame.size.height;
   
    bannerView_.frame = navBarFrame;
   
    [self.view addSubview:bannerView_];
   
    //[bannerView_ setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin];
   
    [bannerView_ setAutoresizingMask:(UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin)];
   
    // Must be a better way to position at bottom of page
   
   // [bannerView_ setCenter:CGPointMake(kGADAdSizeBanner.size.width/2, 70)];
   
    // 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.
   
   
   
    // remove this line when you are ready to deploy for real
   
    //request.testing = yes;
   
    [bannerView_ loadRequest:[GADRequest request]];
    // Do any additional setup after loading the view from its nib.
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return [super shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

/* Comment out the block below to over-ride */

/*
- (UIWebView*) newCordovaViewWithFrame:(CGRect)bounds
{
    return[super newCordovaViewWithFrame:bounds];
}
*/

#pragma mark UIWebDelegate implementation

- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
    // Black base color for background matches the native apps
    theWebView.backgroundColor = [UIColor blackColor];

    return [super webViewDidFinishLoad:theWebView];
}

/* Comment out the block below to over-ride */

/*

- (void) webViewDidStartLoad:(UIWebView*)theWebView
{
    return [super webViewDidStartLoad:theWebView];
}

- (void) webView:(UIWebView*)theWebView didFailLoadWithError:(NSError*)error
{
    return [super webView:theWebView didFailLoadWithError:error];
}

- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
    return [super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
}
*/

@end

@implementation MainCommandDelegate

/* To override the methods, uncomment the line in the init function(s)
   in MainViewController.m
 */

#pragma mark CDVCommandDelegate implementation

- (id)getCommandInstance:(NSString*)className
{
    return [super getCommandInstance:className];
}

/*
   NOTE: this will only inspect execute calls coming explicitly from native plugins,
   not the commandQueue (from JavaScript). To see execute calls from JavaScript, see
   MainCommandQueue below
*/
- (BOOL)execute:(CDVInvokedUrlCommand*)command
{
    return [super execute:command];
}

- (NSString*)pathForResource:(NSString*)resourcepath;
{
    return [super pathForResource:resourcepath];
}

@end

@implementation MainCommandQueue

/* To override, uncomment the line in the init function(s)
   in MainViewController.m
 */
- (BOOL)execute:(CDVInvokedUrlCommand*)command
{
    return [super execute:command];
}

@end

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。