4.4 接入文档
简介:本文主要介绍SDK接入文档
					

一、SDK文件说明

SDK包含的三个文件夹
libs目录为接入sdk需要导入的jar包
paysdk.jar(基本)
libammsdk.jar(微信用)
alipaySdk-20160120.jar(支付宝用)
xutillibrary.jar(http与图片加载框架)
wxapi微信回掉专用目录。
res 目录 sdk资源文件目录

Libs目录包含的文件

Armeabi下文件

二、 SDK使用步骤

以下以Eclipse为开发IDE进行范例说明:
准备:需要安装jdk和eclipse下配置安卓sdk;
没有安装的需要网上查找相关教程。

1、导入项目

开发者将项需要集成sdk的项目导入eclipse。

2、添加SDK文件
将SDK文件添加到项目指定目录

SDK文件夹目录

(1.)添加libs和res目录

复制libs,res两个文件夹,粘贴到项目根目录覆盖。
覆盖之后,项目原有libs目录和res目录对应多了sdk的libs目录和res目录中的内容。
为了避免重复,sdk资源文件命名多以mch_前缀,并且命名偏长。

lib文件下的所有文件如下:

res下的所有文件如下:

如果sdk的libs目录和res目录下的所有文件都拷贝到项目的libs目录和res目录下对应的目录中;添加libs和res目录成功。
(2.)导入jar包

一般情况下,jar包拷贝到libs目录会自动导入jar包;
如果没有自动导入的话,请打开libs目录;
选中paysdk.jar,libammsdk.jar,alipaySdk-20160120.jar;
右击 -> build path -> add to build path;导入成功。

成功导入

(3.)添加wxapi目录
打开src目录下程序主包名所在目录;
拷贝wxapi文件夹到该目录;
打开WXPayEntryActivity.java,修正WXPayEntryActivity.java所在的包;
WXPayEntryActivity不报错;wxapi目录添加成功。
添加wxapi之后

3、修改清单文件
文件位置

(1.)添加权限
打开项目AndroidManifest.xml文件,在mainfest内application外添加以下代码:

(2.)添加activity声明:
复制以下代码到application节点里面。


调用SDK接口

(1) 登录功能使用

import com.mchsdk.paysdk.MCApiFactory;
import com.mchsdk.paysdk.IGPUserObsv;


/**
  • 登录回调接口
*/
private IGPUserObsv mUserObsv = new IGPUserObsv() {
    @Override
    public void onFinish(GPUserResult result) {
        switch (result.getmErrCode()) {
        case GPUserResult.USER_RESULT_LOGIN_FAIL:
            writeLog("登录回调:登录失败");
            break;
        case GPUserResult.USER_RESULT_LOGIN_SUCC:
               //登陆账户
            String accountNo = result.getAccountNo();
            writeLog("登录回调:登录成功");
            break;
        }
    }
};
/**
  • 接口调用
*/
MCApiFactory.getMCApi().startlogin(context,mUserObsv);

(2)支付掉的方法:

import com.mchsdk.paysdk.MCApiFactory;
import com.mchsdk.paysdk.entity.OrderInfo;
import com.mchsdk.paysdk.payCallback;
// 支付结果回调
public payCallback payCallback = new payCallback() {
public void callback(int result) {
if (result == 1) {
//支付成功
return;
}
}
};
OrderInfo o = new OrderInfo();
//物品价格,单位分。
o.setAmount(1);
//游戏交易唯一ID,确定玩家信息,透传给游戏方
o.setExtendInfo("");
//物品描述
o.setProductDesc("");
//物品名称,微信支付时,此物品名称不能有中文
o.setProductName("12");
MCApiFactory.getMCApi().pay(MainActivity.this, getFragmentManager(), o, payCallback);

支付参目前默认用这个OrderInfo这个类传递
(3)悬浮窗
Sdk2.0.0添加悬浮窗系统,如个人中心等功能。
显示悬浮窗的Activity添加如下内容:

@Override
protected void onStart() {
MCApiFactory.getMCApi().floatingIsClose = false;
super.onStart();
}

@Override
protected void onResume() {
    super.onResume();
    MCApiFactory.getMCApi().startFloating(MainActivity.this);
}

@Override
protected void onPause() {
    MCApiFactory.getMCApi().floatingIsClose = true;
    super.onPause();
}

@Override
protected void onStop() {
    super.onStop();
    if (MCApiFactory.getMCApi().floatingIsClose) {
        MCApiFactory.getMCApi().stopFloating(MainActivity.this);
    }
}

三、测试
以上步骤检查无误后,可以clean项目之后调试进行初步测试。