微信公众账号随意扩散方案 进入全屏
这里所谓微信公众账号的随意扩散,指的就是将你的微信公众号散播到微信好友、微信朋友圈后,好友点进去以后能够以最短的路径成功关注你的微信公众号!如果你的文章是通过微信公众平台后台进行推送的,进去以后,你会发现对应的公众号昵称处是可点击的,并且能直接打开公众号的资料页。我们不妨看一下它的源码:
HTML代码:
<a href="javascript:viewProfile();" id="post-user" class="activity-meta"> <span class="text-ellipsis">Baidufe</span><i class="icon_link_arrow"></i> </a>
Javascript代码:
function viewProfile(){ if (typeof WeixinJSBridge != "undefined" && WeixinJSBridge.invoke){ WeixinJSBridge.invoke('profile',{ 'username':'gh_dd4b2c2ada8b', /* 你的公众号原始ID */ 'scene':'57' }); } }
你也许会很高兴的认为,原来就是这段代码起作用啊!
其实这段代码生效,是有限制性条件的:iOS环境、仅在 mp.weixin.qq.com 域下生效!
当然,你可以怀疑,接下来我们可以把上面的Javascript代码做一下简单修改,看看在callback中会得到什么信息:
function viewProfile(){ if (typeof WeixinJSBridge != "undefined" && WeixinJSBridge.invoke){ WeixinJSBridge.invoke('profile',{ 'username':'gh_dd4b2c2ada8b', /* 你的公众号原始ID */ 'scene':'57' },function(resp){ alert(resp.err_msg); /* 在这里,我们把err_msg输出 */ }); } }
我们将代码部署到自己的web server,比如:http://www.baidufe.com/demo/wxid_test.html ,然后用微信内置浏览器打开此链接,点击HTML中定义的a标签,调用viewProfile方法,此时将会弹出“not_allow”的错误信息!
那这个情况怎么破?是不是真的就没办法在自己的页面上进行公众号便捷扩散了?
其实我们可以这样来绕一下:
1、通过微信公众平台后台推送一条最简单的图文消息,这会生成一个独立页面,在该页面可以直接点击昵称打开公众号资料页,比如这个Demo独立页面
2、在我们自己的页面上,添加一个链接,指向上面生成的独立页面
独立页面类似:
当然,上面讨论的,都是针对iPhone版微信,确实,微信iOS端的WebView比Android WebView做的限制多好多。
下面,我们看看Android & WP上公众号的推广该怎么做。
其实很简单(在我之前的Blog中写过),就是一个链接搞定:
<a href="weixin://contacts/profile/gh_dd4b2c2ada8b">点击这里添加Baidufe公众号</a>
以上,可以在你的页面上完成公众账号的随意扩散!