如何在AMP和非AMP页面上维护登录状态?

时间:2018-05-23 20:33:54

标签: amp-html

示例用例:如何在AMP和非AMP页面上维护登录状态?

  1. 用户访问规范网站(比如xyz.com),然后登录。
  2. 过了一会儿,同一个用户通过手机访问Google.com,搜索完成后会收到xyz AMP页面的AMP搜索结果。
  3. 点击搜索结果后,AMP页面将通过AMP Viewer打开(即从AMP缓存中提供,而不是网站的来源)
  4. 查询1: 基于上述用例,用户是否已登录AMP体验(因为用户首先通过规范页面登录)?

    查询2: 在哪些浏览器上支持AMP-Cache到移动站点登录? (例如,iOS可能与第三方cookie有问题)

2 个答案:

答案 0 :(得分:0)

<强> 1。基于上述用例,用户是否已登录AMP体验(因为用户首先通过规范页面登录)?

  • 一般情况下,如果用户访问规范,则不会出现问题 首先是页面,然后是通过查看器的AMP。
  • 使用自定义Cookie在缓存和发布者之间进行跟踪 在这种情况下,version是一个选项。帮助文章链接哪些地址 一个类似的问题,并有一个详细解释的例子: https://ampbyexample.com/samples_templates/poll/
  • 此外,amp-list,amp-state和amp-access也支持这种方法。

<强> 2。在哪些浏览器上支持AMP-Cache到mSite登录(例如,iOS可能有第三方cookie的问题)?

  • 一般情况下,如果用户访问规范,则不会出现问题 首先是页面,然后是浏览器的AMP,反之亦然 因为iOS cookie政策而无效。

答案 1 :(得分:0)

1。基于上述用例,用户是否已经登录AMP体验(因为用户首先通过规范页面登录)?

是的。 amp-access组件可让您控制用户的行为     可以根据其登录状态进行查看。

例如

nameserver 192.168.1.1

该组件需要几个端点和URL才能实现:

<section>
  Welcome to the website! This section is visible to all.
</section>
<section amp-access="loggedIn">
  This section is only visible if you're logged in. Welcome back!
</section>

amp-access组件使用AMP Reader ID,这是一个匿名且唯一的标识符。可以将AMP Reader ID与授权cookie结合使用,以跨AMP和非AMP内容跟踪用户的登录状态。

2。在哪些浏览器上支持AMP-Cache到mSite登录(例如,iOS可能存在第三方Cookie的问题)?

在某些情况下,Safari ITP可能会在很短的时间内关闭AMP cookie。但是,由于AMP读取器ID是稳定的标识符,因此您可以将读取器ID与授权cookie关联,并根据需要重新建立该cookie。

由于Safari使用机器学习来决定要阻止哪些内容和不阻止哪些内容,因此结果因用户而异,并且这些问题很难重现。

一些例子:

  • 如果用户总体上阻止了3p cookie,那么他们将不会获得cookie,但是您仍然应该能够获得其Reader ID。
  • 如果用户阻止了3p cookie,并且Safari确定google.com为跟踪域,则将无法使用Reader ID。