之前有提到过内容分享
https://blog.csdn.net/nishigesb123/article/details/89094323
这个其实算是一部分,下面介绍的SDK不仅可以更好的实现内容分享
而且还能满足很多其他的如“数据统计”、“第三方登录”之类的需求
ShareSDK
概述
轻松实现社会化功能
ShareSDK是一种社会化分享组件,为App提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台
官网地址:http://www.mob.com/product/sharesdk
(目前看到的第三方SDK里官网长得最好看的,233)
主要功能
功能 详解 第三方登录 运用社交网络账号QQ、微博等登录App更方便快捷 用户不必再填写注册信息、上传头像等繁琐的步骤 用户授权后,开发者可获取用户基本信息,如头像、昵称和签名 一键分享 支持分享文字、图片、图文、音乐 视频@好友和#话题#,一键分享 短链转换 轻松实现你分享出去的链接中,仅让用户看到您的官网地址,而并非ShareSDK 好友关系 轻松实现获取微博好友关系、微博内容、用户资料、LBS信息 社会化数据化统计 了解App整体社会化分享效果,如分享数、回流数、回流率、意向分享等 了解用户在各个社交平台分享的不同内容 实时查看不同社交平台的授权用户属性,分析每个社交平台的用户男女比例等 实时查看机型、分辨率、操作系统、联网方式、运营商。分析不同设备用户的分享情况 评论和赞 用户可通过第三方账号或者自有账号登录,对你设置的主题进行评论或赞 同时您也能在后台审核评论内容,轻松建立社区氛围 全面数据统计 实时查看App各项社会化数据,帮助开发者了解社会化数据的各项指标 便于开发者从社交属性、用户分布、平台选择、营销效果等多个维度评估App
优势
优势 详解 SDK体积最小 开放平***立库包模式,开发者可根据需求添加或删除 官网支持自定义下载demo 社交平台支持最全 支持全球主流社交平台40+ 短链转换 轻松实现你分享出去的链接中,仅让用户看到您的官网地址,而并非ShareSDK 深度支持游戏 好友关系运用-邀请好友、求助、发起挑战等 永久免费 我们承诺不收开发者1分钱,无广告 自定义UI 100%UI开源,可自定义 一键分享 同时分享(可分享不同内容)到三个社交平台且@好友 数据最全 360维度统计分析社会化分享用户行为,让您更了解您的用户
社会化分享
下载&集成
选择所需要的即可,这里就简单保留了几个常用的
保存配置后就可以看到一键下载的按钮
然后会提示你有两种方式可以选择 emm很骚的是我并不能看见所谓的“代码”?
然后....可以参考帮助文档:http://wiki.mob.com/sdk-share-android-3-0-0/
上面倒是有提供具体的引用代码
注:使用ShareSDK Gradle集成方式,不需要在AndroidMainfest.xml下面配置任何权限和Activity
注意:需要先申请Mob的appkey与appsecret请点击这里查看
一、配置gradle
1、打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加 classpath ‘com.mob.sdk:MobSDK:2018.0319.1724’,如下所示;
1
2
3
4
5
6
7
8
9
10
11
buildscript {
repositories {
jcenter()
}
dependencies {
...
classpath "com.mob.sdk:MobSDK:2018.0319.1724"
}
}
2、在使用到Mob产品的module下面的build.gradle文件里面添加引用
1
apply plugin: 'com.mob.sdk'
3、然后添加MobSDK方法,配置mob的key和秘钥 (与第2步是一个gradle中;注意:MobSDK方法是配置到文件根目录,与android并列,不要配置到android里面哦)
如果还没有key的,申请Mob的appkey与appsecret请点击这里查看
Onekeyshare是ShareSDK的GUI界面,如果不需要,则需要添加”gui false”,因为默认是使用gui,version字段为SDK的版本号,不设置则使用最新的版本;
1
2
3
4
5
6
7
MobSDK {
appKey "d580ad56b4b5"
appSecret "7fcae59a62342e7e2759e9e397c82bdd"
ShareSDK {}
}
4、Gradle集成方式可以在Mob产品的module下面的build.gradle文件里面配置ShareSDK各个社交平台的key信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
MobSDK {
appKey "d580ad56b4b5"
appSecret "7fcae59a62342e7e2759e9e397c82bdd"
ShareSDK {
//平台配置信息
devInfo {
SinaWeibo {
appKey "568898243"
appSecret "38a4f8204cc784f81f9f0daaf31e02e3"
callbackUri "http://www.sharesdk.cn"
shareByAppClient false
}
Wechat {
appId "wx4868b35061f87885"
appSecret "64020361b8ec4c99936c0e3999a9f249"
}
QQ {
appId "100371282"
appKey "aed9b0303e3ed1e27bae87c33761161d"
shareByAppClient true
}
Facebook {
appKey "1412473428822331"
appSecret "a42f4f3f867dc947b9ed6020c2e93558"
callbackUri "https://mob.com"
}
}
}
}
其中的
devInfo
为来自社交平台的应用信息。注:如果您没有在
AndroidManifest
中设置appliaction
的类名,MobSDK会将这个设置为com.mob.MobApplication
,但如果您设置了,请在您自己的Application类中调用:
1
MobSDK.init(this);
并且在Manifest清单文件中配置:tools:replace=”android:name”,如下所示:
1
2
3
<application
android:name = ".MyApplication"
tools:replace="android:name">
测试代码
package com.example.a5_19sharesdk;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import cn.sharesdk.onekeyshare.OnekeyShare;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void test(View v) {
showShare();
}
private void showShare() {
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// title标题,微信、QQ和QQ空间等平台使用
oks.setTitle(getString(R.string.share));
// titleUrl QQ和QQ空间跳转链接
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段
oks.setText("我是分享文本");
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
// url在微信、微博,Facebook等平台中使用
oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网使用
oks.setComment("我是测试评论文本");
// 启动分享GUI
oks.show(this);
}
}
初始化的话在Application里进行
package com.example.a5_19sharesdk;
import android.app.Application;
import com.mob.MobSDK;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
MobSDK.init(this);
}
}