原地址:http://www.j2megame.com/html/xwzx/ty/2916.html
中国移动MM Android/OPhone付费SDK--MMBillingSDK,集成问题总结
近日在将MM Android/OPhone付费SDK集成到游戏中的事情,以下是我在集成过程中遇到的一些问题和解
决办法:
一.登陆MM系统后台,没出现应用内计费的信息的解决办法。
1、安装MM电子签名证书,这东西必须安装,要不无法正常进入后台。
2、进入自服务区,输入 ,进
入“应用内计费”配置界面。
应用内界面里面几个有用的东西分别为:应用编码 对应程序里的 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、授权检测会比较慢,要耐心等待。授权检测后会进行身份检测,通过后,系统会弹出个验证框,让用
户输入里面的验证信息。用户发送验证信息后,系统会返回订购成功信息或其他导致支付失败的原因,然后程序要做相应处理。
由 原创,转载请说明。