纳金网

标题: Unity3d Android开发中加入第三方包方法 [打印本页]

作者: 会飞的鱼    时间: 2012-4-14 10:45
标题: Unity3d Android开发中加入第三方包方法
Unity3d已经支持android,如何在程序里加入admob?
在http://f***m.unity3d.com/f***ms/30-Android-Development发现了一些方法。
http://f***m.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程序目录下的UnityEditorDataPlaybackEnginesandroidplayerinclasses.jar,


然后编写一个Activity继承UnityPlayerActivity

Java代码   

1.public class UnityAdActivity extends UnityPlayerActivity {  

2.    /** Called when the activity is first created. */  

3.    @Override  

4.    public void onCreate(Bundle savedInstanceState) {  

5.        super.onCreate(savedInstanceState);  

6.        setupAds();  

7.    }  

8.  

9.    private void setupAds() {  

10.        // And this is the same, but done programmatically  

11.  

12.        LinearLayout layout = new LinearLayout(this);  

13.        layout.setOrientation(LinearLayout.VERTICAL);  

14.        addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT,  

15.                LayoutParams.FILL_PARENT));  

16.  

17.        AdView adView = new AdView(this, AdSize.BANNER, "你的发布者ID");  

18.        layout.addView(adView, new LayoutParams(LayoutParams.FILL_PARENT,  

19.                LayoutParams.WRAP_CONTENT));  

20.         

21.  

22.        adView.loadAd(new AdRequest());  

23.    }  

24.}  


AndroidManifest.xml写成:

Xml代码   

1.<?xml version="1.0" encoding="utf-8"?>  

2.<manifest xmlns:android="http://schemas.android.com/apk/res/android"  

3.      package="com.hsj.test"  

4.      android:versionCode="1"  

5.      android:versionName="1.0">  

6.    <uses-sdk android:minSdkVersion="7" />  

7.  

8.    <application android:icon="@drawable/icon" android:label="@string/app_name">  

9.        <activity android:name=".UnityAdActivity"  

10.                  android:label="@string/app_name">  

11.            <intent-filter>  

12.                <action android:name="android.intent.action.MAIN" />  

13.                <category android:name="android.intent.category.LAUNCHER" />  

14.            </intent-filter>  

15.        </activity>  

16.        <activity android:name="com.google.ads.AdActivity"  

17.              android:configChanges="keyboard|keyboardHidden|orientation"/>  

18.  </application>  

19.  <uses-permission android:name="android.permission.INTERNET"/>  

20.  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  

21.  

22.</manifest>  


这就ok了,把工程build一下。

1,找到UnityAd工程目录,把bin文件夹下的com文件夹打成jar包,jar包名为com.hsj.test.jar,

将这个jar包拷贝到unity工程目录下的AssetsPluginsAndroidin中。

2,把UnityAd工程目录下的res文件夹和AndroidManifest.xml文件拷贝到unity工程目录下的AssetsPluginsAndroid
3,在unity工程目录下的AssetsPluginsAndroid中建个libs目录,把GoogleAdMobAdsSdk-4.1.0.jar拷贝到libs目录中
4,在unity3d程序里可以看到
5,用unity3d  Build android 安装包
6把安装包放到虚拟机或真机上运行



转自unty3d8.com




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5