第三方SDK集成库,支持 受权/分享/支付 等功能java
目前这个库还不稳定,有些细节并未仔细考虑,有些功能也并未进行测试,支持的平台也很少,欢迎你们 star/issue/pr,共同完善这个库android
成功后的结果为 "code|{code}", "token|{openId}|{token}" 两种形式git
但客户端其实不须要关心是code仍是token,直接把result发结服务端就行了github
不少支付类库会在客户端处理商品支付信息,其实这是没必要要要的,直接由服务端返回数据并交给支付SDK,而后处理支付结果就行了后端
支持 纯文本/纯图片/图文/网页/音乐/视频 等分享类型微信
平台 | 纯文本 | 纯图片 | 图文 | 网页 | 音乐 | 视频 |
---|---|---|---|---|---|---|
x | o | x | o | o | x | |
QZone | o | o | o | o | x | o |
WXSession | o | o | x | o | o | o |
WXTimeline | o | o | x | o | o | o |
o | o | o | x | x | x |
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.czy1121:sdk3rd:0.1.0'
}复制代码
或app
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.czy1121.sdk3rd:sdk3rd:0.1.0'
compile 'com.github.czy1121.sdk3rd:sdk3rd-alipay:0.1.0'
compile 'com.github.czy1121.sdk3rd:sdk3rd-qq:0.1.0'
}复制代码
配置APPIDmaven
PlatformConfig.useQQ(BuildConfig.APPID_QQ);
PlatformConfig.useWeixin(BuildConfig.APPID_WEIXIN);
PlatformConfig.useWeibo(BuildConfig.APPID_WEIBO, "http://www.sina.com/");
PlatformConfig.usePayments();复制代码
设置全局事件回调(非必要)ide
AuthorizeSDK.setDefaultCallback(new OnCallback() {
@Override
public void onStarted(Activity activity) {
Log.e("ezy", "authorize started");
}
@Override
public void onCompleted(Activity activity) {
Log.e("ezy", "authorize completed");
}
@Override
public void onSucceed(Activity activity, Object result) {
Log.e("ezy", "authorize succeed");
}
@Override
public void onFailed(Activity activity, int code, String message) {
Log.e("ezy", "authorize failed [" + code + "]" + message);
}
});复制代码
接收受权结果(新浪微博/QQ)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
AuthorizeSDK.onHandleResult(this, requestCode, resultCode, data);
}复制代码
调用受权
AuthorizeSDK.authorize(MainActivity.this, platform, new OnSucceed<String>() {
@Override
public void onSucceed(String result) {
Toast.makeText(MainActivity.this, "登录成功 - " + result, Toast.LENGTH_LONG).show();
}
});复制代码
注册自定义平台,须要实现 IAuthorize 与相应的 IFactory
AuthorizeSDK.register(IFactory<IAuthorize> factory);
AuthorizeSDK.register(String platformName, String appId, Class<IAuthorize> clazz);复制代码
全局事件回调的设置与受权SDK相似
调用支付
PaymentSDK.pay(MainActivity.this, platform, paydata, new OnSucceed<String>() {
@Override
public void onSucceed(String result) {
// todo
}
});复制代码
注册自定义平台,须要实现 IPayable 与相应的 IFactory
PaymentSDK.register(IFactory<IPayable> factory);
PaymentSDK.register(String platformName, Class<IPayable> clazz);复制代码
全局事件回调的设置与受权SDK相似
...
分享结果的接收也与受权SDK相似(QQ)
...
注册自定义平台,须要实现 IShareable 与相应的 IFactory
ShareSDK.register(IFactory<IShareable> factory);
ShareSDK.register(String platformName, String appId, Class<IShareable> clazz);复制代码
分享
// 分享纯文本
ShareSDK.make(this, text).share(platform);
// 分享纯图片
ShareSDK.make(this, new MoImage(image)).share(platform);
// 分享图文
ShareSDK.make(this, text, new MoImage(image)).share(platform);
// 分享网页连接
ShareSDK.make(this, new MoWeb(url))
.withTitle("这是标题")
.withDescription("这是摘要")
.withThumb(thumb)
.share(platform, new OnSucceed<String>() {
@Override
public void onSucceed(String result) {
Toast.makeText(MainActivity.this, "分享成功", Toast.LENGTH_LONG).show();
}
});
// 分享音乐
ShareSDK.make(this, new MoMusic(url))
.withTitle("这是标题")
.withDescription("这是摘要")
.withThumb(thumb)
.share(platform);复制代码
友盟+分享组件90%常见问题汇总
bbs.umeng.com/thread-1776…
友盟各平台可分享内容预览
dev.umeng.com/social/andr…
Android 不一样平台分享内容的详细说明
wiki.mob.com/不一样平台分享内容的详细…