纳金网

标题: unity3d开发的android应用中加入AD系统的具体步骤 [打印本页]

作者: 驰骋的风    时间: 2011-11-24 09:40
标题: unity3d开发的android应用中加入AD系统的具体步骤




           比较详细的在应用程序中嵌入广告系统的步骤,转来大家共同学习下,下面是原文:
         



             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
            

             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工程目录下的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把安装包放到虚拟机或真机上运行
            

              
            


             本文转自:http://tank2308635.iteye.com/blog/1126047
            




              http://www.unity3d8.com/content/unity3d%E5%BC%80%E5%8F%91%E7%9A%84android%E5%BA%94%E7%94%A8%E4%B8%AD%E5%8A%A0%E5%85%A5ad%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%85%B7%E4%BD%93%E6%AD%A5%E9%AA%A4
            




作者: 奇    时间: 2012-2-1 23:25
精典,学习了!

作者: C.R.CAN    时间: 2012-3-23 23:32
再看一看,再顶楼主

作者: tc    时间: 2012-3-27 23:25
赞一个,哈哈

作者: C.R.CAN    时间: 2012-4-25 23:18
好,真棒!!

作者: 晃晃    时间: 2012-4-25 23:27
好`我顶``顶顶

作者: 晃晃    时间: 2012-5-17 23:27
很经典,很实用,学习了!

作者: C.R.CAN    时间: 2012-5-22 23:22
“再次路过……”我造一个-----特别路过

作者: 晃晃    时间: 2012-10-15 23:21
加精、加亮滴铁子,尤其要多丁页丁页

作者: 菜刀吻电线    时间: 2012-10-15 23:24
顶!学习了!阅!

作者: 菜刀吻电线    时间: 2012-12-5 23:26
很经典,很实用,学习了!

作者: nts    时间: 2013-10-17 11:02
很好的文章,学习了




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