最近发现Umeng的第三方分享老师出现问题,而且UMen的客服最近由于工作问题,老等了半天也没回应。最近决定转向ShareSDK去。

推荐ShareSDK~最近又出了很多新产品,短信验证码SDK,手游录制分享SDK,部署版统计分析工具(部署在自己的服务器上,不用担心数据安全问题),全面转型Mob移动开发者服务平台。

1、去ShareSDK下载官方的SDK

必须添加的依赖库如下:
SystemConfiguration.framework ,
QuartzCore.framework ,
CoreTelephony.framework ,
libicucore.dylib ,
libz.1.2.5.dylib ,
Security.framework

2、现在他们的服务特别人性化,解压SDK之后会发现有一个"双击此批处理文件可以生成一个快速集成ShareSDK的目录.bat"这样一个文件,打开之后按照提示输入你的应用包名,他就会给你生成一个目录,你直接拷贝到你的项目中就OK了,拷贝进来之后会报错,其实就是R文件报错,在导入R文件包名的时候选择你自己的包名,然后就完事了,clean一下你的工程。

3、在assets目录下有一个ShareSDK.conf的文件,打开,找到你要集成的平台名字,然后APPKEY就不用说了,这里说一下AppSecret 这个是新浪特有的

SortId="1" 这个是集成的平台的独有ID,int类型的,数字越小越靠前

ShortLinkConversationEnable用来设置此平台是否开启转短链的功能,布尔值,不设置则默认为
true,此字段影响到回流统计,建议保留默认配置

以下依赖库可根据您支持的社交平台情况进行添加
MessageUI.framework 支持短信和邮件分享必备库
libstdc++.dylib QQ好友和QQ空间SSO必备库,如不需要SSO授权可不添加。(最新注册QQ互联开发者帐号只支持SSO授权,只是老开发者才可以使用网页授权)
libsqlite3.dylib QQ好友和QQ空间SSO必备库,如不需要SSO授权可不添加。(最新注册QQ互联开发者帐号只支持SSO授权,只是老开发者才可以使用网页授权)
CoreMotion.framework 如果不使用Google+可以不加
CoreLocation.framework如果不使用Google+可以不加
MediaPlayer.framework 如果不使用Google+可以不加
CoreText.framework如果不使用Google+可以不加
AssetsLibrary.framework 如果不使用Google+可以不加
AddressBook.framework如果不使用Google+可以不加
Social.framework 腾讯微博SDK依赖库
Accounts.framework 腾讯微博SDK依赖库

下面是在代码中进行集成

1.首先在你的项目入口的activity的oncreat()方法中,加上ShareSDK.initSDK(this);这句代码是初始化ShareSDK的
2、如果需要统计应用被打开次数,可以在出口activity中的onDestroy()方法的第一行中加入ShareSDK.stopSDK(this);

这行代码会结束Share SDK的统计功能并释放资源。

InitSDK是可以重复调用的,其实Share SDK建议在您不确定的时候调用这个方法,来保证Share SDK被正确初始化。而stopSDK一旦调用了,就必须重新调用InitSDK才能使用Share SDK的功能,否则会出现空指针异常。

到这里,基本的准备工作就已经完成了。下面是具体的集成代码了,这里以新浪微博和微信为例:

1、首先,说一下微信,腾讯的东西真TM不爽,微信这个玩意,非要搞什么签名和包名捆绑,一系列麻烦的东西,下面说一下

1)进入微信开放平台添加Android平台的信息。这些信息包括:下载地址、应用签名和包名。

上图中的下载地址不可以是应用apk文件的直接地址,而报名则是您应用的包名。至于应用签名,事实上您应用签名文件(keystore文件)的MD5值。有多种计算方式:

(1)使用微信提供的签名计算工具,来签名: 如果您希望通过这个方法来计算签名,则需要下载微信的签名计算工具。此处需要注意的是下载回来的文件一定是“apk”的,如果您下载回来的文件是zip或者后缀名,请修改其后缀名为“apk”,并复制到您的手机上安装。 然后为您的应用导出一个签过名的apk。请注意,这个签名应该是您将来发布应用时的签名,也就是所谓的“正式包签名”。这里需要解释一下,微信并不要求具体使用的签名文件的性质,但是修改签名经常会导致问题,所以为了避免不必要的麻烦,Share SDK强烈建议您使用正式包的签名。 安装导出的apk文件,然后运行微信的签名计算工具。并在其中输入您应用的包名,微信会自动计算您应用所签keystore的MD5:转至微信开放平台,将计算好的结果填写到其中并保存。

个人比较推荐这个方法,用eclipse的那种方法会因为eclipse的bug报错


修改授权页标题栏:

在清单文件中修改一下之前插入的授权页activity

主要是修改下面的meta-data

1 <activity
2 android:name="cn.sharesdk.framework.ShareSDKUIShell"
3 android:configChanges="keyboardHidden|orientation"
4 android:screenOrientation="portrait"
5 android:theme="@android:style/Theme.Translucent.NoTitleBar"
6 android:windowSoftInputMode="stateHidden|adjustResize">
7
8 <meta-dataandroid:name="Adapter"android:value="com.example.share.MyAdapter"/>
9 </activity>
然后创建MyAdapter这个类,继承cn.sharesdk.framework. authorize.AuthorizeAdapter,

然后重写onCreat方法等。重新定义界面

这里有几个方法会用到:

还有getPlatformName()-获取是哪个平台的授权页,getWebBody(),分享的内容


更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)使用 aidl 文件创建服务示例
  6. Android(安卓)JNI配置及入门
  7. 高德地图的调试版SHA1与发布版SHA1分别的获取,申请到KEY
  8. Android(安卓)studio中Kotlin配置和使用的图文详解
  9. android studio 文件结构makefile

随机推荐

  1. Gradle,*.jar,*aar
  2. Android使用AsyncTask下载图片,最好使用We
  3. Windows下用Git下载android源码
  4. Android(安卓)SmartRefreshLayout下拉刷
  5. 如何让android不运行默认的MainActivity.
  6. Android使用代码实现关机/重启
  7. android studio里面的svn基本使用
  8. Error generating final archive: Debug
  9. Android的富文本功能
  10. Android(安卓)Studio中集成OpenCV——只