unity3d开发的android应用中加入AD系统的具体步骤
2013-05-10 12:20
399 查看
比较详细的在应用程序中嵌入广告系统的步骤,转来大家共同学习下,下面是原文:
Unity3d已经支持android,如何在程序里加入admob?
在http://forum.unity3d.com/forums/30-Android-Development发现了一些方法。
http://forum.unity3d.com/threads/77568-AdMob-plugin-that-works-in-Unity-3.2?s=b593b222053ee6486198c8d817c265cd中Wozik提供了一个unitypackage。。
试了一下,确实可以,不过必须要把android工程的包名改成unitypackage里的包名。
决定自己也做一个unity3d的Plugins,记录一下步骤:
经过自己测试wozik提供的Plugins中的AndroidManifest.xml,res,libs,bin是必须的,其他东西都可以去掉。
按照这个思路,自己用eclipse创建了个工程UnityAd,在工程中先把需要的包导入。
第一个包就是admob的jar包GoogleAdMobAdsSdk-4.1.0.jar,
第二个是Unity3d程序目录下的Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar,
然后编写一个Activity继承UnityPlayerActivity
public class UnityAdActivity extends UnityPlayerActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupAds();
}
private void setupAds() {
// And this is the same, but done programmatically
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
AdView adView = new AdView(this, AdSize.BANNER, "你的发布者ID");
layout.addView(adView, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
adView.loadAd(new AdRequest());
}
}
AndroidManifest.xml写成:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/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>
这就ok了,把工程build一下。
1,找到UnityAd工程目录,把bin文件夹下的com文件夹打成jar包,jar包名为com.hsj.test.jar,
将这个jar包拷贝到unity工程目录下的Assets\Plugins\Android\bin中。
2,把UnityAd工程目录下的res文件夹和AndroidManifest.xml文件拷贝到unity工程目录下的Assets\Plugins\Android
3,在unity工程目录下的Assets\Plugins\Android中建个libs目录,把GoogleAdMobAdsSdk-4.1.0.jar拷贝到libs目录中
4,在unity3d程序里可以看到
5,用unity3d Build android 安装包
6把安装包放到虚拟机或真机上运行
本文转自:http://tank2308635.iteye.com/blog/1126047
Unity3d已经支持android,如何在程序里加入admob?
在http://forum.unity3d.com/forums/30-Android-Development发现了一些方法。
http://forum.unity3d.com/threads/77568-AdMob-plugin-that-works-in-Unity-3.2?s=b593b222053ee6486198c8d817c265cd中Wozik提供了一个unitypackage。。
试了一下,确实可以,不过必须要把android工程的包名改成unitypackage里的包名。
决定自己也做一个unity3d的Plugins,记录一下步骤:
经过自己测试wozik提供的Plugins中的AndroidManifest.xml,res,libs,bin是必须的,其他东西都可以去掉。
按照这个思路,自己用eclipse创建了个工程UnityAd,在工程中先把需要的包导入。
第一个包就是admob的jar包GoogleAdMobAdsSdk-4.1.0.jar,
第二个是Unity3d程序目录下的Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar,
然后编写一个Activity继承UnityPlayerActivity
public class UnityAdActivity extends UnityPlayerActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupAds();
}
private void setupAds() {
// And this is the same, but done programmatically
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
AdView adView = new AdView(this, AdSize.BANNER, "你的发布者ID");
layout.addView(adView, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
adView.loadAd(new AdRequest());
}
}
AndroidManifest.xml写成:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/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>
这就ok了,把工程build一下。
1,找到UnityAd工程目录,把bin文件夹下的com文件夹打成jar包,jar包名为com.hsj.test.jar,
将这个jar包拷贝到unity工程目录下的Assets\Plugins\Android\bin中。
2,把UnityAd工程目录下的res文件夹和AndroidManifest.xml文件拷贝到unity工程目录下的Assets\Plugins\Android
3,在unity工程目录下的Assets\Plugins\Android中建个libs目录,把GoogleAdMobAdsSdk-4.1.0.jar拷贝到libs目录中
4,在unity3d程序里可以看到
5,用unity3d Build android 安装包
6把安装包放到虚拟机或真机上运行
本文转自:http://tank2308635.iteye.com/blog/1126047
相关文章推荐
- unity3d开发的android应用中加入AD系统的具体步骤
- 第15章 Android启动过程 [Android应用开发与系统改造实战]
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- 在Eclipse中开发Android系统的内置应用(Mms, Contacts ect)
- Android应用开发——系统自带样式Android:theme
- android应用开发中的图片缓存系统
- Android学习笔记 —— Android开发中,不调用系统浏览器直接在应用中显示指定网址的内容
- 一步一步的学习android应用开发到系统底层开发之android开发层次及所需技术
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- 基础Android应用开发 Button显示系统时间+TextView显示随机数+简单计算器
- 从零开始--系统深入学习android(理论-开发前准备-10.一个好的应用应该具备哪些方面-10.1易于访问)保留
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发,Kotlin的了解与学习(九)-----在Android上的具体应用
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android应用开发之调用系统Activity涉及的授权问题
- Android网络开发详解具体应用代码
- JNI及Android JNI 开发基本知识和具体操作步骤
- [原]Android 系统应用Setting开发总结
- Google正着手开发一套重新设计的Android系统,统一整合应用和服务的用户体验