admob 接入

android 

接入文档 https://firebase.google.com/docs/admob/android/games

https://developers.google.com/admob/android/banner

android 激励视频接入  

https://support.vungle.com/hc/en-us/articles/207604108

1.接入admob视频系统

2.将vngle适配器和sdk集成到您的android项目中

dagger-2.7.jar

eventbus-2.2.1.jar

javax.inject-1.jar

rxjava-1.2.0.jar

vngle-publisher-adpater.jaar

vngleadpter.aar

下载地址

https://s3.amazonaws.com/vvv-releases/admob/VungleAdMobAndroid-2.2.0.zip

https://v.vungle.com/dashboard/api/1/sdk/android

或者直接去vungle官网下载

更新应用级build.gradle\

dependencies {
  compile fileTree(dir:'libs', include: ['*.jar'])  // Vungle SDK
  compile(name:'VungleAdapter','ext':'aar')  // Vungle Adapter for AdMob
}
repositories {
  jcenter()
  flatDir {
      dirs'libs'
  }
}

,更新xml


3. 进入vungle 后台创建 应用获取appid


4.进入admob 后台,创建。应用。。创建激励广告。

5. 点击中介-》创建中介组-》,点击广告来源选择vungle



输入 vungle 官网申请的appid ,然后保存。就可以了


1、 先去Google官网下载最新的IOS版本的SDK:https://developers.google.com/mobile-ads-sdk/download#downloadios

2、解压下载后的zip包,把包里面的文件全部添加到xcode项目IOS目录下。

3、引入开发框架。点击你具体的项目-->Build Phases标签-->Link Binary With Libraries,然后点击“+”添加以下几个开发框架:

GoogleMobileAds

MediaPlayer.framework

GameController.framework

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics
  • MessageUI
  • StoreKit
  • SystemConfiguration
  • CoreTelephony (注意这个在官网上面没用标明)
  • EventKitUI(新版本:6.12.0需新增的库)

  • EventKit(新版本:6.12.0需新增的库)

    CoreMedia(新版本:7.2.2需新增的库)

  • CFNetwork.framework
    GLKit.far
    CoreVideo.framework
    MobileCoreServices.framework
    CFNetwork.framework

具体Xcode设置可参考官方说明:https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start

特别提醒:配置Xcode环境时,记得要-ObjC添加至应用目标构建设置中的Other Linker Flags

  1. 在Xcode的项目导航器中,按蓝色的顶级项目图标。

   2. 点击目标,然后点击Build Settings标签。

   3. 在Other Linker Flags下,将-ObjC同时添加至DebugRelease

如果不设置的话,运行时会报异常:

<code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;"><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">***</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;"> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(43, 145, 175);">Terminating</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;"> app due to uncaught exception </span><span class="str" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">'NSInvalidArgumentException'</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">,</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;"> reason</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;">:</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent;"> </span><span class="str" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; color: rgb(128, 0, 0);">'-[GADSlot state]: unrecognized selector sent to instance</span></code>

4、修改AppController.h文件,代码如下:

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. // Admob Banner广告  
  2. #import "GADBannerView.h"  
  3. #import "GADBannerViewDelegate.h"  
  4.   
  5. @class RootViewController;  
  6.   
  7. @interface AppController : NSObject <UIApplicationDelegate, GADBannerViewDelegate> {  
  8.     UIWindow *window;  
  9.     RootViewController    *viewController;  
  10.       
  11.     // 将其中一个声明为实例变量  
  12.     GADBannerView *bannerView_;  
  13. }  
  14.   
  15. @end  

其中引入的两个头文件就是与Admob中Banner相关的。而继承的GADBannerViewDelegrate类是监听是否接受到Banner请求,做回调用的。

5、初始化和显示Banner广告。打开AppController.mm文件,在didFinishLaunchingWithOptions函数中添加以下代码来对Banner进行初始化:

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {      
  2.       
  3.     // Override point for customization after application launch.  
  4.   
  5.     // Add the view controller's view to the window and display.  
  6.     window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];  
  7.       
  8.     // Init the EAGLView  
  9.     EAGLView *__glView = [EAGLView viewWithFrame: [window bounds]  
  10.                                      pixelFormat: kEAGLColorFormatRGB565  
  11.                                      depthFormat: GL_DEPTH24_STENCIL8_OES  
  12.                               preserveBackbufferNO  
  13.                                       sharegroup: nil  
  14.                                    multiSamplingNO  
  15.                                  numberOfSamples: 0];  
  16.   
  17.     // Use RootViewController manage EAGLView   
  18.     viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];  
  19.     viewController.wantsFullScreenLayout = YES;  
  20.     viewController.view = __glView;  
  21.   
  22.     // Set RootViewController to window  
  23.     if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)  
  24.     {  
  25.         // warning: addSubView doesn't work on iOS6  
  26.         [window addSubview: viewController.view];  
  27.     }  
  28.     else  
  29.     {  
  30.         // use this method on ios6  
  31.         [window setRootViewController:viewController];  
  32.     }  
  33.       
  34.     // =================添加Admob Banner广告==========  
  35.     // 在屏幕顶部创建标准尺寸的视图。  
  36.     // 在GADAdSize.h中对可用的AdSize常量进行说明。  
  37.          // kGADAdSizeSmartBannerPortrait是Admob版本6.0.0之后支持智能横幅广告,  
  38.     bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];  
  39.       
  40.     // 指定广告单元ID。  
  41.     bannerView_.adUnitID = @"Your_Banner_ID";  
  42.       
  43.     //设置代理  
  44.     [bannerView_ setDelegate:self];  
  45.       
  46.     // 告知运行时文件,在将用户转至广告的展示位置之后恢复哪个UIViewController  
  47.     // 并将其添加至视图层级结构。  
  48.     bannerView_.rootViewController = viewController;  
  49.     [viewController.view addSubview:bannerView_];  
  50.       
  51.     // 启动一般性请求并在其中加载广告。  
  52.     [bannerView_ loadRequest:[GADRequest request]];  
  53.       
  54.     // ===================End=================  
  55.       
  56.     [window makeKeyAndVisible];  
  57.       
  58.     [[UIApplication sharedApplication] setStatusBarHidden:true];  
  59.       
  60.     cocos2d::CCApplication::sharedApplication()->run();  
  61.   
  62.     return YES;  
  63. }  

记得换上自己的Admob广告ID:

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. bannerView_.adUnitID = @"Your_Banner_ID";  

其中的kGADAdSizeSmartBannerPortrait表示横幅广告的宽度会自动根据屏幕的宽度去自动适应(包括:横屏和竖屏的时候),具体可以参考官方说明:https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //设置代理  
  2.     [bannerView_ setDelegate:self];  

还有这句代码的意思,其实说:为bannerView_添加一个监听,也就是上面AppContoller.h里面继承的GADBannerViewDelegrate类。

6、实现GADBannerViewDelegrate类的两个回调函数:adViewDidReceiveAd 和 didFailToReceiveAdWithError,具体代码如下:

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //实现GADBannerView的代理函数  
  2. - (void)adViewDidReceiveAd:(GADBannerView *)view {  
  3.     // 设置Banner的位置  
  4.     CGRect contentFrame = viewController.view.bounds;  
  5.     CGRect bannerFrame = CGRectZero;  
  6. #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0  
  7.     bannerFrame = _bannerView.frame;  
  8. #else  
  9.     bannerFrame.size = [bannerView_ sizeThatFits:contentFrame.size];  
  10. #endif  
  11.     bannerFrame.origin.x = (contentFrame.size.width - bannerFrame.size.width) / 2;  
  12.       
  13.     // Banner广告将显示在最底部  
  14.     contentFrame.size.height -= bannerFrame.size.height;  
  15.     bannerFrame.origin.y = contentFrame.size.height;  
  16.       
  17.     // 这行代码会改变屏幕的高度,等于是广告的Banner和游戏画面按照纵向的线性布局了  
  18. //    viewController.view.frame = contentFrame;  
  19.       
  20.     // 更改Banner位置  
  21.     bannerView_.frame = bannerFrame;  
  22. }  
  23.   
  24. // 获取Admob Banner广告失败后的回调函数  
  25. -(void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error {  
  26.     [view setHidden:YES];  
  27.     NSLog(@"Failed to receive ad %@", [error localizedDescription]);  
  28.       
  29.     // 设置Banner的位置  
  30.     CGRect contentFrame = viewController.view.bounds;  
  31.     CGRect bannerFrame = CGRectZero;  
  32. #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0  
  33.     bannerFrame = _bannerView.frame;  
  34. #else  
  35.     bannerFrame.size = [bannerView_ sizeThatFits:contentFrame.size];  
  36. #endif  
  37.     bannerFrame.origin.x = (contentFrame.size.width - bannerFrame.size.width) / 2;  
  38.     bannerFrame.origin.y = contentFrame.size.height;  
  39.     // 更改Banner位置  
  40.     bannerView_.frame = bannerFrame;  
  41. }  
http://blog.csdn.net/lognic10/article/details/25521449

7、别忘了退出程序的时候释放一下bannerView:

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. - (void)dealloc {  
  2.     // 如果您在项目中使用ARC,请勿发布bannerView_  
  3.     [bannerView_ release];  
  4.     [window release];  
  5.     [super dealloc];  
  6. }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Android 应用中接入 AdMob 广告,需要进行以下步骤: 1. 注册 AdMob 账号并创建广告单元 2. 在 Android Studio 中添加 AdMob SDK 3. 在 AndroidManifest.xml 文件中添加必要的权限和服务 4. 在布局文件中添加 AdView 控件 5. 在代码中加载广告并显示 以下是一个简单的示例: 1. 注册 AdMob 账号并创建广告单元 在 AdMob 的网站上注册账号,并创建一个广告单元。记下广告单元 ID,稍后将用到。 2. 在 Android Studio 中添加 AdMob SDK 在 app 模块的 build.gradle 文件中添加以下依赖: ```groovy implementation 'com.google.android.gms:play-services-ads:20.4.0' ``` 3. 在 AndroidManifest.xml 文件中添加必要的权限和服务 添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ``` 添加以下服务: ```xml <service android:name="com.google.android.gms.ads.AdService" android:exported="false" /> ``` 4. 在布局文件中添加 AdView 控件 在需要显示广告的布局文件中添加 AdView 控件: ```xml <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="YOUR_AD_UNIT_ID" /> ``` 将 `adUnitId` 替换为你的广告单元 ID。 5. 在代码中加载广告并显示 在 Activity 或 Fragment 中加载广告并显示: ```java import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; public class MainActivity extends AppCompatActivity { private AdView mAdView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 加载 AdView 控件 mAdView = findViewById(R.id.adView); // 创建广告请求 AdRequest adRequest = new AdRequest.Builder().build(); // 加载广告 mAdView.loadAd(adRequest); } @Override protected void onPause() { // 暂停广告 mAdView.pause(); super.onPause(); } @Override protected void onResume() { super.onResume(); // 恢复广告 mAdView.resume(); } @Override protected void onDestroy() { // 销毁广告 mAdView.destroy(); super.onDestroy(); } } ``` 以上就是接入 AdMob 广告的基本步骤。需要注意的是,为了获得更好的广告收益,建议遵循 Google 的广告政策并遵守良好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值