android 多渠道 qq第三方登录,SocialLibrary: 微博分享、微信分享、qq分享,微信支付、支付宝支付 qq登录、微信登录、支付宝登录,直接引用官方提供api 安全省心...

SocialLibrary

欢迎大家使用。

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配置

android:name="WEIBO_APP_KEY"

android:value="${WEIBO_APP_KEY}"/>

android:name="WEIBO_REDIRECT_URL"

android:value="${WEIBO_REDIRECT_URL}"/>

android:name="WEIBO_SCOPE"

android:value="${WEIBO_SCOPE}"/>

android:name="TENCENT_ID"

android:value="${TENCENT_ID}"/>

android:name="WEIXIN_ID"

android:value="${WEIXIN_ID}"/>

android:name="WEIXIN_SECRET"

android:value="${WEIXIN_SECRET}"/>

android:name="WEIXIN_PAY_MCH_ID"

android:value="${WEIXIN_PAY_MCH_ID}"/>

android:name="WEIXIN_PAY_SECRET"

android:value="${WEIXIN_PAY_SECRET}"/>

android:name="ALIPAY_PARTNER"

android:value="${ALIPAY_PARTNER}"/>

android:name="ALIPAY_SELLER"

android:value="${ALIPAY_SELLER}"/>

android:name="ALIPAY_RSA_PRIVATE"

android:value="${ALIPAY_RSA_PRIVATE}"/>

android:name=".wxapi.WXEntryActivity"

android:launchMode="singleTop"

android:exported="true"

android:theme="@android:style/Theme.Translucent"

android:screenOrientation="portrait" />

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值