最新消息:文章中包含代码时,请遵守代码高亮规范!

ShareSDK集成及集成后遇到的一些问题【原创】

Android sunshine 239浏览 0评论

一、先来介绍一下, 什么是ShareSDk?

shareSDK_百度百科 ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。ShareSDK移动开发者服务平台由广州掌淘网络科技有限公司开发。支持包括QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外40多家的主流社交平台,帮助开发者轻松实现社会化分享、登录、关注、获得用户资料、获取好友列表等主流的社会化功能,强大的统计分析管理后台,可以实时了解用户、信息流、回流率、传播效率等数据,有效地指导移动APP的日常运营与推广,同时为APP引入更多的社会化流量。

二、ShareSDK功能强大性

  1. 集成快捷,操作简单40多家主流社交网络,无论开发还是维护,都需要巨大的工作量才能完成,使用分享组件只需要3分钟即可集成完成,即可拥有丰富的功能和人性化的操作。
  2. 评论和赞功能可以直接通过第三方登录,发表评论和赞
  3. 插件稳定,安装包小每个开放平台的库包是独立的,开发者可根据需求添加,极大的减小APP体积,分享内容更稳定。
  4. 适配专用游戏引擎Cocos2d-xUnity3D;ANE;Java Script的专用游戏引擎社会化分享
  5. 社会化统计分析标准、专业的统计分析后台,实时了解SNS、用户、信息流、转化率、传播效应等基本数据,新增自定义短链、“评论和赞”板块,有效指导日常运营与推广。并于2014年3月,发布了“2013年全年社会化媒体分享行业报告”。

三、接下来说我们的主题Android怎么集成ShareSDk的:我这里讲的是AS集成,如果用eclipse建议自己去官网查看。

1、打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加  classpath ‘com.mob.sdk:MobSDK:+’,如下所示;

dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.mob.sdk:MobSDK:+'
}

2、在使用到Mob产品的module下面的build.gradle文件里面添加引用

apply plugin: ‘com.mob.sdk’

3、然后在模块app中添加MobSDK方法,配置mob的key和秘钥

如果还没有key的,申请Mob的appkey与appsecret请自行去http://www.mob.com/ 注册。

MobSDK {   
  appKey “d580ad56b4b5” 
    appSecret “7fcae59a62342e7e2759e9e397c82bdd”   
   ShareSDK {}   }

4、maven集成方式可以在Mob产品的module下面的build.gradle文件里面配置ShareSDK各个社交平台的key信息,

注意:其中的devInfo为来自社交平台的应用信息,如果需要其他的平台配置,可以参考下面的字段说明,或者参考demo中的配置

MobSDK {
appKey " d580ad56b4b5 "
appSecret " 7fcae59a62342e7e2759e9e397c82bdd "
ShareSDK {
//平台配置信息
devInfo {
LinkedIn {

id 20

sortId 20

appKey "ejo5ibkye3vo"

appSecret "cC7B2jpxITqPLZ5M"

callbackUri "http://sharesdk.cn"

shareByAppClient true

enable true

}

Wechat {

id 4

sortId 4

appId "wxd4300026e525062d"

appSecret "29dd08394a767914edc8c3179d3c543d3"

userName "gh_afb25ac019c9"

path "pages/index/index.html?id=1"

withShareTicket true

miniprogramType 0

bypassApproval false

enable true

}



WechatMoments {

id 5

sortId 5

appId " wxd4300026e525062d "

appSecret "29dd8394a767914edc8c3179d3c543d3"

bypassApproval false

enable true

}
QQ {

id 7

sortId 7

appId "105607929"

// appKey "aed9b0303e3ed1e27bae87c33761161d"

shareByAppClient true

bypassApproval false

enable true

}
}
}
}

注:如果您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:

MobSDK.init(this);

并且在Manifest清单文件中配置:tools:replace=”android:name”,如下所示

<application   tools:replace=”android:name”>

配置AppKey和AppSecret有两种方式:

(1)通过在build.gradle配置

(2)通过代码配置

如果选择通过代码配置,则不需要继承MobApplication,只要在使用ShareSDK之前,调用以下代码: Java// 通过代码注册你的AppKey和AppSecret MobSDK.init(context, “你的AppKey”, “你的AppSecret”);

12// 通过代码注册你的AppKey和AppSecretMobSDK.init(context, “你的AppKey”, “你的AppSecret”);

注意:到这里ShareSDK集成完毕 分享的可以继续看下面的说明

 OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();

// 分享时Notification的图标和文字  2.5.9以后的版本不调用此方法
//oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle(getString(R.string.share));
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段
oks.setText("我是分享文本");
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
oks.setImageUrl("http://pic6.huitu.com/res/20130116/84481_20130116142820494200_1.jpg");//确保SDcard下面存在此张图片
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment("我是测试评论文本");
// site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
oks.setSiteUrl("http://sharesdk.cn");

分享也就结束了下面是运行效果图:

页面很简单,点击share按钮调出下面我们配置的应用。

四、最后说一下两个小问题

1.分享至qq会出现分享成功,但qq上显示消息发送失败,这其实是setImagePath这个方法造成的,setImagePath是本机下的图片路径,将其改成setImageUrl然后输入正确的图片地址发现消息就可以发送成功了。

2.其实真正分享的内容并不是上面所写的,而是我们写的回调方法里面的内容,代码如下:

oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {

@Override
public void onShare(Platform platform, Platform.ShareParams paramsToShare) {
if (QQ.NAME.equals(platform.getName())) {
Book entity = new Book("西游记","http://www.baidu.com","孙悟空","http://www.baidu.com","http://pic6.huitu.com/res/20130116/84481_20130116142820494200_1.jpg");
mlist.add(entity);
entity = mlist.get(0);
paramsToShare.setTitle(entity.getTitle());
paramsToShare.setTitleUrl(entity.getTitleUrl());
paramsToShare.setText(entity.getText());
paramsToShare.setUrl(entity.getUrl());
paramsToShare.setImageUrl(entity.getImageUrl());
paramsToShare.setSiteUrl("http://www.baidu.com");
}
}
});

这样就会避免一些分享失败的情况了。

好了,就到这里了,谢谢大家观看。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25027.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者sunshine的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情