中國移動MM Android/OPhone付費SDK--MMBillingSDK,整合問題總結

來源:互聯網
上載者:User

標籤:android   http   檔案   for   io   問題   

原地址: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 原創,轉載請說明。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.