Unity 3D 接入 移动MM (3.1.3)计费SDK

首先很想吐槽移动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中一个过滤,即可。

时间: 2024-10-10 23:31:46

Unity 3D 接入 移动MM (3.1.3)计费SDK的相关文章

Unity3d 接入 移动MM支付SDK(2.3) 全攻略

原地址:http://blog.csdn.net/dingxiaowei2013/article/details/26842177 先将例程运行起来 下载例程(csdn积分不够上传不了,只能用百度网盘):http://pan.baidu.com/s/1gd7PrxD 打开unity工程mm_pay_unity build apk包至工程目录\Assets\plugin_pay_mm\Tools\AndroidMultitool\Program_Files\app_temp.apk  (注意apk

Unity3D接入移动MM支付SDK(强联网)的问题

原地址:http://blog.csdn.net/lihandsome/article/details/11919113 因为移动MM支付的SDK只提供android版本的,要自己写过一个android项目再打包重新生成一个jar来供Unity3d引擎使用,这一部分我就不写了,网上也提供很多的教程,主要是已经成功调用之后,会发生以下的错误: 1.failed to find resource file(mmiap.xml} 06-28 05:14:09.746: E/d(4709): faile

Untiy 接入 移动MM 详解

原地址:http://www.cnblogs.com/alongu3d/p/3627936.html 第一次接到师傅的任务(小龙),准备着手写untiy接入第三方SDK的文章(android 方向),第一次写故而写的不好的地方不要吐槽.如有兴趣可加63438968(untiy 开发群)进行探讨. 本文主要已 unity 和android工程为基础进行解析分析.其次因目前各地sdk平台与unity程序有不兼容问题,故而导致了在发布后会缺少文件.本文也提供了一个解决方案供大家参考. 具体工程可加群6

cocos2dx安卓客户端接入移动MM付费SDK

C++和java的调用需要使用JNI,这里使用cocos2dx提供的JniHelper就可以满足要求. 以游戏中购买炸弹道具为例 流程图: 先按照文档进行配置: 在Java工程中新建一个包"IAP",作为C++与mmsdk交互的中间层: Handler和Listener可以使用Demo自带的两个类,将Demo2.4.2中的IAPHandler.java和IAPListener.java复制到IAP中: 在package IAP下新建类IAPJni 1 package IAP; 2 3

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t

Unity 3D 实战核心技术详解 书籍出版

经过半年的努力,处女作<Unity 3D 实战核心技术详解>终于问世了,购买网址: http://www.broadview.com.cn/article/70 在12月5日到12日期间,在打折的基础上优惠,书籍内容全是干货,购买方式:可以查看网页中的"如何购买".

unity 3d yield 用法总结

最近,需要需要用unity 3d做点东西,但是了碰到了延迟加载问题,我总结余下: Coroutines & Yield是unity3d编程中重要的概念,它可以实现将一段程序延迟执行或者将其各个部分分布在一个时间段内连续执行,但是在Javascript与C#中实现Coroutines & Yield,在语法上却有一些区别: javascript中yield用法很简单,直接yield就行了,或者yield WaitForSeconds (2); c#中的用法如下: yield不可单独使用 需要

Unity 3d中Shader是什么,可以吃吗?

众所周知,Unity3d是一款跨平台非常广的游戏引擎,上手容易,界面友好,集成功能众多,是目前开发手游的主流引擎.本人有幸使用Unity 3d进行开发已一年多时间,已领略了这歀引擎的强大之处. 编写shader也是我工作内容的一部分,先来说说shader是什么吧,我以自己的理解说明一下: 首先 shader是一种语言,一种在GPU,也就是显卡上执行的高级语言.shader的本意是着色器,可以自定义GPU的渲染管线中的两个环节(即顶点和片段).由此,我们可以控制对象在屏幕上的渲染效果,甚至实现一些

【Unity 3D】学习笔记四十二:粒子特效

粒子特效 粒子特效的原理是将若干粒子无规则的组合在一起,来模拟火焰,爆炸,水滴,雾气等效果.要使用粒子特效首先要创建,在hierarchy视图中点击create--particle system即可 粒子发射器 粒子发射器是用于设定粒子的发射属性,比如说粒子的大小,数量和速度等.在创建完粒子对象后,在右侧inspector视图中便可以看到所有的粒子属性: emit:是否是使用粒子发射器. min size:粒子最小尺寸. max size:粒子最大尺寸. min energy:粒子的最小生命周期