首先很想吐槽移动MM的SDK,简直就是给Unity开发人员找事做。我是一个Unity 小白,完全是为了帮同事接这个SDK,所以一切按照小白的规则来写,希望没有遗漏。
示例代码:http://download.csdn.net/detail/oulong999/8628673
1. Android 库文件
新建一个Android工程,标记为库文件工程。
参照计费SDK 的帮助文档导入SDK 。
1> 将mmbilling.3.1.3.jar文件拷贝到应用工程的libs目录下,如没有该目录,可新建
2> 在Project Explorer中右击鼠标,从弹出的菜单中,选中“Properties”;
3> 在Properties窗口的左侧菜单项中,点击“Java Build Path”,并在右侧选中“Libraries”
4> 点击“Add JARs…”按钮,在弹出窗口中,选中jar文件
参考文档或示例代码,修改好AndroidManifest.xml文件。
这里会创建一个继承UnityPlayerActivity的类, SDK的初始化会放到onCreate函数中去执行。具体见SDK示例代码。SDK的JAVA调用代码写好后将其导出成库文件。如图:
2.Unity 工程
a. 将上面导入的库文件放入 Plugins/Android/bin目录下。如图:
b. 将mmbilling.3.1.3.jar文件放入Plugins/Android/libs文件夹下。如图:
b.将libidentifyApp.so,libcasdkjni.so,libcmcc_haze.so和libcmcc_rusteze.so四个库文件放入Plugins/Android/libs/armeabi文件夹下。我在armeabi-v7a和armeabi文件夹下都放了这四个文件。如图:
c.将修改好的AndroidManifest.xml文件和资源包里面的MMPayAndroid.cs文件放到Plugins/Android目录下。当然cs文件你也可以放别的地方。
现在你就可以在你需要的地方调用计费接口了。
d.将mmbilling.3.1.3.jar用压缩软件把它解压。将assets文件下的mmiap拷贝到Assets/StreamingAssets目录下。没有这个目录自己创建。如图:
然后打包。当你以为一切已经搞定的时候,吐槽才刚刚开始。
将打好的包准备好。
以下得益于该篇博文,要不然我吐血一个月也接不好这个SDK。感谢
http://www.j2megame.com/html/xwzx/ty/4164.html
用到的工具:
AndroidMultitool: http://forum.xda-developers.com/showthread.php?t=2326604
该工具用来反编译,打包,重新签名。当然你可以直接用apktool,aapt,jarsigner这些工具来弄。
对应步骤:
步骤一: 将unity打好的包反编译。这里不需要做任何修改。如果,你想将调试打开的话这里修改AndroidManifest.xml文件会是一个好时机哦。
步骤二: 将步骤一反编译的的文件夹重新打包。
步骤三: 用aapt工具把CopyrightDeclaration.xml,mmiap.xml,VERSION这三个文件加到APK的根目录下面。这三个文件是从mmbilling.3.1.3.jar的解压包中提出来的。aapt在AndroidMultitool文件夹下面的Program_Files下面可以找到。
我们需要用的文件都放到Program_Files目录下:
用aapt a test.apk filename 将文件加入apk中。
aapt l test.apk 查看,三个文件已经成功加入包中了
步骤四: 将处理好的包重新签名。
SDK接入完毕!!!
PS: 发现Unity的打印TAG是”Unity” 所以调试unity应用,把调试打开后,在Eclipse中的Logcat中一个过滤,即可。