Android支付接入(四):联通VAC计费
????剛發(fā)了個(gè)電信愛(ài)游戲支付的sdk接入,接下來(lái)看下聯(lián)通VAC計(jì)費(fèi)的sdk接入,聯(lián)通在三個(gè)運(yùn)營(yíng)商支付中算是要求比較少的,但聯(lián)通的sdk版本更新比較頻繁。不過(guò)現(xiàn)在的sdk接入都是向下兼容的,大家也不需要有什么顧慮。今天發(fā)的這篇文章是基于聯(lián)通短代VAC計(jì)費(fèi)SDK(V1.0.5)版本寫(xiě)的,文檔及demo依舊放到了百度網(wǎng)盤(pán)中,需要的可以去下載:http://pan.baidu.com/share/link?shareid=429975&uk=473193131
?
注意事項(xiàng):
1.聯(lián)通支付是不需要自己標(biāo)識(shí)軟硬計(jì)費(fèi)點(diǎn)的,當(dāng)平臺(tái)申請(qǐng)計(jì)費(fèi)點(diǎn)的時(shí)候會(huì)提交每個(gè)計(jì)費(fèi)點(diǎn)是否允許重復(fù)支付(即軟硬計(jì)費(fèi)點(diǎn)),支付時(shí)我們只需要傳入相應(yīng)的計(jì)費(fèi)點(diǎn)即可,平臺(tái)會(huì)幫我們記錄哪個(gè)是軟計(jì)費(fèi)點(diǎn),哪個(gè)是硬計(jì)費(fèi)點(diǎn)。
2.聯(lián)通需將premessable.txt文件copy到工程assets目錄下,用來(lái)配置渠道,每個(gè)渠道對(duì)應(yīng)不同的渠道號(hào),例如聯(lián)通渠道號(hào)為:“00012243”。
3.游戲付費(fèi)完成后直接結(jié)束付費(fèi),勿添加額外的提示信息,例如:Toast,AlertDialog等。
4.AndroidManifest.xml中正確配置應(yīng)用開(kāi)發(fā)者ID,應(yīng)用ID,AppID,渠道偽碼(線下渠道)后即可進(jìn)行測(cè)試付費(fèi)(0.01元)
?
看下代碼:
?
AndroidManifest.xml:
?
<application
????????android:allowBackup="true"
????????android:icon="@drawable/ic_launcher"
????????android:label="@string/app_name"
????????android:theme="@style/AppTheme" >
????????<activity
????????????android:name="com.example.blogforlt.MainActivity"
????????????android:label="@string/app_name" >
????????????<intent-filter>
????????????????<action android:name="android.intent.action.MAIN" />
????????????????<category android:name="android.intent.category.LAUNCHER" />
????????????</intent-filter>
????????</activity>
???????
????????<!-- 應(yīng)用開(kāi)發(fā)者ID???cpId: -->
????????<meta-data
????????????android:name="cpId"
????????????android:value="cpid:XXXX" >
????????</meta-data>
????????<!-- 應(yīng)用ID???AppId: -->
????????<meta-data
????????????android:name="AppId"
????????????android:value="appid:XXXX" >
????????</meta-data>
????????<!-- 渠道偽碼(線下渠道) -->
????????<meta-data android:name="fidsms"
????????????android:value="fidsms:XXXXX" >
????????</meta-data>
???????
????</application>
???
????<uses-permission android:name="android.permission.INTERNET"/>
?<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
?<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
?<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
?<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
?<uses-permission android:name="android.permission.SEND_SMS"/>
?<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
?<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
?
MainActivity.java:
?
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
???
???@Override
???public void onClick(View v) {
????// TODO Auto-generated method stub
????Fiap fiap = new Fiap(MainActivity.this);
????fiap.android_Pay(1);
???}
??});
?
Fiap.java:
?
package com.example.blogforlt;
import com.multimode_billing_sms.ui.MultiModePay;
import com.multimode_billing_sms.ui.MultiModePay.SMSCallBack;
import android.app.Activity;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;
public class Fiap {
?
?private Activity mActivity;
?//計(jì)費(fèi)點(diǎn)短代碼
?private String charge_Point;
?//道具名稱
?private String itemID= "";
?//道具金額
?private int coin;
?
?public Fiap(Activity activity){
??
??mActivity = activity;
?
?}
?
?//index是三種計(jì)費(fèi)點(diǎn)對(duì)應(yīng)的標(biāo)識(shí)
?public void android_Pay(int index){
??
??switch (index) {
??case 0:
???//激活游戲
???//此處計(jì)費(fèi)點(diǎn)填寫(xiě)移動(dòng)平臺(tái)申請(qǐng)的計(jì)費(fèi)點(diǎn)的后三位作為計(jì)費(fèi)點(diǎn)索引
???charge_Point = "000";
???itemID = "激活游戲";
???coin = 6;
???break;
??case 1:
???charge_Point = "001";
???itemID = "購(gòu)買(mǎi)200兌換幣";
???coin = 2;
???break;
??case 2:
???charge_Point = "002";
???itemID = "購(gòu)買(mǎi)400兌換幣";
???coin = 3;
???break;
??default:
???break;
??}
??
??fiapHandler.sendEmptyMessage(1);
??
?}
?
?Handler fiapHandler = new Handler(){
??public void handleMessage(android.os.Message msg) {
???if (msg.what == 1) {
????MultiModePay.getInstance().setEnableSend(true);// 調(diào)用SMS方法前必須調(diào)用
????// 參數(shù)依次為:當(dāng)前界面的Context,公司名字,電話號(hào)碼,游戲名,道具名,道具金額(元),計(jì)費(fèi)點(diǎn),回調(diào)接口
????MultiModePay.getInstance().sms(mActivity, "北京XXXXXX有限公司",
??????"010-XXXXXXXX", "XXX", itemID, String.valueOf(coin),
??????charge_Point, new MsgCallBack());
???}
??};
?};
?
?class MsgCallBack implements SMSCallBack {
??@Override
??public void ButtonCLick(int arg0) {
???// TODO Auto-generated method stub
??}
??@Override
??public void SmsResult(int result, String arg1) {
???// TODO Auto-generated method stub
???if (result == MultiModePay.SUCCESS) {
????
????// 支付成功的處理,直接執(zhí)行支付成功后的邏輯,此處為了體現(xiàn)出支付成功彈了個(gè)Toast,正式使用時(shí)不要有任何提示
????Toast.makeText(mActivity, "支付成功", Toast.LENGTH_LONG).show();
????Log.i("cn.catcap.qhta", "聯(lián)通方式支付成功。。。。");
???} else if (result == MultiModePay.FAILD) {
????Log.i("cn.catcap.qhta", "聯(lián)通方式支付失敗。。。。");
???}
???MultiModePay.getInstance().DismissProgressDialog(); // 取消進(jìn)度條,此行必須有才能回到游戲界面
??}
?}
}
???????至此,Android三大運(yùn)營(yíng)商的sdk付費(fèi)接入已完成,如果大家有什么問(wèn)題,意見(jiàn)或者建議請(qǐng)留言,后邊我會(huì)跟大家一起來(lái)走一遍目前市場(chǎng)上常見(jiàn)的第三方平臺(tái)支付接入,以及廣告和微博分享
總結(jié)
以上是生活随笔為你收集整理的Android支付接入(四):联通VAC计费的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux如何建立隐藏目录,【Linux
- 下一篇: python vector 初始化_从零