您的位置:首页 > 移动开发 > Android开发

【Android】友盟社会化分享

2016-07-23 10:49 387 查看
Android应用程序想使用微信、微信朋友圈、QQ或者QQ空间分享都比较常见,但是配置非常繁琐,就算是使用友盟也一样。

一、申请微信开放平台

申请地址:https://open.weixin.qq.com

需要的基本信息:包名+MD5签名



获得AppID以供使用。吐槽一下,这里的应用签名是指MD5签名,那特么的倒是写清楚啊,QQ和百度地图是要求SHA1签名,QQ和新浪微博要求的是MD5签名,这可真是无聊。



二、申请QQ开放平台

申请地址:http://connect.qq.com/

需要的基本信息:包名+sha1签名



获得APP ID以及APP KEY以供使用。这里不得不吐槽一下,申请QQ认证的时候,apk的下载地址是必须填写的,但是还没有完成QQ分享集成的话,应用如何提交应用市场?反过来,不提交应用市场如何获得下载地址?所以,这就是个逗比。



三、申请新浪微博开放平台

申请地址:http://open.weibo.com/

需要的基本信息:包名+MD5签名



获得APP ID以及App Secret以供使用。吐槽:呵呵



友盟网站设置

社会化分享-》设置-》自定义配置



Androidmanifest.xml文件设置

<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" />
        <!-- xxxxxx,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID -->
        <data android:scheme="tencent刚刚获得的QQ appId" />
    </intent-filter>
</activity>


分享给微信好友

MSocialService mUMSocialService = UMServiceFactory.getUMSocialService("com.umeng.share", RequestType.SOCIAL);
mUMSocialService.getConfig().supportWXPlatform(act, weixinAppId, contentUrl);
WeiXinShareContent media = new WeiXinShareContent(new UMImage(getActivity(), drawableId));
media.setTitle(titleString);
media.setShareContent(contentString);
media.setTargetUrl(targetUrl);
mUMSocialService.setShareMedia(media);
mUMSocialService.postShare(getSelfContext(), SHARE_MEDIA.WEIXIN, new SnsPostListener() {
@Override
public void onStart() {
}

@Override
public void onComplete(SHARE_MEDIA platform, int eCode,
SocializeEntity entity) {
}
});


分享到朋友圈

UMSocialService mUMSocialService = UMServiceFactory.getUMSocialService("com.umeng.share", RequestType.SOCIAL);
mUMSocialService.getConfig().supportWXPlatform(act, weixinAppId, contentUrl);  
mUMSocialService.getConfig().supportWXCirclePlatform(act, weixinAppId, contentUrl);
CircleShareContent media = new CircleShareContent(new UMImage(getActivity(), drawableId));
media.setTitle(titleString);
media.setShareContent(contentString);
media.setTargetUrl(targetUrl);
mUMSocialService.setShareMedia(media);
mUMSocialService.postShare(getSelfContext(), SHARE_MEDIA.WEIXIN_CIRCLE, new SnsPostListener() {
@Override
public void onStart() {
}

@Override
public void onComplete(SHARE_MEDIA platform, int eCode,
SocializeEntity entity) {
}
});


分享给QQ好友

UMSocialService mUMSocialService = UMServiceFactory.getUMSocialService("com.umeng.share", RequestType.SOCIAL);
mUMSocialService.getConfig().supportQQPlatform(act, QQAppId, QQAppKey, contentUrl); 
QQShareContent qqShareContent = new QQShareContent();
qqShareContent.setShareContent(contentString);
qqShareContent.setTitle(titleString);
qqShareContent.setTargetUrl(targetUrl);
mUMSocialService.setShareMedia(qqShareContent);
mUMSocialService.postShare(getSelfContext(), SHARE_MEDIA.QQ, new SnsPostListener() {
@Override
public void onStart() {
}

@Override
public void onComplete(SHARE_MEDIA platform, int eCode,
SocializeEntity entity) {
}
});


分享到QQ空间

UMSocialService mUMSocialService = UMServiceFactory.getUMSocialService("com.umeng.share", RequestType.SOCIAL);
mUMSocialService.getConfig().supportQQPlatform(act, QQAppId, QQAppKey, contentUrl); 
QZoneShareContent qZoneShareContent = new QZoneShareContent();
qZoneShareContent.setShareContent(contentString);
qZoneShareContent.setTitle(titleString);
qZoneShareContent.setTargetUrl(targetUrl);
mUMSocialService.setShareMedia(qZoneShareContent);
mUMSocialService.postShare(getSelfContext(), SHARE_MEDIA.QZONE, new SnsPostListener() {
@Override
public void onStart() {
}

@Override
public void onComplete(SHARE_MEDIA platform, int eCode,
SocializeEntity entity) {
}
});


分享到新浪微博

UMSocialService mUMSocialService = UMServiceFactory.getUMSocialService("com.umeng.share", RequestType.SOCIAL);
mUMSocialService.setShareContent(contentString);
mUMSocialService.postShare(getSelfContext(), SHARE_MEDIA.SINA, new SnsPostListener() {
@Override
public void onStart() {
}

@Override
public void onComplete(SHARE_MEDIA platform, int eCode,
SocializeEntity entity) {
}
});


上面是老版本的友盟SDK用法,新的版本有更新。

主要是代码设置支持平台的代码有改变,比如:

// 添加微信平台
UMWXHandler wxHandler = new UMWXHandler(getActivity(),appId,appSecret);
wxHandler.addToSocialSDK();

// 添加微信朋友圈
UMWXHandler wxCircleHandler = new UMWXHandler(getActivity(),appId,appSecret);
wxCircleHandler.setToCircle(true);
wxCircleHandler.addToSocialSDK();

其他可以参照具体文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: