问题
有没有办法为我的网站页面在微信内共享提供自定义标题,说明和缩略图?
背景
我们有一个iPhone应用程序,用户可以使用微信(又名微信)与朋友发布/分享帖子。
当从应用程序共享标题时,将通过共享页面的API发布描述和图像(这些显示在从应用程序共享时根据需要显示)。一旦分享,朋友在微信(而不是我们的应用程序)中打开这些页面。
问题在于,当朋友使用微信自己的分享按钮重新分享我们的页面时,它会丢失我们提供的描述。它将与HTML标题标签重新共享,页面上的第一个图像(拉伸或压缩成方形缩略图)以及描述最初只显示页面的URL。
我尝试在描述元标记中提供描述,但没有运气。我甚至尝试过Facebook风格/开放图形og:description meta tags。
旁注
我查看了一个似乎已经克服了这个问题的中文网站上的来源。我认为它使用了一种名为WeixinJSBridge的javascript插件解决了。不幸的是,我无法用英语发现任何文件 - 我的中文并不好,而且我的意思是,我不能读一个字。
答案 0 :(得分:4)
[自WeChat发布新的JS SDK以来没有工作]这是微信的解决方案:http://mp.weixin.qq.com/qa/index.php?qa=3163 但是,都有中国人。您可以尝试的代码如下:
var imgUrl = 'http://xxx/your-share-icon.png';
var lineLink = 'http://xxx/your-share-link';
var descContent = "your-content-desc";
var shareTitle = 'you-share-title';
var appid = 'your-app-id (from WeChat)';
function shareFriend() {
WeixinJSBridge.invoke('sendAppMessage',{
"appid": appid,
"img_url": imgUrl,
"img_width": "640",
"img_height": "640",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
_report('send_msg', res.err_msg);
})
}
function shareTimeline() {
WeixinJSBridge.invoke('shareTimeline',{
"img_url": imgUrl,
"img_width": "640",
"img_height": "640",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
_report('timeline', res.err_msg);
});
}
function shareWeibo() {
WeixinJSBridge.invoke('shareWeibo',{
"content": descContent,
"url": lineLink,
}, function(res) {
_report('weibo', res.err_msg);
});
}
// WeChat browser will initial by above function and trigger WeixinJSBridgeReady event.
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
// share to friend
WeixinJSBridge.on('menu:share:appmessage', function(argv){
shareFriend();
});
// share to timeline
WeixinJSBridge.on('menu:share:timeline', function(argv){
shareTimeline();
});
// share to weibo
WeixinJSBridge.on('menu:share:weibo', function(argv){
shareWeibo();
});
}, false);
答案 1 :(得分:0)
实际上现在微信确实为Moments或朋友提供iOS / Android SDK共享内容,以下是英文文档:http://dev.wechat.com/wechatapi/messages-moments