中国移动MM Android/OPhone付费SDK--MMBillingSDK,集成问题总结
原地址:http://www.j2megame.com/html/xwzx/ty/2916.html
中国移动MM Android/OPhone付费SDK--MMBillingSDK,集成问题总结
近日在将MM Android/OPhone付费SDK集成到游戏中的事情,以下是我在集成过程中遇到的一些问题和解
决办法:
一.登陆MM系统后台,没出现应用内计费的信息的解决办法。
1、安装MM电子签名证书,这东西必须安装,要不无法正常进入后台。
2、进入自服务区,输入http://dev.10086.cn/oms/newflow/ChargeAppAction.action?act=apply ,进
入“应用内计费”配置界面。
应用内界面里面几个有用的东西分别为:应用编码 对应程序里的 APPID、查看 APP KEY 对应程序里的
APPKEY、配置应用内商品payCode 对应程序里的 ITEMS_PAYCODE, 记得要点保存哦。
配置应用内商品:最高限价15RMB,如果道具要重复购买要勾选“可重复购买”项。重复购买道具时候,
会出现一段时间的保护期,就是说用户在短时间内无法重复购买同种道具,这个在设计游戏时候要小心
。
配置自测试环境:填写自己的手机号吧,不填写的话,自己买单 。
二、计费程序移植请参考:MMBillingSDK_RELEASE(v1.0.6)。1.0.6是proguard.cfg是可以正确混淆的脚
本,1.0.5的混淆有问题。
代码移植很简单,基本上拷过去就能用,记得在程序初始化时候加入 purchase 必须初始化:
//初始化,MM第三方信息
initMsgs();
// 初始化SDK
purchase = new Purchase(this, APPID, APPKEY, cacheLicense);
订购业务不成功有2种情况:1种是授权不通过,一种是支付失败。这2个要分别捕捉。
OnLicenseListener licListener =new OnLicenseListener() {
@Override
public void onLicenseFinish(OnLicenseListener.StatusCode code) {
// 无法获取有效的授权信息,建议应用终止运行
Log.d(TAG, "license finish, status code = " + code.name());
if (MainMIDlet4.MID.isFinishing()) {
return;
}
if (code.equals(OnLicenseListener.StatusCode.SUCCEED)) {
showDialog(MainMIDlet4.MID, "授权验证通过(业务已订购)");
if ( currentReq == 1 ) {
handler.obtainMessage(MSG_EVENT_ENABLE_UNSUBSCRIBE).sendToTarget();
return;
}
} else {
//订购不成功,捕捉因授权等引起的支付不成功
showDialog(MainMIDlet4.MID, msgMap.get(code));
}
handler.obtainMessage(MSG_EVENT_CHECK_FINISHED).sendToTarget();
}
public void onBeforeApply() {
handler.obtainMessage(MSG_EVENT_BEFORE_APPLY).sendToTarget();
}
public void onAfterApply() {
handler.obtainMessage(MSG_EVENT_AFTER_APPLY).sendToTarget();
}
};
订购业务成功仅有1种情况:
@Override
public void onBillingFinish(OnBillingListener.StatusCode code) {
// 付费失败,建议重试,视失败的次数决定是否继续运行
Log.d(TAG, "billing finish, status code = " + code.name());
System.out.println("bill finish " + code.name());
if (MainMIDlet4.MID.isFinishing()) {
return;
}
if (code.equals(OnBillingListener.StatusCode.SUCCEED)) {
showDialog(MainMIDlet4.MID, "订购成功 ");
//成功订购,此处仅有1中情况,只需在这捕捉是否成功订购
if ( currentReq == 1 ) {
handler.obtainMessage(MSG_EVENT_ENABLE_UNSUBSCRIBE).sendToTarget();
return;
}
} else {
//订购不成功,捕捉因支付失败等引起的订购不成功
showDialog(MainMIDlet4.MID, msgMap.get(code));
}
handler.obtainMessage(MSG_EVENT_CHECK_FINISHED).sendToTarget();
}
};
三、给APK程序进行签名,生成MM后台用的版权文件.signed
1、运行 自签名工具.exe ,导入APK程序,MM电子证书、私钥,生成.signed版权文件
2、将该版权文件上传至该应用的后台,并点击保存,注意不要点提交哦。系统后台会自动生成版权信息
,该版权信息,用来验证当手机端接入时候版权是否通过验证。这步必须保存,要不手机端会报无效的
版权信息,无法正常支付。
四、测试是否成功接入。
1、测试时候必须保证手机网络是开通的,手机号码一定要是移动号。
2、授权检测会比较慢,要耐心等待。授权检测后会进行身份检测,通过后,系统会弹出个验证框,让用
户输入里面的验证信息。用户发送验证信息后,系统会返回订购成功信息或其他导致支付失败的原因,然后程序要做相应处理。
由 www.J2meGame.com 原创,转载请说明。
中国移动MM Android/OPhone付费SDK--MMBillingSDK,集成问题总结的更多相关文章
- 大叔也说Xamarin~Android篇~支付宝SDK的集成
回到目录 首先做为支付宝SDK它提供了多种平台,网页版,wap版,IOS版,android版等等,今天主要说一下在xamarin里使用android平台的sdk的方法,在网上介绍这块的文章不多,大叔本 ...
- Android 百度地图 SDK v3.0.0 (四) 引入离线地图功能
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直觉得地图应用支持离线地图很重要啊,我等移动2G屌丝,流量不易, ...
- Android 视频直播 SDK
Android 视频直播 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...
- Android 视频编辑 SDK
Android 视频编辑 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...
- Android最新版支付宝支付集成
上次集成支付宝支付已经很久了,今天写东西用到了支付宝支付,就大致写一下流程: 去蚂蚁金服下载最新版的Android&IOS端SDK 全部文档 -- 资源下载 -- App支付客户端 下载后解压 ...
- [原] unity3d调用android版 人人sdk
开发过程 遇到天坑:纯android工程没问题,集成到unity3d中 就老提示 没登陆 .最后跟到底 发现是Util.java 中 openUrl 函数出的bug.unity3d 中调android ...
- 百度Android在线语音识别SDK用法
百度Android语音识别SDK分在线与离线两种,这篇文章介绍在线SDK的用法. 在线SDK是以JAR包和动态链接库形式公布和使用,能够从百度开放云平台站点中下载SDK及使用说明文档. title=d ...
- Android 百度地图 SDK v3.0.0 (四) 离线地图功能介绍
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直认为地图应用支持离线地图非常重要啊.我等移动2G屌丝,流量不易 ...
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...
随机推荐
- Codevs 2611 观光旅游
时间限制: 1 s 空间限制: 128000 KB 题目等级:钻石 题目描述 Description 某旅游区里面有N个景点.两个景点之间可能直接有道路相连,用a[i][j]表示它的长度,否则它 ...
- C#简单实现发送手机短信
偶然想起,像编写一个从电脑向手机发送短信的程序,从网上查找到有三种方式:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2) ...
- .NET SOCKET通信编程
1 using System; 2 using System.Net; 3 using System.Net.Sockets; 4 using System.Text; 5 6 public clas ...
- Ubuntu 12.04 修改默认启动为字符界面
sudo vim /etc/default/grub 修改GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 为:GRUB_CMDLINE_LINU ...
- jquery的$(document).ready()和onload的加载顺序
最近在改一个嵌入在frame中的页面的时候,使用了jquery做效果,而页面本身也绑定了onload事件.改完后,Firefox下测试正常流畅,IE下就要等个十几秒jquery的效果才出现,黄花菜都凉 ...
- 如何去掉html中的超链接
$a= preg_replace("/<a[^>]+>/", "", $a); $a= preg_replace("/<\/a ...
- delphi的UTF8相关函数
delphi的UTF8相关函数 AnsiToUtf8 function Converts a string encoded in Ansi to UTF-8. PUCS4Chars function ...
- Oracle内存管理理论篇二
目标 了解oracle内存管理方式 掌握ASMM管理方式 掌握AMM管理方式 监控内存使用 学习一个知识点时,最好先了解其历史.ORACLE近期的版本都对内存管理做了简化,从9i通过PGA_AGGRE ...
- Qt在VS2010的安装与配置
1. 下载Qt的安装包和VS2010的Qt插件 2. 安装Qt SDK 点击下载安装包,一路回车即可,主要注意Qt的安装路径最好安装在全英文路径而且中间没有空格, 安装好后,可以运行开始菜单里面的Qt ...
- 【转】常用插件和mvn test命令
自定义构建Maven项目,需要包括额外的插件或者配置已存在的插件参数. 1. maven-compiler-plugin 指定JDK版本和编码方式 compiler插件能解决2个问题: 第一: mav ...