有赞的碰碰贴小红书发帖原理

323 阅读4分钟

前几天,领导丢给我一个任务,让我搞一个跟有赞碰碰贴类似的功能。

在这之前我都不知道碰碰贴是啥,于是百度下,看到了相关的介绍后,大为震惊。

有赞的碰碰贴,号称碰一下,就能自动生成小红书的帖子,发到小红书。

1.碰碰贴,使用流程

1.先用手机碰一下有赞的碰碰贴,手机会打开一个页面

image.png

2.点击页面上的,“小红书发笔记”,就会打开小红书,然后就会自动生成小红书的帖子。

image.png

3.点击“发布小红书”按钮,就可以把帖子发布到小红书

0fdf4722a48376a2c4bda04c04bc7849.jpg

2.神奇之处

看到上面的流程,不知道你感觉到神奇了没有。我是被震惊到了,以前要想让顾客发帖,还得打开小红书,还得编写文案,上传图片,一套下来,起码得10分钟。而现在只要碰一碰就可以了,真是极大的简化了用户操作的难度。

这么方便,让人不禁好奇,技术上是怎么实现的。于是就产生了以下几个问题

1.碰一碰是如何打开一个页面的?

2.点击h5上的“小红书发笔记”按钮,是怎么打开小红书app的?

3.打开小红书app后,小红书会自动生成笔记内容。这个笔记内容是怎么生成的?有赞是怎么让小红书调用自己的api生成内容的?又或者是有赞生成内容后,是怎么注入小红书app的?

3.原理解析

带着这3个问题,我就开始研究起来。

第1个问题最简单

1.碰一碰是如何打开一个页面的?

这个其实很简单,打开的页面是一个h5页面,将该h5的链接写到nfc卡片里,手机碰一下的时候,nfc就会读取到这个链接。操作系统就会询问你要不要用浏览打开这个链接, 你点击同意后,就可以打开h5页面了。

第2个问题也不难

2.点击h5上的“小红书发笔记”按钮,是怎么打开小红书app的?

有个叫url scheme的技术,可以实现这个功能。小红书的发现页的url scheme值是xhsdiscover://

在h5里当用户点击的时候,调用下面的代码就可以打开小红书app了

window.location.href = 'xhsdiscover://'

要打开小红书发布笔记页,修改下小红书的url sheme就可以了

window.location.href = xhsdiscover://post

难就难在了第3个问题上了

打开小红书笔记发布页后,如何让小红书自动生成笔记内容?或者说如何把生成的笔记内容注入到小红书笔记发布页?

这个问题真是让人头大。我一度怀疑,是不是小红书是不是单独给有赞开了api,要不这功能,真是想破头皮,都感觉没法实现。

于是我想找个案例看看吧,但是翻遍了抖音、b站、有赞官网都没有结果,所有碰碰贴旁边的二维码都打了码(呵呵)。我手上也没有碰碰贴,所以也没法看。

真是有种走投无路的感觉。

就在我绝望无助的时候,我偶然间看到小红书有个商家发产品宣传的视频,视频里有个碰碰贴的二维码。我赶紧截图了,扫了下,成功了。

我马上体验了下,碰碰贴的功能。实际一上手,立马就明白小红书发帖是怎么实现了。

4.最终解密

原来我一直以为点击h5上的“小红书发笔记”按钮,打开的是小红书app。实际不是,实际打开的是小红书的有赞小程序。

实际流程是

1.碰一碰打开h5页面

2.点击h5页面上的按钮,打开小红书上的有赞小程序

3.有赞小程序调用有赞的api生成帖子。

4.小程序调用post-note-button小红书组件发帖

4.1 h5 打开小程序

在网页打开小程序,有个专门的api,URL Llink。服务端调用这个api后,就可以生成小程序链接

网页端调用window.location.href=小程序链接就可以打开小程序。

URL Link教程地址.获取URL Link

4.2 小程序发帖

在小程序上发帖也有个专门的组件,叫post-note-button,调用这个组件就可以完成小程序发帖了。

这个使用非常简单,教程如下

post-note-button

5 吐槽点

原理弄懂了,马上就进入开发,实际开发中,有几个吐槽点

1.文档写的很烂,原来我以为微信小程序文档很烂了,没想到小红书更烂

2.小程序申请、备案非常麻烦,上传营业执照就上传了好几次,还有各种盖章证明和承诺书

3.小程序开发工具很难用,非常难用。