Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amp html 如何在AMP和非AMP页面上保持登录状态?_Amp Html - Fatal编程技术网

Amp html 如何在AMP和非AMP页面上保持登录状态?

Amp html 如何在AMP和非AMP页面上保持登录状态?,amp-html,Amp Html,示例用例:如何跨AMP和非AMP页面维护登录状态 用户进入规范站点(比如xyz.com)并登录 过了一会儿,同一个用户在手机上访问Google.com,在搜索某个内容后,收到一个xyz-AMP页面的AMP搜索结果 单击搜索结果后,AMP页面将通过AMP查看器打开(即,它是从AMP缓存提供的,而不是站点的来源) 问题1: 基于上述用例,用户是否已经登录AMP体验(因为用户首先通过规范页面登录) 问题2: 在哪些浏览器上支持AMP缓存到移动站点登录?(例如,iOS可能与第三方cookie有问题)1。

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

  • 用户进入规范站点(比如xyz.com)并登录
  • 过了一会儿,同一个用户在手机上访问Google.com,在搜索某个内容后,收到一个xyz-AMP页面的AMP搜索结果
  • 单击搜索结果后,AMP页面将通过AMP查看器打开(即,它是从AMP缓存提供的,而不是站点的来源)
  • 问题1: 基于上述用例,用户是否已经登录AMP体验(因为用户首先通过规范页面登录)

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

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

    • 一般来说,如果用户访问canonical 先翻页,然后通过查看器打开放大器
    • 使用自定义cookie在缓存和发布服务器之间进行跟踪 在这种情况下,版本是一个选项。帮助文章链接地址 一个类似的问题,并详细解释了一个示例:
    • 此外,amp列表、amp状态和amp访问也支持这种方法
    2。在哪些浏览器上支持AMP缓存到mSite登录(例如,iOS可能与第三方cookie有问题)?

    • 一般来说,如果用户访问canonical 先翻页,然后通过查看器打开放大器,但反过来 由于iOS cookie策略,无法正常工作

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

        对。该组件允许您控制用户的行为 可以根据其登录状态查看

        例如

        
        欢迎访问该网站!这一部分对所有人都是可见的。
        此部分仅在您登录时可见。欢迎回来!
        
        该组件需要几个端点和URL才能实现这一点:

        <script id="amp-access" type="application/json">
          {
              "authorization": "/documentation/examples/api/amp-access/authorization?rid=READER_ID&url=CANONICAL_URL&ref=DOCUMENT_REFERRER&_=RANDOM",
              "pingback": "/documentation/examples/api/amp-access/pingback?rid=READER_ID&url=CANONICAL_URL&ref=DOCUMENT_REFERRER&_=RANDOM",
              "login": {
                "sign-in": "/documentation/examples/api/amp-access/login?rid=READER_ID&url=CANONICAL_URL",
                "sign-out": "/documentation/examples/api/amp-access/logout"
              },
              "authorizationFallbackResponse": {
                  "error": true,
                  "loggedIn": false,
                  "powerUser": false
              }
          }
        </script>
        
        
        {
        “授权”:“/documentation/examples/api/amp-access/authorization?rid=READER\u ID&url=CANONICAL\u url&ref=DOCUMENT\u referer&\uu=RANDOM”,
        “pingback”:“/documentation/examples/api/amp-access/pingback?rid=READER\u ID&url=CANONICAL\u url&ref=DOCUMENT\u referer&\uu=RANDOM”,
        “登录”:{
        “登录”:“/documentation/examples/api/amp-access/login?rid=READER\u-ID&url=CANONICAL\u-url”,
        “注销”:“/文档/示例/api/amp访问/注销”
        },
        “授权回退响应”:{
        “错误”:正确,
        “loggedIn”:假,
        “powerUser”:false
        }
        }
        
        amp访问组件使用,这是一个匿名且唯一的标识符。AMP阅读器ID可以与授权Cookie相结合,以跨AMP和非AMP内容跟踪用户的登录状态

        2。在哪些浏览器上支持AMP缓存到mSite登录(例如,iOS可能与第三方cookie有问题)?

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

        由于Safari使用机器学习来决定阻止什么和不阻止什么,结果可能因用户而异,这些问题很难重现

        一些例子:

        • 如果用户通常已阻止3p Cookie,他们将无法获得Cookie,但您仍应能够获得其读卡器ID
        • 如果用户已阻止3p Cookie,并且Safari已确定google.com是一个跟踪域,则阅读器ID将不可用
        <script id="amp-access" type="application/json">
          {
              "authorization": "/documentation/examples/api/amp-access/authorization?rid=READER_ID&url=CANONICAL_URL&ref=DOCUMENT_REFERRER&_=RANDOM",
              "pingback": "/documentation/examples/api/amp-access/pingback?rid=READER_ID&url=CANONICAL_URL&ref=DOCUMENT_REFERRER&_=RANDOM",
              "login": {
                "sign-in": "/documentation/examples/api/amp-access/login?rid=READER_ID&url=CANONICAL_URL",
                "sign-out": "/documentation/examples/api/amp-access/logout"
              },
              "authorizationFallbackResponse": {
                  "error": true,
                  "loggedIn": false,
                  "powerUser": false
              }
          }
        </script>