Skip to content

Admob – Google广告接入

Admob – Google广告接入

前言

现在免费小游戏及应用的主要收入渠道就是通过接入广告。而Google的Admob适用于全球范围内的广告接入,文档方面及后台管理也是较为完善,接入还是比较便捷的。

不过Google目前还在墙外,虽然接入后广告不需要vpn就可以显示访问,但是官网设置及文档还是需要梯子的。

Admob应用广告申请设置

1、在admob网站注册帐号等。https://apps.admob.com/

2、在登录后点击“通过新的应用获利”按钮即可创建新的平台广告位。

3、添加完对应广告位后即可在“管理您的应用”按钮中找到添加的项目, 点击后可以查看应用广告具体的信息。

申请后可以得到一个adUnitID,这在后面代码中需要用到。即下图的广告单元ID

Android接入

官方文档:https://developers.google.com/admob/android/existing-app

项目环境配置:

1、Android Jdk必须升级到1.7.0以上,Android sdk要升级到Android5.0以上。

2、从SDK Manager中下载安装Google Play services并且在我们应用项目添加引用。

3、AndroidManifest.xml文件中添加清单如下,

   

   

   

       

       

        android:value=”@integer/google_play_services_version” />

       

       

            android:configChanges=”keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize”

            android:theme=”@android:style/Theme.Translucent” />

实现代码官网上都有:https://developers.google.com/admob/android/interstitial 

这里不在重复说明,说一个注意事项:测试手机需要装有Google Play 商店,否则会提示  Google Play services is missing,并且应用直接崩溃。

补充: 后来发现接入了Google 排行榜后,没有装Google Play商店也可以正常运行显示了。

IOS接入

官方文档:https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start?hl=zh-cn

实现步骤及代码同样都在官网上,这里只讲下如果不是直接在游戏的 UIViewController中调用广告显示的情况处理。

此时显示需要如下:

    if ([self.interstitial isReady]) {

        CCLOG(“ready”);

        UIApplication* clientApp = [UIApplication sharedApplication];

        UIWindow* topWindow = [clientApp keyWindow];

        if (!topWindow)

        {

            topWindow = [[clientApp windows] objectAtIndex:0];

        }

        [[topWindow rootViewController] presentViewController:self animated:NO completion:nil];

        

        [self.interstitial presentFromRootViewController:self];

    }

    else{

        CCLOG(“not ready”);

    }

同时关闭广告如下处理:

– (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {

    [self dismissViewControllerAnimated:NO  completion:nil];

    self.interstitial = [self createAndLoadInterstitial];

}

其他碰到的几个问题:

1、找不到添加的SDK库导致编译不过。

解决:官网下载的SDK包必须在Mac上进行解压。 不然Framework内的引用会不见。

2、[self.interstitial isReady] 返回值一直是false, interstitialDidReceiveAd等回调也收不到消息。

解决: 在info.plist一定要添加以下项。

    UIBackgroundModes

   

        remote-notification

   

3、显示的广告一直是 you’re displaying an interstitial test ad from admob.

解决: 将测试 的 testDevices项内容注释。

相关推荐: 印尼:电商移动端先行,阿里欲借Lazada覆盖东南亚

雨果网从英文媒体近日报道中了解到,中国电商巨头阿里巴巴集团看到印尼市场“巨大的潜力”。据了解,随着印尼政府支持电商行业,投入精力发展该行业,印尼到2020年将成为东南亚最大的电商市场。 阿里巴巴集团副主席Joseph Tsai表示,阿里巴巴认为印尼电商市场前景…

    码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.

    电子商务网站建设的重要性和好处