标签 小程序 下的文章

前天,我收到了腾讯官方发来的一个警告:

“因用户投诉并经平台审核,你的小程序涉嫌滥用小程序接口能力,影响用户体验行为。”

惊讶之下,我发现是我们几年前为了解决公众号文章内不能放置链接而开发的“文章助手”小程序被警告了。

众所周知,一般情况下,微信文章不能像网页一样放入链接的。对于一般的文字性内容,这其实并无大碍,但是对于我们这种技术类文章,常常会有一些链接,以便读者可以深入了解相关内容。因此,这种限制对我们来说是一种缺陷,为了解决这种问题,我们陆续想过几种方法,比如利用文末的“阅读原文”、在文章内注明完整链接等。最后,我们在 2019 年想到可以开发一个小程序来 辅助提供 这个链接。

通过一些 简单的方式,可以在你的微信文章中需要放置链接的地方嵌入这个“文章助手”小程序。用户只需要点击该小程序链接,即可显示该链接,并自动复制链接到剪贴板,然后只需要打开浏览器粘贴访问即可。

我自己对这种委曲求全的解决方案感觉比较满意。

现在,这个有两年没有继续添加新功能的小程序被警告了。于是我仔细查看了警告内容,在腾讯官方提供的《微信小程序平台运营规范》中是这样说的:

5.15.4 滥用操作剪切板接口

在用户使用剪切板功能进行复制操作后,恶意、强行中断小程序内功能服务或业务的完整流程,要求用户跳转或使用其他方式才可完整体验业务流程,影响用户体验。

用户未进行任何操作情况下,小程序默认读取用户剪切板信息。

考虑到申诉基本上不会得到解决(事实上我申诉了,也被驳回了),我只能修改相关代码,将以下行为做了调整:

  • 不检测剪贴板内容长度(原本是为了避免当剪贴板内有较多内容而被覆盖)
  • 不自动复制链接到剪贴板,而需要用户手动点击一下才复制

以我的估计,这样就不算滥用了吧?……

然而,新版本提交之后,紧接着,“文章助手”小程序就被封了剪贴板能力:

因用户投诉并经平台审核,发现帐号已发布的服务涉嫌滥用小程序接口能力,影响用户体验

已封禁服务的“操作剪贴板”能力

哑然。

无奈之下再次发起无用的申诉(已被驳回),并寻求客服解答。经过漫长的等待,客服给出了如下答复:

审核部门排查发现你的小程序内活动通过文本口令引导跳转其他渠道体验或进行,属于滥用剪切板能力 请开发者对小程序进行全面排查以及整改,将涉及违规的内容移除(包括但不仅限于内容展示、代码、路径等),如有隐藏内容、路径、代码等,也需一并移除

呵,合着是不让用户粘贴链接到浏览器啊!

原本“文章助手”小程序内会提示用户“链接已复制,请在浏览器内粘贴打开”,看来这是摸了老虎屁股了。

而没有剪贴板能力的“文章助手”小程序,可以说是已经失去了一半用处。

那现在我有两个选择:

  1. 放弃这个小程序(这样我也不用每个月支付云开发的 20 元费用,需要说明的是,这个小程序是完全免费,没有任何广告和赞助,公益提供给任何人使用的);
  2. 看看是否还有抢救的机会。

考虑到这个小程序已经累计有了 16 万用户,并为近 50 万个链接提供过服务,如果就此关闭,是对既往用户的不负责。因此,经过我灵机一动,我考虑可以完整地显示链接,让用户自己复制,至于复制后干什么,我不说,我也不知道,我也不想知道。

所以,你看的 0.4.7 版的“文章助手”就是这样了。

至于这样是否还会触犯腾讯的禁忌,我就不知道了,只能说,大家且行且珍惜吧。

昨天看到一个令人振奋的消息,小程序现在开始测试分享到朋友圈的功能。

目前该功能尚属测试,具有如下限制:

  • 仅支持安卓版微信中将小程序分享到朋友圈,不过 iOS 版微信可以打开分享到朋友圈的小程序
  • 需要几乎是最新版的小程序基础库 2.11.3,只有 83.66% 的微信用户支持该版本
  • 如果使用了云开发,需要修改云开发中的若干限制
  • 分享到朋友圈中的页面是一个新的“单页模式”,在此模式下,小程序的功能受限,仅适合做内容展示
  • 存在 web-view 的页面不能分享

我考虑了一下,我们视作官方 APP 的 “Linux文章” 小程序正好是一个纯内容类的小程序,特别适合。于是昨晚花了一晚上研究文档和调试,遇到了一些问题,今天上午终于开发完成,并成功发布了!

小程序分享到朋友圈

点击分享内容,可以看到一个“单页模式”下的页面:

小程序的“单页模式”

根据微信的说法,“单页模式”有比较多的限制和变化:

  1. “单页模式”下,小程序会有一些固定组件,样式会有所变化
  2. “单页模式”下,一些组件或接口存在一定限制
  3. 页面无登录态,与登录相关的接口不可用;云开发资源需开启未登录访问方可在单页模式下使用
  4. 不允许跳转到其它页面
  5. 不允许横屏使用
  6. tabBar 不会渲染
  7. 本地存储与小程序普通模式不共用
  8. 对于一些会产生交互的组件或接口,在点击后调用时,会提示“请前往小程序使用完整服务”

这个页面适合直接查看内容。

对于小程序这次开放支持朋友圈的能力,我认为对小程序生态来说是个好事,但是从微信官方的态度来看,他们还是特别审慎的,专门在文档中警告:“分享朋友圈能力是为了满足纯内容场景的分享诉求,滥用于营销、诱导等行为将会被打击。

不过,不管通过朋友圈能带来多少流量,我觉得,至少分享内容下面的小尾巴显示了小程序名称,就值得我开发这个支持。

大家使用安卓版微信的,可以试试。

我们已经开发了几个小程序,分别是用于显示 Linux 命令用法的“Linux”、用于显示和搜索 Linux 中国文章的“Linux文章”,以及改善公众号文章内链接访问体验的“文章助手”。这几个独立的小程序各司其职,也在一定领域有所重叠和关联,因此,最近几天,我将它们链接了起来。

从 “Linux” 链接到“Linux文章”

首先,在“Linux”小程序内显示命令用法的页面上,在“延伸阅读”部分会推荐相关文章,之前这个部分的数据是采用远程 API 的方式来呈现 https://linux.cn 网站上的相关文章。不过,这些文章的内容其实在我们的“Linux文章”小程序内也可以访问,而且还是原生的小程序体验,所以,我们将两个小程序进行了关联。

一方面,采用云开发提供的访问另外一个云空间的方式,在“Linux”小程序内调用“Linux文章”小程序的云函数来获取相关文章(顺便做了一个重构)。

另外一方面,在“Linux”小程序的“延伸阅读”里展示的相关文章标题,点击后会跳转到“Linux文章”中对应的文章。当然,由于小程序本身的限制,在跳转前会做个确认提示,如果选“是”则跳转,如果选“否”,我们展示保留了回退模式,依然可以用 webview 方式访问远程网站上的文章,只是 webview 体验没有专门为小程序环境做过优化。

从“Linux文章”链接到“文章助手”

其实最初“文章助手”小程序的灵感就来自于“Linux文章”小程序,所以,一直以来在“Linux文章”中就保留着“文章助手”小程序中相关的功能,包括复制链接、显示链接信息等,甚至还有一些更多的功能。

不过,考虑到“文章助手”小程序会在链接管理方面更加深入,比如前一段时间,我们就为“文章助手”小程序添加了显示链接的更多信息的功能。而将这些功能再回迁到“Linux文章”小程序不但代码臃肿,而且需要维护两个不同模块,显然不够专业。

因此,我去除了“Linux文章”小程序中的链接管理功能,并指向到了“文章助手”小程序,这样,将来在“文章助手”小程序中可以提供更丰富的链接管理功能。此外,目前在“Linux文章”小程序中的直接访问微信链接的功能,我也会之后移植到“文章助手”小程序上。

最后,我在想,从“文章助手”小程序到“Linux”小程序是否也有关联的场景呢?目前还没有成熟的想法,或许之后会找到合适的场景吧。

总结

通过几天的努力,我将三个原本彼此独立的小程序彼此关联了起来。

我感觉,在小程序的功能和定位上,解耦小程序的功能有助于开发出健壮而轻快的小程序。而让小程序可以彼此配合,则可以形成小程序之间的联动和互补。虽然现在小程序之间跳转会弹出一个确认提示颇为破坏用户体验,但是这个事情也是利弊参半的。

另外一点就是,善于利用小程序的云开发环境的远程调用,可以让小程序之间更容易联动起来。

我们开发的公益小程序“文章助手”增加了一个新特性:在呈现链接时,也提供链接的更多信息,比如该链接的大小、网速和部分内容摘要。这样有助于读者在访问链接前就对该链接有所了解。

之所以没有提供链接全文,主要考虑如下:

  • 全文展示需要付出更多的资源(包括页面内的所有素材)
  • 链接的内容可能不适合公开展示
  • 直接展示全部内容可能违背了微信相关的规定

关于“文章助手”,更多信息请参照这些介绍:

更多动态

谈谈“页面内容接入”

最近对我们的两个小程序配置了“页面内容接入”,并编写了主动推送的功能。

按微信官方的说法,可以“让微信更好的收录到小程序的页面信息,页面信息将可能被用于 搜索、扫条码 ,可帮助小程序获取更多流量。”

已经推送并开始收录的“Linux文章”是我们的官方网站的小程序,主要功能是提供站内文章的阅读和搜索。从目前推送和收录的情况看,从 3 月 9 号开始推送,基本上一天后全部推送完成(一万余个 URL),然后微信以一天最多 800 余篇的速度开始收录,到昨天,已经收录了 3000 余篇。

(上图中 3 月 12 号的推送收录数据可能数据出错了)

总体来看,收录情况还可以。不过我们另外一个提供 Linux 命令查询的小程序“Linux”在 3 月 13 日推送了 URL 之后,至今尚未开始接受推送数据。

此外,从这两天观察小程序的访问来源看,也没有看到来自搜一搜之类的来源的数据增高。从个人的使用体验上,也没注意过搜一搜有类似推荐行为。估计目前还在数据积累阶段,小程序的内容接入还没有实际发挥作用。

我们的小程序们

发轫于三年前 Bestony 开发了我们 Linux 中国的第一款小程序“运维密码”之后,我们陆陆续续的又开发了一些微信小程序,给大家提供一些或有用、或有趣的小功能。

这里我做个整理:

运维密码

这是一个 OTP 口令管理器,用于提供双因子认证功能。基本功能完善,不过存在一些小 bug,功能上也许久没有更新了。目前还在计划中的 2.0 版本还遥遥无期……

相关文章

Linux

这是一个 Linux 命令用法速查的小工具,数据来源于 tldr.sh ,我们在这个小程序中不但提供了命令速查的功能,而且提供了一种众包的翻译机制。目前已经几乎全部翻译完成了,当然,已经翻译的条目也在时不时的改进完善之中。

相关文章:

Linux文章

这是一个以一种比较奇特的方式来搜索、阅读我们发布的全部文章的小程序,我给它的定位是我们的官网小程序。尤其是,目前我们官网已经停止注册,而没有注册是无法在站内搜索文章的,这个小程序可以弥补这个需求窗口。

相关文章:

文章助手

鉴于微信公众号文章中的链接在大部分情况下都不能点击,虽然我们提供了比较好的解决方案来解决访问链接的需求(通过原文链接提供站内链接、图片等素材的访问),但是很多人还是直觉上会去点击链接,而又失望。所以我们通过将链接包装到小程序当中提供一种更佳的链接访问的用户体验。

相关文章:

新的服务号

早在 2013 年 3 月,我们就开设了微信公众号,而除了主号“Linux中国”之外,还有若干矩阵号,以服务于不同侧面的读者。不过后面由于精力所限和内容量的问题,我们又关闭了大部分矩阵号。

不过,我们现在又将其中一个服务号重新激活,以做这些小程序(以及将来可能的其它产品服务)的支持,比如说提供消息推送、更新信息等等。

这个号就是“璃霓思”——这个名字也是“Linux”的谐音。

当然,除此之外,我们还有两个公众号,这里一起汇总一下:

璃霓思

这就是我们产品服务号,每个月最多只能推送四次,因此推送频率和时间完全没准,不过,如果感兴趣我们的产品/服务,这里可以及时收到消息,而不会被遗漏。

除了这些小程序们,我们主要的工作还是集中在翻译的文章发布上,这些都可以在下面的公众号上看到。

Linux中国

这是我们的主号,每天更新的内容主要来自于我们的翻译组 LCTT 的贡献所出。内容涉及到开发、运维、安全、开源文化等等,由于翻译组选题广泛,译者偏好不同,因此这个号发布的内容深浅不一,方向各异。

Linux

这是我们的精选号,会对主号发布的内容精选后,延后几天发布出来,如果觉得主号内容比较繁杂,可以只关注这个号,相对来说比较精要。

最后,希望大家多多支持,多多提出建议。

为了解决微信公众号文章内不能嵌入外部链接的问题,我们之前开发了一个小程序“文章助手”,用于通过微信小程序在微信文章内提供访问外部链接的最佳体验。

一般而言,公众号内是无法放超链接的。这对于一般的文章来说其实不要紧,但是对于我们这种技术类的文章,往往会带有很多链接,而不能插入链接,会导致一篇文章的价值和可信性降低。

这个小程序发布之后,除了在我们的公众号内进行了使用,而且也得到很多公众号的支持。就在刚才,我再次查看这个小程序时,发现其首页显示的累计服务次数已经超过了 10 万。

关于这个小程序如何使用,请查看它的介绍和这个小程序的辅助工具介绍。最近宅在家,欢迎大家对这个小程序提提改进意见,我估计有时间实现~

顺便提一句,我们还开发了几个小程序,欢迎大家使用:

  • 文章助手:提供微信公众号文章内的外链访问
  • Linux文章:Linux中国官网文章访问
  • Linux:Linux 命令速查(TLDR)