目前微信和 QQ 曾经成为 App 分享的次要平台,大部分开发者都会首选集成这两个平台,除了能够抉择间接继承官网的的 SDK 外,目前市面上有不少第三方的集成商,帮忙开发者打包好了一键分享的 SDK 能力,如:极光,友盟 +,Mobtech 等,这里次要以友盟 + 集成为例,疾速实现在 Android 上集成两个平台的分享能力。
第一步:注册友盟 + 账号并获取一个Appkey
这一步根本是各个平台的必要流程,在友盟 + 官网注册一个账号后,
抉择新建 Appkey,填写必要的信息和平台,这里抉择安卓
创立成绩后,就能够拿到咱们的 Appkey 信息,个别是一个常字符串
第二步:下载SDK
抉择要集成的平台,咱们以后选微信和 QQ
下载实现后,解压会拿到这么几个文件:
将 main 文件夹以及 platform(抉择微信和 QQ)文件下,对应的资源文件和 jar 放入你的工程
第三步:代码集成
- 增加回调
微信须要增加回调的 Activity,在包名目录下创立 wxapi 文件夹,新建一个名为 WXEntryActivity 的 activity 继承 WXCallbackActivity。
QQ 不须要增加 Activity,但须要在应用 QQ 分享或者受权的 Activity 中,增加如下代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
- 配置 Android Manifest XML
微信:
<activity
android:name=”.wxapi.WXEntryActivity”
android:configChanges=”keyboardHidden|orientation|screenSize”
android:exported=”true”
android:theme=”@android:style/Theme.Translucent.NoTitleBar” />
QQ:留神这里的 scheme=”tencent100424468″,须要替换成你本人在腾讯开放平台申请的 QQKey 值
<activity
android:name=”com.tencent.tauth.AuthActivity”
android:launchMode=”singleTask”
android:noHistory=”true” >
<intent-filter>
<action android:name=”android.intent.action.VIEW” />
<category android:name=”android.intent.category.DEFAULT” />
<category android:name=”android.intent.category.BROWSABLE” />
<data android:scheme=”tencent100424468″ />
</intent-filter>
</activity>
<activity
android:name=”com.tencent.connect.common.AssistActivity”
android:theme=”@android:style/Theme.Translucent.NoTitleBar”
android:configChanges=”orientation|keyboardHidden|screenSize”/>
- 在 AndroidManifest 中增加权限
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />
<uses-permission android:name=”android.permission.INTERNET” />
- 初始化
初始化须要在您的 Application 中调用咱们的初始化接口,这里的这个 5a12384aa40fa3551f0001d1 须要替换成咱们方才本人申请的那个 Appkey
@Override
public void onCreate() {
super.onCreate();
UMConfigure.init(this,”5a12384aa40fa3551f0001d1″
,”umeng”,UMConfigure.DEVICE_TYPE_PHONE,””);//58edcfeb310c93091c000be2 5965ee00734be40b580001a0
}
接着在 application 里配置微信开放平台申请的 key 和 security
PlatformConfig.setWeixin(“wxdc1e388c3822c80b”, “3baf1193c85774b3fd9d18447d76cab0”);
到这里咱们就曾经实现了集成步骤,接下来就能够设置分享的款式和内容了。
- 设置分享面板
能够用 SDK 自带的分享款式面板,也能够本人定义面板,如下是应用自带面板:
new ShareAction(MainActivity.this).withText(“hello”).setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
.setCallback(umShareListener).open();
不带面板
new ShareAction(MainActivity.this)
.setPlatform(SHARE_MEDIA.QQ)// 传入平台
.withText(“hello”)// 分享内容
.setCallback(umShareListener)// 回调监听器
.share();
- 设置分享音讯类型
上面以分享链接为例:
UMWeb web = new UMWeb(Defaultcontent.url);
web.setTitle(“This is music title”);// 题目
web.setThumb(thumb); // 缩略图
web.setDescription(“my description”);// 形容
而后调用将这个参数设置到 ShareAction 中:
new ShareAction(ShareActivity.this)
.withMedia(web)
.share();
到此咱们的分享性能就集成实现了,其余平台或模式,大同小异。
若有播种,就点个赞吧