AdWhirl 3.0 + AdMob (iPhone+iPad App) 設置方法

AdWhirl 3.0 + AdMob (iPhone+iPad App) 設置方法

如果你正在尋找如何設置 AdWhirl SDK到XCode Project 可參看 AdWhirl 3.0 + AdMob (iPhone+iPad App) 設置方法

要 AdWhirl與 AdMob的支援你的Universal App,使其同時在iPhone和iPad正常顯示,首先需要在AdMob 及AdWhirl把App 加入成兩個單獨的App,一個用於 iPhone和一個 iPad的。故先轉到 AdMob的,添加App兩次,獲得將舉兩個Publisher ID。把這兩個Publisher ID在AdWhirl中在相應的App Profile 中設置。最後您將有兩個 AdWhirl App,一個是iPhone 的,另一個iPad的, 並在每個其中,有相應的AdMob Publisher ID。

在 AdWhirlViewDelegate class 的 adWhirlApplicationKey method, 傳回iPhone/iPad相應的AdWhirl SDK Key, 如下(請把Your_AdWhirl_SDK_Key_for_iPhone和Your_AdWhirl_SDK_Key_for_iPad改成您兩個AdWhirl SDK Key):

//AdWhirlViewDelegate
- (NSString *)adWhirlApplicationKey {

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        return @"Your_AdWhirl_SDK_Key_for_iPhone";
    }
    else
    {
        return @"Your_AdWhirl_SDK_Key_for_iPad";
    }
}

在 AdWhirl SDK 3.0中的AdMob adapter “AdWhirlAdapterGoogleAdMobAds.m”,更改getAd() method:

在method 的開端加入:

  //Request the right size ad for your device
  CGSize adSize = GAD_SIZE_320x50;
  if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
        adSize = GAD_SIZE_728x90;

  CGRect adFrame = CGRectMake(0, 0, adSize.width, adSize.height);

在method 中找這一行

 GADBannerView *view = 
    [[GADBannerView alloc] initWithFrame:kAdWhirlViewDefaultFrame];

改成:

  GADBannerView *view =
    [[GADBannerView alloc] initWithFrame:adFrame];

以下是更改完成後的getAd() method:

- (void)getAd {

  //Request the right size ad for your device
  CGSize adSize = GAD_SIZE_320x50;
  if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
        adSize = GAD_SIZE_728x90;

  CGRect adFrame = CGRectMake(0, 0, adSize.width, adSize.height);

  GADRequest *request = [GADRequest request];
  NSObject *value;

  NSMutableDictionary *additional = [NSMutableDictionary dictionary];
  if ([adWhirlDelegate respondsToSelector:@selector(adWhirlTestMode)]
      && [adWhirlDelegate adWhirlTestMode]) {
    [additional setObject:@"on" forKey:@"adtest"];
  }

  if ((value = [self delegateValueForSelector:
                      @selector(adWhirlAdBackgroundColor)])) {
    [additional setObject:[self hexStringFromUIColor:(UIColor *)value]
                  forKey:@"color_bg"];
  }

  if ((value = [self delegateValueForSelector:
                      @selector(adWhirlAdBackgroundColor)])) {
    [additional setObject:[self hexStringFromUIColor:(UIColor *)value]
                   forKey:@"color_text"];
  }

  // deliberately don't allow other color specifications.

  if ([additional count] > 0) {
    request.additionalParameters = additional;
  }

  CLLocation *location =
      (CLLocation *)[self delegateValueForSelector:@selector(locationInfo)];

  if ((adWhirlConfig.locationOn) && (location)) {
    [request setLocationWithLatitude:location.coordinate.latitude
                           longitude:location.coordinate.longitude
                            accuracy:location.horizontalAccuracy];
  }

  NSString *string =
      (NSString *)[self delegateValueForSelector:@selector(gender)];

  if ([string isEqualToString:@"m"]) {
    request.gender = kGADGenderMale;
  } else if ([string isEqualToString:@"f"]) {
    request.gender = kGADGenderFemale;
  } else {
    request.gender = kGADGenderUnknown;
  }

  if ((value = [self delegateValueForSelector:@selector(dateOfBirth)])) {
    request.birthday = (NSDate *)value;
  }

  if ((value = [self delegateValueForSelector:@selector(keywords)])) {
    request.keywords = [NSMutableArray arrayWithArray:(NSArray *)value];
  }

  GADBannerView *view =
    [[GADBannerView alloc] initWithFrame:adFrame];

  view.adUnitID = [self publisherId];
  view.delegate = self;
  view.rootViewController =
      [adWhirlDelegate viewControllerForPresentingModalView];

  self.adNetworkView = [view autorelease];

  [view loadRequest:request];
}

有了上面的設置和修改,iPhone 和iPad都能顯示正確的廣告尺寸,甚至iAD。


    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值