一、Web方式:
新浪微博:
/share/?
count=表示是否显示当前页面被分享数量(1显示)(可选,允许为空)
&url=将页面地址转成短域名,并显示在内容文字后面。(可选,允许为空)
&appkey=用于发布微博的来源显示,为空则分享的内容来源会显示来自互联网。(可选,需要注册新浪开发appkey)
&title=分享时所示的文字内容,为空则自动抓取分享页面的title值(可选,允许为空)
&pic=自定义图片地址(可选,允许为空,多个地址用||分隔)
&ralateUid=转发时会@相关的微博账号(可选,允许为空)
&language=语言设置(zh_cn|zh_tw)(可选)
QQ空间:(/intro/share/)
/cgi-bin/qzshare/cgi_qzshare_onekey?
url=分享的网址
&desc=默认分享理由(可选)
&summary=分享摘要(可选)
&title=分享标题(可选)
&site=分享来源 如:腾讯网(可选)
&pics=分享图片的路径(可选)
QQ分享给朋友:(/intro/share/)
/widget/shareqq/?
url=取URL,可加上来自分享到QQ标识,方便统计
&desc=分享理由(风格应模拟用户对话),支持多分享语随机展现(使用|分隔)
&title=分享标题(可选)
&summary=分享摘要(可选)
&pics=分享图片(可选)
&flash=视频地址(可选)
&site=分享来源(可选) 如:QQ分享
Facebook:(/)
/sharer/?
u:分享的url
Twitter:(/web/tweet-button/web-intent)
/intent/tweet?
url : 分享的URL
text : 描述内容
hashtags: 用逗号分隔的标签集
related:@用户
via:关联账户
Google+:
/share?
url : 分享的URL
二、Intent方式:
分享图片+文字 |
分享文字 |
|
|
仅图片成功 |
不成功 |
|
OK |
OK |
Google+ |
OK |
OK |
|
OK |
OK |
Webchat朋友圈 |
图片显示缩略图,文字失败 |
不支持 |
Webchat朋友 |
未显示缩略图,文字分享后不可见 |
OK |
QQ空间 |
OK |
OK |
QQ分享给朋友 |
仅图片成功 |
OK |
初步结论:
-
Webchat只能通过嵌入sdk方式实现(只使用分享到朋友圈混淆压缩后size增加12k)
-
Google+、Twitter、Weibo、Qzone安装了app时可通过intent方式实现,未安装app时可通过web share url方式实现。
-
Facebook需要通过web share url实现
-
Facebook、Twitter、Google+ web share url方式需要网页插入特定meta tag才能实现自动抓取内容显示缩略效果
-
具体实现请参照master base下ShareHelper
TODO:
-
Google+ intent分享时因为存在多个可处理intent的component需要制定component class
-
Facebook、WebChat以及Weibo web share url方式需要申请开发者账号
Facebook:/
Webchat:/
Weibo:/
Social Graph Meta Tags:参照/RZ1khUw (内含网址检验工具)
<!-- common tag (google+)-->
<meta property="og:title" content="Google+ title"/>
<meta property="og:url" content=""/>
<meta property="og:image" content="/"/>
<meta property="og:description" content="..."/>
<meta property="og:site_name" content="IMDb"/>
Google+ Url Debugger:
/webmasters/tools/richsnippets?gws_rd=cr
<!-- Facebook -->
<meta property="fb:admins" content="579622216,709634581">
<meta property="fb:app_id" content="1389892087910588"> 需要注册开发APP id
<meta property="article:author" content="">
<meta property="article:publisher" content="">
FB Url Debugger :/tools/debug/og/object/
<!-- Twitter -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@nytimesbits" />
<meta name="twitter:creator" content="@nickbilton" />
Twitter Url Debugger:/validator
4.网页不含标准tag时,FB等会尝试自动查找页面部分属性标签如title、description、img等自行完成填充