日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

admob 接入

發布時間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 plaincopy
  • //?Admob?Banner廣告??
  • #import?"GADBannerView.h"??
  • #import?"GADBannerViewDelegate.h"??
  • ??
  • @class?RootViewController;??
  • ??
  • @interface?AppController?:?NSObject?<UIApplicationDelegate,?GADBannerViewDelegate>?{??
  • ????UIWindow?*window;??
  • ????RootViewController????*viewController;??
  • ??????
  • ????//?將其中一個聲明為實例變量??
  • ????GADBannerView?*bannerView_;??
  • }??
  • ??
  • @end??

  • 其中引入的兩個頭文件就是與Admob中Banner相關的。而繼承的GADBannerViewDelegrate類是監聽是否接受到Banner請求,做回調用的。

    5、初始化和顯示Banner廣告。打開AppController.mm文件,在didFinishLaunchingWithOptions函數中添加以下代碼來對Banner進行初始化:

    [objc]?view plaincopy
  • -?(BOOL)application:(UIApplication?*)application?didFinishLaunchingWithOptions:(NSDictionary?*)launchOptions?{??????
  • ??????
  • ????//?Override?point?for?customization?after?application?launch.??
  • ??
  • ????//?Add?the?view?controller's?view?to?the?window?and?display.??
  • ????window?=?[[UIWindow?alloc]?initWithFrame:?[[UIScreen?mainScreen]?bounds]];??
  • ??????
  • ????//?Init?the?EAGLView??
  • ????EAGLView?*__glView?=?[EAGLView?viewWithFrame:?[window?bounds]??
  • ?????????????????????????????????????pixelFormat:?kEAGLColorFormatRGB565??
  • ?????????????????????????????????????depthFormat:?GL_DEPTH24_STENCIL8_OES??
  • ??????????????????????????????preserveBackbuffer:?NO??
  • ??????????????????????????????????????sharegroup:?nil??
  • ???????????????????????????????????multiSampling:?NO??
  • ?????????????????????????????????numberOfSamples:?0];??
  • ??
  • ????//?Use?RootViewController?manage?EAGLView???
  • ????viewController?=?[[RootViewController?alloc]?initWithNibName:nil?bundle:nil];??
  • ????viewController.wantsFullScreenLayout?=?YES;??
  • ????viewController.view?=?__glView;??
  • ??
  • ????//?Set?RootViewController?to?window??
  • ????if?(?[[UIDevice?currentDevice].systemVersion?floatValue]?<?6.0)??
  • ????{??
  • ????????//?warning:?addSubView?doesn't?work?on?iOS6??
  • ????????[window?addSubview:?viewController.view];??
  • ????}??
  • ????else??
  • ????{??
  • ????????//?use?this?method?on?ios6??
  • ????????[window?setRootViewController:viewController];??
  • ????}??
  • ??????
  • ????//?=================添加Admob?Banner廣告==========??
  • ????//?在屏幕頂部創建標準尺寸的視圖。??
  • ????//?在GADAdSize.h中對可用的AdSize常量進行說明。??
  • ?????????//?kGADAdSizeSmartBannerPortrait是Admob版本6.0.0之后支持智能橫幅廣告,??
  • ????bannerView_?=?[[GADBannerView?alloc]?initWithAdSize:kGADAdSizeSmartBannerPortrait];??
  • ??????
  • ????//?指定廣告單元ID。??
  • ????bannerView_.adUnitID?=?@"Your_Banner_ID";??
  • ??????
  • ????//設置代理??
  • ????[bannerView_?setDelegate:self];??
  • ??????
  • ????//?告知運行時文件,在將用戶轉至廣告的展示位置之后恢復哪個UIViewController??
  • ????//?并將其添加至視圖層級結構。??
  • ????bannerView_.rootViewController?=?viewController;??
  • ????[viewController.view?addSubview:bannerView_];??
  • ??????
  • ????//?啟動一般性請求并在其中加載廣告。??
  • ????[bannerView_?loadRequest:[GADRequest?request]];??
  • ??????
  • ????//?===================End=================??
  • ??????
  • ????[window?makeKeyAndVisible];??
  • ??????
  • ????[[UIApplication?sharedApplication]?setStatusBarHidden:true];??
  • ??????
  • ????cocos2d::CCApplication::sharedApplication()->run();??
  • ??
  • ????return?YES;??
  • }??
  • 記得換上自己的Admob廣告ID:

    [objc]?view plaincopy
  • bannerView_.adUnitID?=?@"Your_Banner_ID";??
  • 其中的kGADAdSizeSmartBannerPortrait表示橫幅廣告的寬度會自動根據屏幕的寬度去自動適應(包括:橫屏和豎屏的時候),具體可以參考官方說明:https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners。

    [objc]?view plaincopy
  • //設置代理??
  • ????[bannerView_?setDelegate:self];??
  • 還有這句代碼的意思,其實說:為bannerView_添加一個監聽,也就是上面AppContoller.h里面繼承的GADBannerViewDelegrate類。

    6、實現GADBannerViewDelegrate類的兩個回調函數:adViewDidReceiveAd 和?didFailToReceiveAdWithError,具體代碼如下:

    [objc]?view plaincopy
  • //實現GADBannerView的代理函數??
  • -?(void)adViewDidReceiveAd:(GADBannerView?*)view?{??
  • ????//?設置Banner的位置??
  • ????CGRect?contentFrame?=?viewController.view.bounds;??
  • ????CGRect?bannerFrame?=?CGRectZero;??
  • #if?__IPHONE_OS_VERSION_MIN_REQUIRED?<?__IPHONE_6_0??
  • ????bannerFrame?=?_bannerView.frame;??
  • #else??
  • ????bannerFrame.size?=?[bannerView_?sizeThatFits:contentFrame.size];??
  • #endif??
  • ????bannerFrame.origin.x?=?(contentFrame.size.width?-?bannerFrame.size.width)?/?2;??
  • ??????
  • ????//?Banner廣告將顯示在最底部??
  • ????contentFrame.size.height?-=?bannerFrame.size.height;??
  • ????bannerFrame.origin.y?=?contentFrame.size.height;??
  • ??????
  • ????//?這行代碼會改變屏幕的高度,等于是廣告的Banner和游戲畫面按照縱向的線性布局了??
  • //????viewController.view.frame?=?contentFrame;??
  • ??????
  • ????//?更改Banner位置??
  • ????bannerView_.frame?=?bannerFrame;??
  • }??
  • ??
  • //?獲取Admob?Banner廣告失敗后的回調函數??
  • -(void)adView:(GADBannerView?*)view?didFailToReceiveAdWithError:(GADRequestError?*)error?{??
  • ????[view?setHidden:YES];??
  • ????NSLog(@"Failed?to?receive?ad?%@",?[error?localizedDescription]);??
  • ??????
  • ????//?設置Banner的位置??
  • ????CGRect?contentFrame?=?viewController.view.bounds;??
  • ????CGRect?bannerFrame?=?CGRectZero;??
  • #if?__IPHONE_OS_VERSION_MIN_REQUIRED?<?__IPHONE_6_0??
  • ????bannerFrame?=?_bannerView.frame;??
  • #else??
  • ????bannerFrame.size?=?[bannerView_?sizeThatFits:contentFrame.size];??
  • #endif??
  • ????bannerFrame.origin.x?=?(contentFrame.size.width?-?bannerFrame.size.width)?/?2;??
  • ????bannerFrame.origin.y?=?contentFrame.size.height;??
  • ????//?更改Banner位置??
  • ????bannerView_.frame?=?bannerFrame;??
  • }??
  • http://blog.csdn.net/lognic10/article/details/25521449

    7、別忘了退出程序的時候釋放一下bannerView:

    [objc]?view plaincopy
  • -?(void)dealloc?{??
  • ????//?如果您在項目中使用ARC,請勿發布bannerView_??
  • ????[bannerView_?release];??
  • ????[window?release];??
  • ????[super?dealloc];??
  • }??

  • 總結

    以上是生活随笔為你收集整理的admob 接入的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。