统一AMP和非AMP同意流程

时间:2019-12-04 15:18:38

标签: javascript cookies amp-html

我们目前正在为我们网站的AMP版本和“普通”版本建立高级用户同意流程。

为了尽量减少摩擦,我们希望在AMP和非AMP内容之间导航时检查是否已经同意。

  • 对于正常的同意流程,我们设置了一个cookie,我们可以在checkconsentHref调用中检查该cookie,并在给定cookie已经设置时抑制AMP同意消息
  • 对于AMP流,我们使用amp-consent组件,该组件根据响应在LocalStorage中设置一个加密项

当用户来自“非AMP”页面,然后导航到AMP页面时,此方法很好用,因为我们可以检查Cookie服务器端,然后完全取消AMP同意。

但是,当用户来自AMP页面时,LocalStore项看起来与此eyJ2diI6eyJhbXAtY29uc2VudDpjb29raWUtY29uc2VudCI6eyJ2Ijp7InMiOjF9LCJ0IjoxNTc1NDcxNTcwNzM2fX18类似,这使得开箱即用时很难检查是拒绝还是接受。

有人有没有实现类似的用例,或者暗示过如何反过来检查同意?

1 个答案:

答案 0 :(得分:0)

为非AMP页和AMP页(相同的键)设置一个localStorage条目,只需检查非AMP页是否存在该存储并且该存储不为空。如果有条目,请不要显示Cookie同意书。

当用户从AMP页导航到非AMP页时,无需再次确认Cookie同意,因为非AMP页上的脚本会检查localStorage中是否已存在条目或不。 (amp-consent将该URL用作localStorage的键。)这样,即使用户从非AMP页导航到AMP页,用户仍必须确认同意,但是这种情况极不可能。 / p>

see also here