当前位置:文档之家› ShareSDK接入说明文档

ShareSDK接入说明文档

基于ApkPlug以组件形式调用ShareSDK目录一,项目目的 (2)二,项目所使用到的开发库 (2)三,项目目录结构 (2)四,使用步骤 (2)1,导入ApkPlug框架 (2)2,导入ShareSDK调用库 (3)3,配置相关权限 (3)4,配置相关activity (3)5,调用ShareSDK组件 (5)6,操作演示 (6)一,项目目的利用ApkPlug插件化框架将ShareSDK组件化,以实现按需动态加载和减小应用体积的目的。

ShareSDK是非常棒的移动社会化分享和评论工具,相信我们在开发应用过程中都离不开它。

但是当我们集成ShareSDK时候同样会遇到一些问题。

1.ShareSDK包比较大,组合国内多家分享平台以后其SDK包的大小应该在1M以上,这对应用来说还是不小的负荷。

2.集成ShareSDK过程中我们不可避免的需要将它的资源文件复制到应用的res资源目录下,这对我们应用后期维护造成不小的干扰。

基于以上的两大情况,我想通过ApkPlug框架将ShareSDK整体做成组件,在用户需要的时候才动态的从服务端加载到本地,这样做很方便的就解决了以上两个问题。

二,项目所使用到的开发库Apkplug v2.7.5版本 (必须是v2.7.5以上版本,否则无法运行)Apkplug插件托管服务 v1.8.0版本以上ShareSDK v2.10.7 (使用的最新版本DEMO)三,项目目录结构ShareSDKMain ---主应用演示DEMOShareSDKPlug ---ShareSDK 组件的具体实现PlugShareSDK1.0.0.jar --组件调用库四,使用步骤1,导入ApkPlug框架将Bundle2.7.5-Dev.jar 和 ApkplugCloudService1.8.0-Release.jar 拷贝到主应用libs目录下Bundle2.7.5-Dev.jar 是apkplug核心库 (v2.7.5版本以后只需要该文件即可不在需要libndkfoo.so)ApkplugCloudService1.8.0-Release.jar 是apkplug插件托管服务SDK,我们用它下载服务端的ShareSDK组件2,导入ShareSDK调用库将PlugShareSDK1.0.0.jar拷贝到主应用的libs目录下,它是ShareSDK组件的调用库,它封装了ShareSDK组件的调用接口,以及如果从apkplug插件托管服务下载组件的业务逻辑。

3,配置相关权限<!-- APKPLUG框架须要的权限--><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><!-- ShareSDK须要的权限--><uses-permission android:name="android.permission.GET_TASKS"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/><uses-permission android:name="android.permission.GET_ACCOUNTS"/>4,配置相关activity<!-- APKPLUG框架须要的Activity配置--><activityandroid:name="org.apkplug.app.apkplugActivity"android:theme="@android:style/Theme.Translucent"android:configChanges="orientation|keyboardHidden"/><!-- ShareSDK须要的Activity配置--><!-- 微信分享回调--><activityandroid:name="cn.sharesdk.socialization.sample.wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"/><!-- 易信分享回调--><activityandroid:name="cn.sharesdk.socialization.sample.yxapi.YXEntryActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:excludeFromRecents="true"android:exported="true"android:launchMode="singleTop"/><activityandroid:name="cn.sharesdk.framework.ShareSDKUIShell"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="stateHidden|adjustResize"><!--Adapter表示一个继承自cn.sharesdk.framework.authorize.AuthorizeAdapter的类,这个类可以监听到页面的生命周期,也可以获取授权页面的各种UI控件。

开发者可以通过继承AuthorizeAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。

<meta-data android:name="Adapter" android:value="cn.sharesdk.demo.MyAdapter" />--><!--Dropbox的SSO功能需要在此处添加一个对ACTION_VIEW事件的过滤器,其中的scheme 是“db-”前缀再开发者应用的加上appKey。

如果此过滤器不设置,则不能完成SSO功能授权--><intent-filter><data android:scheme="db-7janx53ilz11gbs"/><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.BROWSABLE"/><category android:name="android.intent.category.DEFAULT"/></intent-filter><!--如果集成QQ分享,或者使用QQ客户端来进行QQ空间的分享,须要在此处添加一个对ACTION_VIEW事件的过滤器,其中的scheme是“tencent”前缀再开发者应用的加上appId。

如果此过滤器不设置,则分享结束以后不能得到正确的回调--><intent-filter><data android:scheme="tencent100371282"/><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.DEFAULT"/><category android:name="android.intent.category.BROWSABLE"/></intent-filter></activity>注释说明:ApkPlug框架的插件activity是不需要在宿主配置的,但ShareSDK的这几个Activity 是负责与外部应用通信回调的,因此需要在宿主配置。

相关主题