不自重者,取辱。不自长者,取祸。不自满者,受益。不自足者,博闻。
微信公众账号随意扩散方案 进入全屏
line

这里所谓微信公众账号的随意扩散,指的就是将你的微信公众号散播到微信好友、微信朋友圈后,好友点进去以后能够以最短的路径成功关注你的微信公众号!如果你的文章是通过微信公众平台后台进行推送的,进去以后,你会发现对应的公众号昵称处是可点击的,并且能直接打开公众号的资料页。我们不妨看一下它的源码:

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>


以上,可以在你的页面上完成公众账号的随意扩散!

趣店(原趣分期)技术学院
重点关注技术架构、服务化、优秀工具、自动化平台、开发全流程一体化解决方案、新人培养、工程师进阶之道等方面
这里环境优雅、氛围年轻、主要是福利还多,还等什么?我们敞开技术的大门,欢迎各种工程师加入!

评论区域

line
  • iMing 2014-07-23 12:50:38 回复
    都不行
  • 3 2014-06-30 13:27:18 回复
    a
  • Mr.sin 2014-06-27 14:06:02 回复
    好像你说的这种方式也被屏蔽了。
  • Alien 2014-05-05 15:03:37 回复
    回复 tangzw : 官方的限制,没办法啊
    tangzw said:
    为什么不能有一个安卓和ios都可以使用的呢?
  • tangzw 2014-05-05 13:54:47 回复
    为什么不能有一个安卓和ios都可以使用的呢?
  • Alien 2014-04-14 15:12:30 回复
    回复 就是学习 : 嗯,每个版本更新很快。所以选择最靠谱的方案吧。
    就是学习 said:
    回复 Alien : 我测试了,微信5.2.0你文章最后的那个方法可以,但是更新到微信5.2.1你那个方法就不行了,估计给屏蔽了,或者是有别的方法了,唉。
  • 就是学习 2014-04-14 15:11:09 回复
    回复 Alien : 我测试了,微信5.2.0你文章最后的那个方法可以,但是更新到微信5.2.1你那个方法就不行了,估计给屏蔽了,或者是有别的方法了,唉。
    Alien said:
    回复 就是学习 : 那就用最后一个办法吧,点击“添加”后,跳转到公众平台的一个页面,专门负责添加关注。就像我文章里说到的iPhone上关注微信的方案
  • Alien 2014-04-14 14:32:37 回复
    回复 就是学习 : 那就用最后一个办法吧,点击“添加”后,跳转到公众平台的一个页面,专门负责添加关注。就像我文章里说到的iPhone上关注微信的方案
    就是学习 said:
    回复 Alien : 我自己弄的不可以关注,把你文章最后的那个粘贴也不可以关注,我用的是安卓的微信,谢谢,没想到你回复了,十分感谢!
  • 就是学习 2014-04-14 14:30:03 回复
    回复 Alien : 我自己弄的不可以关注,把你文章最后的那个粘贴也不可以关注,我用的是安卓的微信,谢谢,没想到你回复了,十分感谢!
    Alien said:
    回复 就是学习 : 是不能关注Baidufe公众号,还是说你自己做的不可以关注?
  • Alien 2014-04-14 11:50:39 回复
    回复 就是学习 : 是不能关注Baidufe公众号,还是说你自己做的不可以关注?
    就是学习 said:
    为什么我怎么处理都没法关注呢?
  • 就是学习 2014-04-14 11:49:24 回复
    为什么我怎么处理都没法关注呢?