怎么在unity3d admob里添加admob广告

关于android的知识我就不在此说明,不熟悉的朋友可以先去了解一下基础知识。
开发环境:android 4.0、admob sdk 6.1.0、unity3.5、操作系统 win7
开发前需要将 classes.jar& admob sdk 6.1.0.jar 拖到android工程 libs下面 (注意:不要通过java bulid path 导入jar包,那样老说找不到 admob的相关库)
如下所示:
本实例没有配置界面的XML,都是代码创建控件
特别说明:unity中bundle Identifier 必须为包名(本例 com.example.testadmob)
package com.example.
import com.google.ads.AdR
import com.google.ads.AdS
import com.google.ads.AdV
import android.os.B
import android.util.L
import android.view.V
import android.view.ViewGroup.LayoutP
import android.widget.LinearL
import com.unity3d.player.UnityP
import com.unity3d.player.UnityPlayerA
public class MainActivity extends UnityPlayerActivity
private AdView adV
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupAds(); //admob广告的添加
public void setupAds()
layout = new LinearLayout(this);
//创建linearLayout
layout.setOrientation(LinearLayout.VERTICAL);
//设置成垂直
addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
//layout添加到住View
adView = new AdView(this,AdSize.BANNER,"aa8cfc9");
layout.addView(adView, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
adView.setBackgroundColor(0xff000000);
adRequest=new AdRequest();
public static void ShowAds() {//unity 中调用此函数 显示广告
final MainActivity currentActivity = (MainActivity)UnityPlayer.currentA
currentActivity.runOnUiThread(new Runnable() {
public void run() {
currentActivity.showAds();
public static void HideAds() {
final MainActivity currentActivity = (MainActivity)UnityPlayer.currentA//在unity中获取当前主activity
currentActivity.runOnUiThread(new Runnable() {
public void run() {
currentActivity.hideAds();
public void showAds() {
adView.setVisibility(View.VISIBLE);
adView.loadAd(adRequest);//请求广告
Log.d("AdListener", "showAds");
public void hideAds() {
adView.setVisibility(View.GONE);
Log.d("AdListener", "hideAds");
AndroidManifest.xml 如下:
&manifest xmlns:android="/apk/res/android"
package="com.example.testadmob"
android:versionCode="1"
android:versionName="1.0" &
android:minSdkVersion="8"
android:targetSdkVersion="15" /&
&uses-permission android:name="android.permission.INTERNET"/&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&
&application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" &
&activity android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait"&
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/&
&/application&
&/manifest&
选择工程 导出&&》JAR file&&》Next&&》选择路径&&》finish& 导出jar包
在unity中新建plugins/Android& 文件夹& 将android工程下的libs、bin、res 、AndroidManifest.xml拷贝到 Android目录下。 清空bin libs下的内容,将导出的jar包和andmobsdk分别拷贝到两个文件夹下
如图所示:
unity 中调用
private AndroidJavaClass cls_TheA
cls_TheActivity = new AndroidJavaClass("com.example.testadmob.MainActivity");//对应android的包名
if(GUI.Button(new Rect(100,300,100,40),"show"))
cls_TheActivity.CallStatic("ShowAds");
if(GUI.Button(new Rect(200,300,100,40),"hide"))
cls_TheActivity.CallStatic("HideAds");
阅读(...) 评论()android中添加admob的方法总结 - 每天记录一点,进步一点 - ITeye技术网站
博客分类:
首先,你需要去admob官网()注册一个账户; 然后按照官网的提示,添加站点和应用程序
添加好了,就可以获得发布者ID和admob的jar包好了,获得的jar包,就可以根据介绍的方法为我们的应用添加广告了 1. Right click on your app project in Eclipse and choose Properties 2. Select Java Build Path and the Libraries tab. Then click Add External JARs... to add the Google AdMob Ads JAR. 3.instantiate a com.google.ads.AdActivity in its AndroidManifest.xml and make ad requests requires the networking permissions INTERNET and ACCESS_NETWORK_STATE
&?xml version="1.0" encoding="utf-8"?&
&manifest xmlns:android="/apk/res/android"
package="com.hsj.test"
android:versionCode="1"
android:versionName="1.0"&
&uses-sdk android:minSdkVersion="7" /&
&application android:icon="@drawable/icon" android:label="@string/app_name"&
&activity android:name=".UnityAdActivity"
android:label="@string/app_name"&
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/&
&/application&
&uses-permission android:name="android.permission.INTERNET"/&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&
&/manifest&
接下来,有两种方式在你的应用中加入广告:
在你的Activity里面写入下面的代码
public class UnityAdActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Create the adView
AdView adView = new AdView(this, AdSize.BANNER, "你的发布者ID");
LinearLayout layout = (LinearLayout) findViewById(R.id.adView);
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
adView.loadAd(new AdRequest());
这样就ok了,可以编译程序运行试一下。 方式二 不改动代码,只改动布局文件main.xml和attrs.xml attrs.xml
&?xml version="1.0" encoding="utf-8"?&
&resources&
&declare-styleable name="com.google.ads.AdView"&
&attr name="adSize"&
&enum name="BANNER" value="1" /&
&enum name="IAB_MRECT" value="2" /&
&enum name="IAB_BANNER" value="3" /&
&enum name="IAB_LEADERBOARD" value="4" /&
&attr name="adUnitId" format="string" /&
&/declare-styleable&
&/resources&
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
xmlns:ads="/apk/lib/com.google.ads"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"&
&com.google.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="你的发布者id"
ads:adSize="BANNER"
ads:loadAdOnCreate="true"/&
&/LinearLayout&
这样就ok了,可以编译运行。 如果在main.xml文件中不想开始就运行广告的话,可以去掉ads:loadAdOnCreate=&true&,然后在Activty中想要运行广告的地方加入代码 AdView adView = (AdView)this.findViewById(R.id.adView); adView.loadAd(new AdRequest());
tank2308635
浏览: 135475 次
来自: 北京
这个版本太老了,admob更新了。我后来尝试[url]http ...
为什么我做出来的ui无法用鼠标操作?滑块拖不动,里面的文字删不 ...
黑苹果系统或者虚拟机的苹果系统怎么安装这个呢?^_^
codeone 写道运行不了,提示BASE SDK MISSI ...
运行不了,提示BASE SDK MISSING关于unity接入admob广告插件的坑_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:69,869贴子:
关于unity接入admob广告插件的坑收藏
今天项目需求要接入广告,看了半天资料照猫画虎写了个Demo出来(╯`□′)╯(┻━┻无奈还是卡在了请求广告的步骤。AdView.loadAd(AdRequest)死活请求不到广告查了各式各样的网站,大体说国内手机不翻墙无法显示广告有没有接入过admob Sdk,有没有成功请求广告成功的大大请教一下
UI视觉,原画,插画,影视动画,VR/AR,影视后期,游戏特效,游戏设计
官方文档有demo代码啊。。可以请求的到
有个插件可以去下个试试
下载并导入插件github。com/unity-plugins/Unity-Admob然后在unity工程代码里面加入下面代码就可以了...Admob.Instance().initAdmob(&admob banner id&, &admob interstitial id&);//admob id with format ca-app-pub-88Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, 0);
→_→就是被墙了
楼主你可以了解下keymob平台,感觉挺不错的。keymob平台给广大开发者推出了banner、全屏、积分墙等广告形式。keymob平台的特色就在于丰富的广告资源、集成方便、操作简单、多样化的广告形式、多个开发平台供开发者选择。也可以通过keymob平台官网了解更多的特色功能之处。
楼主解决了么?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或Unity3D调用Admob广告服务
我的图书馆
Unity3D调用Admob广告服务
& & unity调用Admob广告服务和IOS调用没有太大区别,几乎80%的工作都是OC完成,Unity仅需要以插件形式调用OC函数就成,所以此文需要一定的OC基础,有了OC的基础后,仅需要注意一点,unity导出的xcode工程与普通Xcode不同之处在于,unity导出的iPhone_target2AppDelegate文件不起作用,他把所有的代码都放到AppController里面去了。这是需要注意的一点哦,祝大家好运!
Admob1.h文件
#import &UIKit/UIKit.h&
#import "GADBannerViewDelegate.h"
@class GADBannerView,GADR
@interface Admob1 :
UIViewController&GADBannerViewDelegate&{
GADBannerView *adBanner_;
&UIView *shareV
@property(nonatomic,retain)GADBannerView *adB
@property(nonatomic,retain)UIView *shareV
+(Admob1*)returnAdmobV
-(GADRequest*)createR
-(id)admobS
-(void)refreshAd;
Admob1.m文件
#import "Admob1.h"
#import "GADBannerView.h"
#import& "GADRequest.h"
#define AdmobID @"****************"//admob的ID
@implementation Admob1
@synthesize adBanner=adBanner_;
@synthesize shareV
static Admob1*
+(Admob1*)returnAdmobView{
if(admob==NULL){
admob=[[Admob1 alloc]init];
-(id)admobShow{
&&& CGRect
frame=CGRectMake(0.0,0.0,//self.view.frame.size.height-GAD_SIZE_320x50.height
&&&&&&&&&&&&&&&&&&&&&&&
GAD_SIZE_320x50.width,
&&&&&&&&&&&&&&&&&&&&&&&
GAD_SIZE_320x50.height);
&&& UIView
*tempView=[[[UIView alloc]initWithFrame:frame]autorelease];
adBanner_=[[[GADBannerView alloc]initWithFrame:frame]
adBanner_.adUnitID=AdmobID;
adBanner_.delegate=
&&& [adBanner_
setRootViewController:self];
[[[UIApplication sharedApplication] keyWindow]&
addSubview:tempView];//把新建的View添加到整个视图的window上
&&& [tempView
addSubview:adBanner_];//把广告view添加到新建的view上
&&& [adBanner_
loadRequest:[self createRequest]];
tempView.transform =
CGAffineTransformMakeRotation(M_PI_2);//把新建的view选装90度,也就意味着广告被选装90度,这个可以根据需求来,(注意:读者可能很纳闷,为什么要无缘无故多创建一个tempView,因为要对广告做旋转,直接操作adBanner_会有错误,所以必须的创建tempView,通过他来旋转。不做旋转的朋友
可以直接[[[UIApplication sharedApplication]
keyWindow]&
addSubview:adBanner_]),省略对tempView的操作)
&&& [[NSTimer
scheduledTimerWithTimeInterval:15 target:self
selector:@selector(refreshAd) userInfo:nil
repeats:YES]retain];//添加循环计数器,每隔15秒调用一次刷新函数
tempView.hidden=YES;//因为不想让游戏一起来,就看到广告 所以对广告隐藏,需要的时候 设置他显示
&&& return
-(void)refreshAd
&&& [adBanner_
loadRequest:[self createRequest]];//刷新广告
-(void)dealloc{
adBanner_.delegate=
[adBanner_ release];
[super dealloc];
#pragma mark GADRequest generation
// Here we're creating a simple GADRequest and whitelisting the
application
// for test ads. You should request test ads during development to
// generating invalid impressions and clicks.
-(GADRequest*)createRequest{
GADRequest *request=[GADRequest request];
&&& return
#pragma mark GADBannerViewDelegate impl
-(void)adViewDidReceiveAd:(GADBannerView *)adview{
//&&& [UIView
animateWithDuration:1.0 animations:^{
adview.frame=CGRectMake(0.0,50.0,//self.view.frame.size.height-adview.frame.size.height
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
adview.frame.size.width,
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
adview.frame.size.height);
-(void)adView:(GADBannerView *)view
didFailToReceiveAdWithError:(GADRequestError *)error{
NSLog(@"failed to receive ad with error :%@",[error
localizedFailureReason]);
#import "Admob1.h"
extern "C" {
void _Admob() //C#中以插件的形式调用& 此函数在start函数里面调用
[Admob1 returnAdmobView].shareView=[[Admob1 returnAdmobView]
admobShow];
&& void _setAdHide(int bHide, int
x, int y, int width, int height)//调用这个来设置广告的位置 大小 是否可见
if([Admob1 returnAdmobView].shareView!=NULL)
if(bHide==1)
&&&&&&&&&&&
[[Admob1 returnAdmobView].shareView setHidden:NO];
&&&&&&&&&&&
((UIView*)[[Admob1 returnAdmobView].shareView
]).frame=CGRectMake(x,y,width,height);
[[Admob1 returnAdmobView].shareView setHidden:YES];
TA的最新馆藏Google AdMob广告接入-赚取人生中第一桶金 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho}

我要回帖

更多关于 unity3d admob 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信