unity3d开发的android应用中增加AD系统的详细步骤

Posted wzzkaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d开发的android应用中增加AD系统的详细步骤相关的知识,希望对你有一定的参考价值。

Unity3d已经支持android,怎样在程序里增加admob? 

试了一下,确实能够,只是必需要把androidproject的包名改成unitypackage里的包名。

 

决定自己也做一个unity3d的Plugins,记录一下步骤: 

经过自己測试wozik提供的Plugins中的AndroidManifest.xml。res,libs。bin是必须的,其它东西都能够去掉。 

依照这个思路,自己用eclipse创建了个projectUnityAd,在project中先把须要的包导入。

 

第一个包就是admob的jar包GoogleAdMobAdsSdk-4.1.0.jar, 

第二个是Unity3d程序文件夹下的Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar, 

[img] 
技术分享
[/img] 

Java代码  技术分享
  1. 然后编写一个Activity继承UnityPlayerActivity  
  2.   
  3. public class UnityAdActivity extends UnityPlayerActivity {  
  4.   
  5. /** Called when the activity is first created. */  
  6.   
  7. @Override  
  8.   
  9. public void onCreate(Bundle savedInstanceState) {  
  10.   
  11. super.onCreate(savedInstanceState);  
  12.   
  13. setupAds();  
  14.   
  15. }  
  16.   
  17. private void setupAds() {  
  18.   
  19. // And this is the same, but done programmatically  
  20.   
  21. LinearLayout layout = new LinearLayout(this);  
  22.   
  23. layout.setOrientation(LinearLayout.VERTICAL);  
  24.   
  25. addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT,  
  26.   
  27. LayoutParams.FILL_PARENT));  
  28.   
  29. AdView adView = new AdView(this, AdSize.BANNER, "你的公布者ID");  
  30.   
  31. layout.addView(adView, new LayoutParams(LayoutParams.FILL_PARENT,  
  32.   
  33. LayoutParams.WRAP_CONTENT));  
  34.   
  35. adView.loadAd(new AdRequest());  
  36.   
  37. }  
  38.   
  39. }  
  40.   
  41. AndroidManifest.xml写成:  
  42.   
  43. <?xml version="1.0" encoding="utf-8"?>  
  44.   
  45. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  46.   
  47.       package="com.hsj.test"  
  48.   
  49.       android:versionCode="1"  
  50.   
  51.       android:versionName="1.0">  
  52.   
  53.     <uses-sdk android:minSdkVersion="7" />  
  54.   
  55.    
  56.   
  57.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  58.   
  59.         <activity android:name=".UnityAdActivity"  
  60.   
  61.                   android:label="@string/app_name">  
  62.   
  63.             <intent-filter>  
  64.   
  65.                 <action android:name="android.intent.action.MAIN" />  
  66.   
  67.                 <category android:name="android.intent.category.LAUNCHER" />  
  68.   
  69.             </intent-filter>  
  70.   
  71.         </activity>  
  72.   
  73. <activity android:name="com.google.ads.AdActivity"  
  74.   
  75.               android:configChanges="keyboard|keyboardHidden|orientation"/>  
  76.   
  77.   </application>  
  78.   
  79.   <uses-permission android:name="android.permission.INTERNET"/>  
  80.   
  81.   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
  82.   
  83. </manifest>  
  84.   
  85. 这就ok了,把projectbuild一下。  



1。找到UnityAdproject目录,把bin目录下的com目录打成jar包,jar包名为com.hsj.test.jar, 
[img] 
技术分享 
[/img] 

将这个jar包复制到unityproject文件夹下的Assets\Plugins\Android\bin中。 

2,把UnityAdproject文件夹下的res文件夹和AndroidManifest.xml文件复制到unityproject文件夹下的Assets\Plugins\Android

3,在unityproject文件夹下的Assets\Plugins\Android中建个libs文件夹,把GoogleAdMobAdsSdk-4.1.0.jar复制到libs文件夹中 

4。在unity3d程序里能够看到 
[img] 
技术分享 
[/img] 

5。用unity3d  Build android 安装包 
[img] 
技术分享
[/img] 

6把安装包放到虚拟机或真机上执行










































以上是关于unity3d开发的android应用中增加AD系统的详细步骤的主要内容,如果未能解决你的问题,请参考以下文章

Android项目实战(三十九):Android集成Unity3D项目(图文详解)

Unity3D应用案例系列Unity3D中实现《3D照片墙》

Unity3D应用案例系列Unity3D中实现《3D照片墙》

有没有办法从Adobe Air(flash)android应用更新到Unity3d应用,并保留共享对象中的本地保存?

GJM : Unity3D HIAR - 快速入门 导出 Android 工程应用

Unity3d:命令行打包Android