安卓SDK——ShareSDK


之前有提到过内容分享

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分钱,无广告
自定义UI100%UI开源,可自定义
一键分享同时分享(可分享不同内容)到三个社交平台且@好友
数据最全360维度统计分析社会化分享用户行为,让您更了解您的用户

社会化分享

下载&集成

http://www.mob.com/download

选择所需要的即可,这里就简单保留了几个常用的

保存配置后就可以看到一键下载的按钮

然后会提示你有两种方式可以选择 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);
    }
}

 

 

1 2 3 4 5 $sharesdk.shareContent($sharesdk.platformID.SinaWeibo, params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); 一键分享 1 2 3 4 5 $sharesdk.oneKeyShareContent([$sharesdk.platformID.SinaWeibo, $sharesdk.platformID.TencentWeibo], params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); 关于具体的分享参数名称,请参考“不同平台分享内容的详细说明”章节的说明。 用户授权 调用ShareSDK中的authorize方法可进行用户授权。代码如下: 1 2 3 4 5 $sharesdk.authorize($sharesdk.platformID.SinaWeibo, function (platform, state, error){ alert("state = " + state + "\nerror = " + error); }); 获取用户资料 调用ShareSDK中的getUserInfo来获取授权用户的信息。代码如下: 1 2 3 4 5 $sharesdk.getUserInfo($sharesdk.platformID.SinaWeibo, function (platform, state, user, error) { alert("state = " + state + "\nuser = " + user + "\nerror = " + error); }); iOS部分集成步骤(不发布iOS版本可略过此部分) 导入JS桥接的iOS版本组件 打开下载的JS包里的iOS/ShareSDKForJS/ShareSDKForJS.xcodeproj项目工程,选择ShareSDKForJS静态库运行Xcode,如图: 700px-js_doc_001.png 运行成功之后,请大家打开文件找到Build文件夹,然后进入文件中找到build/Products/Debug-iphonesimulato /libShareSDKForJS.a文件以及找到build/Products/Debug-iphonesimulator/usr/local /include/ShareSDKJSBridge.h这个文件,再将libShareSDKForJS.a和ShareSDKJSBridge.h这 2个文件导入到你的项目里,如图 700px-js_doc_002.png 注意:(如果在分享中弹不出分享的菜单,如果大家的ShareSDK.js文件是本地的,要把这个加到Build Phases里面的Copy Bundle Resources选项) 下载iOS版本ShareSDK,并导入到工程中。 登录ShareSDK的官方网站下载并解压最新版本的SDK。如果您还尚未下载,请 点击这里下载 或者访问 http://sharesdk.cn/Download 。解压后如图所示: 700px-js_doc_003 将ShareSDK导入工程中,并添加相应的依赖库。此步骤可以参考:《iOS快速集成指南》中的第一、第二步。执行完成后,如下图所示: 700px-js_doc_004.png 为UIWebView添加消息捕获 先导入ShareSDKJSBridge.h头文件。 1 #import "ShareSDKJSBridge.h" 然后给UIWebView设置一个委托对象,如: 1 webView.delegate = self; 注意:webView是UIWebView的对象实例。 最后实现shouldStartLoadWithRequest委托方法,并在方法中加入JSBridge的captureRequest方法,代码如下: 1 2 3 4 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { return ![[ShareSDKJSBridge sharedBridge] captureRequest:request webView:webView]; } 添加完毕后就可以对工程进行运行测试。 Android部分集成步骤(不发布Android版本可略过此部分) 导入的步骤如下: 1、参考”安卓快速集成文档“章节的说明,导入ShareSDK for Android的jar库和图片、文字资源。 2、复制github上的jsdemo项目中”cn.sharesdk.js”包中的源代码复制到你的项目中。QQ截图20150304142013 3、在您WebView加载页面地址之前。调用ShareSDKUtils.prepare(webview, webviewClient); 请注意,ShareSDKUtils.prepare方法要在WebView.setWebViewClient(WebViewClinet);之后调用,而且此后不能再调用setWebViewClient方法,否则ShareSDK的初始化操作可能失败。 下面的代码来自github上的demo: Objective-C 1 2 3 4 5 6 7 8 9 10 11 12 public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView wvBody = new WebView(this); WebViewClient wvClient = new WebViewClient(); wvBody.setWebViewClient(wvClient); wvBody.setWebChromeClient(new WebChromeClient() { public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云无心鸟知还

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值