as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

Vega WebView Cookie管理器

Vega WebView Cookie管理器

WebView Cookie管理器可用于以下用途:

  • 在Cookie存储区中为URL添加序列化Cookie,该序列化Cookie附加到传出请求的Cookie请求标头上。
  • 清除Cookie存储区中的所有Cookie。

Cookie是如何存储的

WebView管理Cookie的方式是将临时会话Cookie保留在活动内存中以便快速访问,同时将持久性Cookie安全地保存到应用的专用存储目录中。持久性Cookie是指具有特定到期日期的Cookie。开发者可以启用远程调试,并在连接的设备上使用Chrome DevTools应用面板,以检查和操纵这种已存储状态。此接口提供了一种查看当前来源(页面的架构、域和端口)上所有活跃Cookie的方法,让您能够实时编辑值、手动清除数据,以及确认是否已正确应用HttpOnlySecureSameSite等重要安全属性。

要对Cookie无法按预期运行的原因进行故障排除,请切换到DevTools网络面板,监控在网络请求期间交换的Cookie和Set-Cookie标头。这可以帮助您识别被拒绝的Cookie、语法错误和跨站点政策违规行为。

一个Cookie对象可以有以下字段:

字段 类型 是否必需? (是/否) 描述
name 字符串 name是指该对的名称。
value 字符串 “value”是指该对的Cookie值。如果Cookie的值为空,则会被拒绝。这会导致无效操作。如果存在任何其他值,则值字段将保留为空值。
path 字符串 path属性的值为此Cookie指定了源服务器上的URL子集。如果未给出指定路径,则假定路径是设置Cookie的统一资源标识符 (URI)。
domain 字符串 domain属性的值指定Cookie对哪个域有效。如果未提供指定域,则其子域将无法访问该域。
version 字符串 标识Cookie的状态管理规范的版本。默认值是一个空字符串。
expires 字符串 以HTTP日期时间戳的形式表示Cookie的最大生命周期。应为ISO8601字符串。如果未提供过期字符串,则该Cookie将被视为会话Cookie,会一直持续到用户关闭WebView会话。
secure 布尔值 将Cookie限制为HTTPS连接,以保证其安全。
httpOnly 布尔值 防止JavaScript通过document.cookie访问Cookie。

已复制到剪贴板。

export interface Cookie {
  name: string;
  value: string;
  path?: string;
  domain?: string;
  version?: string;
  expires?: string;
  secure?: boolean;
  httpOnly?: boolean;
}

已复制到剪贴板。

CookieManager.set(url:string, Cookie:object)

示例如下:

已复制到剪贴板。

import { CookieManager } from "@amazon-devices/webview";

CookieManager.set('https://YOUR_URL_HERE.com', {
  name: 'Test-Cookie',
  value: 'Test-Cookie-Value',
  path: '/',
  version: '1',
  expires: '2024-01-01T12:30:00.00-05:00',
}).then((status) => {
  console.log('CookieManager.set =>', status);
});

已复制到剪贴板。

CookieManager.clearAll()

示例如下:

已复制到剪贴板。

import { CookieManager } from "@amazon-devices/webview";

CookieManager.clearAll().then((status) => {
    console.log('CookieManager.clearAll =>', status);
});

说明:

  • set() 方法为URL设置单个Cookie。
  • 对于任何同名的现有Cookie,主机和路径会被替换。Domain值设置Cookie的主机,如此Set-Cookie文档中所述。
  • Cookie存储区会忽略过期的Cookie。
  • WebView实例共享Cookie存储区。不同的应用不共享Cookie存储区。同一应用中的多个WebView实例共享一个通用引擎,其中包括Cookie存储区。
  • 该应用的React Native层此时无法读取Cookie存储区。

Last updated: 2026年4月27日