ShareSDK 第三方分享

 
最近发现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平台的信息。这些信息包括:下载地址、应用签名和包名。

    ShareSDK 第三方分享_第1张图片

上图中的下载地址不可以是应用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-data android:name="Adapter" android:value="com.example.share.MyAdapter" />
9          </activity>
然后创建MyAdapter这个类,继承cn.sharesdk.framework. authorize.AuthorizeAdapter,

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

这里有几个方法会用到:

ShareSDK 第三方分享_第2张图片

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


你可能感兴趣的:(android,android,android,it,share,ShareSDK,ShareSDK总结,第三方分享,第三方分享)