欢迎大家使用。
Library更新了jar包,截止2017-05-13,除微博最新的aar貌似要主工程才可以集成以外,其他的都是最新的。
主要提供服务:
支付:
微信支付,支付宝支付,银联如需请联系,暂不封装入
登录:
支付宝授权,微信授权,qq授权
分享:
qq分享,qq空间分析,微博分享,微信分享,微信朋友圈分享
集成方法:
allprojects {
repositories {
maven { url "https://raw.githubusercontent.com/extfff/repos/master" }
}
}
dependencies {
implementation 'com.vendor:social:1.0.2'
}
调用步骤:
1、Application配置
@Override
public void onCreate() {
super.onCreate();
Social.init(this);
}
2、AndroidManifest.xml配置
<!-- 根据需要添加 -->
<!-- 微博 -->
<meta-data
android:name="WEIBO_APP_KEY"
android:value="${WEIBO_APP_KEY}"/>
<meta-data
android:name="WEIBO_REDIRECT_URL"
android:value="${WEIBO_REDIRECT_URL}"/>
<meta-data
android:name="WEIBO_SCOPE"
android:value="${WEIBO_SCOPE}"/>
<!-- QQ -->
<meta-data
android:name="TENCENT_ID"
android:value="${TENCENT_ID}"/>
<!-- 微信 -->
<meta-data
android:name="WEIXIN_ID"
android:value="${WEIXIN_ID}"/>
<meta-data
android:name="WEIXIN_SECRET"
android:value="${WEIXIN_SECRET}"/>
<!-- 微信支付 -->
<meta-data
android:name="WEIXIN_PAY_MCH_ID"
android:value="${WEIXIN_PAY_MCH_ID}"/>
<meta-data
android:name="WEIXIN_PAY_SECRET"
android:value="${WEIXIN_PAY_SECRET}"/>
<!-- 支付宝支付 -->
<meta-data
android:name="ALIPAY_PARTNER"
android:value="${ALIPAY_PARTNER}"/>
<meta-data
android:name="ALIPAY_SELLER"
android:value="${ALIPAY_SELLER}"/>
<meta-data
android:name="ALIPAY_RSA_PRIVATE"
android:value="${ALIPAY_RSA_PRIVATE}"/>
<!-- 微信分享 -->
<activity
android:name=".wxapi.WXEntryActivity"
android:launchMode="singleTop"
android:exported="true"
android:theme="@android:style/Theme.Translucent"
android:screenOrientation="portrait" />
<!-- 微信支付 -->
<activity
android:name=".wxapi.WXPayEntryActivity"
android:launchMode="singleTop"
android:exported="true"
android:theme="@android:style/Theme.Translucent"
android:screenOrientation="portrait" />
3、build.gradle配置
在android的节点底下添加(如不要多渠道配置,可直接在AndroidManifest.xml中配置值即可)
buildTypes {
debug {
signingConfig signingConfigs.myConfigs
manifestPlaceholders = [ //debug环境
//微博分享
WEIBO_APP_KEY: "请输入申请的密钥",
WEIBO_REDIRECT_URL: "请输入申请的密钥",
WEIBO_SCOPE: "请输入申请的密钥",
//腾讯qq分享
TENCENT_ID: "请输入申请的密钥",
//微信分享
WEIXIN_ID: "请输入申请的密钥",
WEIXIN_SECRET: "请输入申请的密钥",
//微信支付
//商户号
WEIXIN_PAY_MCH_ID: "请输入申请的密钥",
//API密钥,在商户平台设置
WEIXIN_PAY_SECRET: "请输入申请的密钥",
//支付宝支付
//商户PID
ALIPAY_PARTNER: "请输入申请的密钥",
//商户收款账号
ALIPAY_SELLER: "请输入申请的密钥",
//商户私钥,pkcs8格式
ALIPAY_RSA_PRIVATE: "请输入申请的密钥"
]
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
manifestPlaceholders = [ //release环境
//...同debug
]
}
}
4、调用第三方登录-适用全部情况
AuthApi.doOauthVerify(this, AuthType.WEIXIN, new AuthApi.OnAuthListener() {
@Override
public void onComplete(int type, com.sicinfo.sippl.social.model.User user) {
ToastUtil.show(LoginActivity.this, "Login succ");
}
@Override
public void onError(int type, String error) {
ToastUtil.show(LoginActivity.this, error);
}
@Override
public void onCancel(int type) {
ToastUtil.show(LoginActivity.this, "Login cancel");
}
});
//如有微信登录需要配置如下环境
//在项目包名底下添加wxapi包,并新建WXEntryActivity extends WXBaseActivity
//并在AndroidManifest.xml中声明此页面(具体写法可看Library的AndroidManifest.xml中的注释)
5、调用支付宝支付
public static void alipay(Activity act, String entity, PayApi.OnPayListener l){
AliPay alipayApi = new AliPay(act);
alipayApi.setOnPayListener(l);
try {
JSONObject jsonObject = new JSONObject(entity);
//服务端拼凑 客户端拼凑的Library也有提供,不过不放出使用方法,毕竟已经过时,如需要请联系作者
alipayApi.pay(jsonObject.getString("pay_message"));
} catch (JSONException e) {
e.printStackTrace();
}
}
6、调用微信支付
public static void wxpay(final Activity act, String entity, PayApi.OnPayListener l){
WxPay wxApi = new WxPay(act);
wxApi.setOnPayListener(l);
try {
//服务端获取 客户端拼凑的Library也有提供,不过不放出使用方法,毕竟已经过时,如需要请联系作者
JSONObject jsonObject = new JSONObject(entity);
jsonObject = jsonObject.getJSONObject("pay_message");
WxPayContent req = new WxPayContent();
req.appid = jsonObject.getString("appid");
req.partnerid = jsonObject.getString("partnerid");
req.prepayid = jsonObject.getString("prepayid");
req.packageValue = jsonObject.getString("packagestr");
req.noncestr = jsonObject.getString("noncestr");
req.timestamp = jsonObject.getString("timestamp");
req.sign = jsonObject.getString("sign");
wxApi.pay(req);
} catch (JSONException e) {
ToastUtil.show(act, R.string.pay_error);
}
}
//微信支付需要配置如下环境
//在项目包名底下添加wxapi包,并新建WXPayEntryActivity extends WXPayBaseActivity
//并在AndroidManifest.xml中声明此页面(具体写法可看Library的AndroidManifest.xml中的注释)
7、调用第三方分享-适用全部情况
mShareApi = new ShareApi(this);
mShareApi.setOnShareListener(this);
String title = App.getInstance().isLogined() ? App.getInstance().getUser().realname : getString(R.string.app_name);
final ShareContent shareContent = new ShareContent.Builder()
.setAppName(getString(R.string.app_name))
.setTitle(getString(R.string.share_circle_title, title, mCircle.name))
.setText(mCircle.introduce)
.setTargetUrl(String.format(AppConfig.SHARE_CIRCLE_URL, mCircle.circle_id))
.setAppIcon(R.mipmap.ic_launcher)
.setIcon(mCircle.imgs.get(0).thumbnail)
.build();
mShareApi = ShareApi.doShare(CircleDetailActivity.this, ShareType.QQ, shareContent, CircleDetailActivity.this);
//如有qq、qq空间分享需要在调用页面的onActivityResult添加
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareApi.onActivityResult(requestCode, resultCode, data);
}
//如有微信分享需要配置如下环境
//在项目包名底下添加wxapi包,并新建WXEntryActivity extends WXBaseActivity
//并在AndroidManifest.xml中声明此页面(具体写法可看Library的AndroidManifest.xml中的注释)
有问题联系:QQ群 254202293