谈谈「微信适配」

为什么有的 H5 进了朋友圈能火,有的 H5 进了朋友圈就火不了呢?如果创意不输,设计也行,那么,还可能是遇上了一些技术上的小问题。为了解决这些问题,我们不妨也编造一个概念出来,叫做“微信适配”。

您要是从别的地方也听过这个词,那估计恰好是被我说中了。这几年,人们的造词能力确实进化了很多。

微信适配的覆盖度或说完成度,基本衡量了一个页面专门为微信所做优化的程度。完成度越高的页面,在微信里的亲和力就越高,越容易被分享,分享后别人看着越舒服,越容易点开,就越容易被分享……

微信适配包括哪些方面呢?


第一点,我瞎编的,我后面也都是瞎编的,您要是喜欢瞎编,就往下看。

第一点,是最容易被忽略的部分,域名。准确地说,是业务域名。微信公众平台有这么个业务域名的概念,它的重要性就好像保险公司,好像运维部门。它工作,人们不会感觉到。它不工作,人们会吃尽苦头。

什么苦头呢?

如果没有正确设置业务域名,那么你的网页在微信里分享超过一定次数后,就会被禁止。你可以分享这个页面到朋友圈,但朋友看不到。就好像你被禁言了,所有人被禁言了。无论谁分享这个页面到朋友圈,他的朋友都看不到这个分享。

如果没有正确设置业务域名,还会导致你分享的页面被压缩转码。这就意味着,微信会把你设计好的页面,乱改一通,变成不知是什么样子。这一点,可以类比一下uc浏览器或者百度什么的这类软件,在中间劫持一道,让访客不能访问到你的原始页面。造成的后果可能是这样的,你本来是全屏翻页的几个幻灯片,结果被微信一转码,就变成一屏显示一页半了。你能忍吗?

如果没有正确设置业务域名,只要你的页面上存在输入框,微信都会弹出一个警告,说请不要信任不要输入密码之类的话。虽然影响不大,但影响还是挺大的。你妹的,我弄个网站备了工信部的案备了公安局的案到你这还要被警告。。。我说这是微信备案,应该有人同意。

上边这些苦头,目前吃亏比较多的是境外品牌的网站,因为不了解微信的政策,不少洋品牌吃了亏。

当然吃亏的不知老外,还有中国的小企业和个人。因为目前业务域名需要微信认证才能填,需要交三百块每年的服务费,才能保护自己的网页能在微信里传播。

有同学说我怎么没发现分享不出去?那是因为你页面嗯转发量还很小,多了你就知道了,大半夜求助无门欲哭无泪的感觉,很能让人成长。

关于微信适配的第一个方面,就讲到这里吧,请大家记得合理正确地设置业务域名,不要空着哟。


我们接着讲讲,微信适配的第二个方面。

微信适配是我效仿前人,提出的一个概念。做网站的话,如果想火,就需要做搜过引擎优化,还要做百度优化,还要做移动端适配,等等。不可避免的,你也需要做微信端的优化,微信优化很多人都知道应该做,但还不清楚需要做什么,怎么做。所以我提出了“微信适配”这么个概念,希望能从方法论上,做一个简单有效的梳理,让大家能一眼望见许多坑,西出阳关无霸哥。

所以我提出了微信适配的概念。我是谁?我是涛哥,这几年也有人叫郝叔。姑娘爱看书吗?爱看好书吗?嗯,郝叔也爱看你。

上一次,我们讲到微信适配的第一个方面是业务域名,只有正确设置了业务域名,你的网页才能在微信里受保护地传播。由于获得业务域名权限需要通过认证,认证又需要交钱,我们可以把业务域名理解为保护费域名。

这一回要讲的是微信适配的第二个方面,jssdk。jssdk是微信推出的一套组件,让网页在微信里传播时,能够被体面地显示,又慷慨地将一些底层的设备功能让度给了开发者,比方说网页上可以录音可以拍照可以扫码。

网页内容在微信里被体面地显示,主要体现在当网页被分享到朋友圈或分享给好友时,会显示一个怎样的缩略图,怎样的标题,和怎样的摘要。需要说明的是,只有分享给好友时才会显示摘要,而分享到朋友圈时,仅显示缩略图和标题。

如果一个网页没有做任何微信适配工作,那默认的标题是网页标题,也就是title标签里的内容。默认的缩略图一般是网页里的第一张图片,如果网页里没有图片或者图片加载慢,则很有可能分享出去后不能显示图片。默认的摘要,是最令人不能接受的地方,是你的网站域名。很多情况下,大家看到右边偌大的空白区域只放着一个光秃秃的域名,而这个域名在内容传播上没有帮助,就会,心塞。

所以一个没有做好jssdk配置的页面,在微信里传播时,虽然不像业务域名那样不让传,但是会以不完美的状态传。

有人问,我的公众号推送的文章,在微信里传播时,没有遇到这些问题啊?

原因是,你的内容发布在微信平台上,你用的是微信的域名,微信当然要给自己的域名放行,这相当于微信给自己的公众平台文章做好了微信适配。

注意过吗?你每次在公众平台后台编辑文章时,都要求你写一个标题,上传一张封面,填一个摘要,如果没有就自动生成。没错,这就是我们前边说到的,分享时要显示的标题,缩略图和摘要。

微信jssdk的前身,是一个叫weixinjsbridge 的东西,早年间,官方杀死同人之前,这段代码在坊间流传度极高。加上这段代码,就可以控制分享时的文案了。如今,在很多网页中,依然能看到这段代码的影子。只是,现在加它已经无济于事。除非,除非是微信朋友圈广告。

微信jssdk也涉及到一个域名,叫做js安全域名。只有正确设置了这个域名,你页面上的jssdk代码才会生效。

jssdk其实是很大一个话题,这里只说说它跟微信适配相关的部分。如果有后来,我们可以坐下来,再聊聊jssdk。


微信适配的第三个方面,实际上想说说微信里的页面如何兼容其他客户端。严格讲其实是其他客户端的适配。

我们经常遇到这样的情况,在电脑上打开一个来自微信的链接,结果出现一个页面,说「请在微信内打开」。或者有时页面虽然打开了,但又迅速跳转了一下,最后又变成了「请在微信内打开」。

这种情况的主要原因是,开发者开发的这个页面主要面向微信。在微信里,他又希望通过授权来获得用户的信息(包括 openid 或者昵称头像性别城市等更多)。要求授权的话,就会被微信拦下来,出现「请在微信内打开」的提示。

事实上很多页面虽然主要面向微信,但又不只面向微信。需要给其他客户端一个出路。

在这里,可以有两种方法:

  1. 如果只想面向微信,那就做绝一点。判断是否在微信内打开,如果判断客户端不是微信,可以显示一个二维码,引导访客通过微信扫码打开页面,不至于丢失这部分流量。至于判断当前客户端是不是微信,可以通过检查 UserAgent 中是否包含 micromessenger。
  2. 如果除了微信,还想照顾一下其他客户端的流量。可以在判断不是来自微信之后,取消微信的授权逻辑。这样一来,那些来自 QQ、微博、浏览器的访客也能访问你的页面了。

以上几点,想到哪说到哪,希望对您有帮助。

阅读 629