由于开发的需要,专门研究了一下在unity中使用 有米 广告e,先吐槽一下,有米不能自己专门做个unity的包来直接导入吗?还得自己在 Android stdio和unity之间来回倒,费死劲了。
不废话了。来一发。。。。。
首先当然是到有米进行注册,然后得到你的app id和secret,这个比较简单,不多表。
然后下载他们的unity sdk。
解压后就是这些了。
然后我的电脑上没有Android stdio,花一小时时间在网上下载了AS,这里要说的是,最好把你的Android SDk升级一下,用adk很方便,不然后边会报很多错,流量土豪请自便,我是手机上网党,只能走一步看一步,等程序报错找不到愿因时,才发现是版本不支持。哎,,,全是泪水。。。
安装AS,按照有米的介绍一步步来。这个AndroidSDK和JDK都有吧,在系统中设置好,这个不说了,可以自己搜。
1 使用Android Studio创建Android项目¶
在Android Studio中依次点击
File->New->New Project...
创建Android项目
这个地方讲一下,这个包名要和你的unity中的应用的包名一致的,不然在一个程序中,包不一致,你可以想象一下会报多少错。只是测试的话就没关系了.
接着选择最低支持的android 版本,这里看吧,据说是要和unity 当中的工程保持一致,我的unity貌似最低只能到16,所以这里选择了4.1,也就是Api 16.
接下来要选择主要的activity
这个其实不重要啦,反正在unity当中这个activity也用不到,我们只是用它来当做AS的程序主要界面,如果想在AS上做测试的话,还是选个比较好,反正也无所谓,我们选个emputy。finish。
这里可以插上手机,打开调试模式,点AS右上角的运行小三角,来试试我的程序啦,hello world!
成功了!
是不是觉得现在测试有点早了?
其实一点也不早,就为了让这个配置成功,我花了好长时间,主要是gradle和sdk以及AS版本不对的问题。由于我是手机上网,不敢随便下载动不动1个g的更新,请土豪们务必更新自己的sdk。
如果手机上测试成功,那么编译环境就基本ok了,不成功就自己更新,自己上网搜搜错误代码吧。
这里需要导入的文件有:
①有米解压文件夹下的libs文件夹,放到工程的app文件夹下,原来有就覆盖掉。
②Unity3d的Android Jar文件
,该Jar文件可在 Unity3d安装目录/Editor/Data/PlaybackEngines/AndroidPlayer/Variations/mono or il2cpp/Development or Release/Classes 路径下找到,放到libs里。
③assets文件夹,在有米解压文件里面,放到app文件夹下面。
导入的方法很简单,在app文件夹,右键单击,show in explorer,将所需的文件和文件夹放进去。
点击工程中左上角选择工程浏览模式。在classes.jar和YoumiSdk_v7.0.1_2017-01-06.jar上右键单击,选择add as library,这是为了让jar文件加入到库里去,要不然不能调用的。
好了,可以写程序了。
3 配置AndroidManifest.xml
这个不多写,我只用了它里面的视频广告做测试。所以去掉了许多权限和声明。
<!-- 配置权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- 如果使用积分墙广告,还需要配置下面权限 -->
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
<!-- 以下为可选权限 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- 本次演示所用Activity,本Activity为竖屏,注意:复制代码时,请注意名字更换 -->
<activity
android:name=".MainActivity"
android:configChanges="keyboard|orientation|keyboardHidden|screenSize|screenLayout"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter >
</activity >
<!-- 有米SDK必备组件 -->
<activity
android:name="net.youmi.android.AdBrowser"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout"
android:resizeableActivity="false"
android:theme="@android:style/Theme.NoTitleBar" >
</activity >
<service
android:name="net.youmi.android.AdService"
android:exported="false" >
</service >
<receiver android:name=