跳至内容
WebViewGold 从 Vibe Coding 到 App Store
中文
获取 WebViewGold

Cursor + NFC

为您的 Cursor 应用读取和写入 NFC 标签

Safari 完全不允许网站访问 NFC,而 Web NFC 只存在于 Android 版 Chrome 中。用 WebViewGold 封装后,您的 Cursor 应用只需一个链接就能启动原生 NFC 扫描,并在一个 JavaScript 函数中收到标签内容:Android 上通过文档中的 NFC API,iPhone 上通过 WebViewGold NFC 插件。签到、设备标签和“碰一碰保存”的联系人名片,几行代码就能实现。

每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。

  • 审核通过保证 – 否则 14 天内退款
  • 无需编程
  • 一次性付费,免费更新
  • 7×24 小时人工支持
  • 2014 年起德国出品 · ISO 27001

NFC 标签能为您的用户做什么

碰一碰签到

入口、工位或教室里的标签存储着一个令牌。用户把手机靠近标签,readnfc:// 把令牌交给您的 Web 应用,由您的后端为已登录用户记录这次到访。在光线昏暗的场所也能用,而且无需用相机对准任何东西。

资产和设备标签

把标签贴在机器、共享单车或储物箱上,用 writenfc://?value=… 写入一次它的 ID。之后员工碰一下标签,就能打开对应的记录:维护日志、租借状态、库存盘点。

碰一碰保存联系人名片

把 vCard 写入卡片或贴纸(前缀为 VCARD_,各属性之间用下划线分隔),其他手机碰一下就能保存联系人。适合活动、社交和房地产类应用。

无需扫描按钮的智能海报

如果标签里存的是指向您域名的普通 https 链接(可用任意 NFC 写入工具写入),较新的 iPhone 和大多数 Android 手机会由系统直接读取。配置好 Universal Links 和 App Links 后,这个链接会直接打开应用。

给 Cursor 的提示词

把这段粘贴到 Cursor 中以实现 Web 应用端。检查结果,发布,然后在 WebViewGold 应用中测试。

给 Cursor 代理的提示词
给 Cursor agent 的提示词:阅读 https://www.webviewgold.com/docs/android/nfc/ 和 https://www.webviewgold.com/docs/iOS/nfc/,然后为 WebViewGold 封装实现 NFC 标签读取。1) 创建 lib/webviewgold/nfc.ts,导出 isWebViewGold()(navigator.userAgent 包含我的自定义 WebViewGold 标识)、readTag(timeoutMs = 30000)(安装 window.readNFCResult = (data, id, tag) => resolve({ data, id, tag }),跳转到 readnfc://,超时则 reject)以及 writeTag(value)(跳转到 writenfc://?value=,空格编码为 %20)。2) 绝不要在同一个 tick 中触发两次桥接跳转。3) 添加一个 TapToCheckIn 组件:await readTag(),并把 data 连同当前会话 POST 到我们现有的签到 API。4) 在服务端验证 token,对 10 分钟内的重复签到去重,并记录签到。5) 在应用外渲染一个手动输入代码的字段来代替按钮。6) 用模拟的 window 添加单元测试,并在 .cursor/rules 中记录桥接规则。

我很高兴购买了这个应用!非常简单,文档也很棒。联系客服后,他们回复很快且非常友好,一天之内就解决了我的问题。10/10,值得推荐。

Nelis Geiger · CodeCanyon

从空白标签到可用功能

一个下午就够了,大部分时间用在用真实标签测试上。

  1. 选择两个平台都能读取的标签

    NTAG213、NTAG215 或 NTAG216 贴纸和卡片适用于 iPhone 和 Android 手机,容量为 144 到 888 字节:足够存放一个令牌或一个短 URL,但放不下文件。多订几个备用,方便测试。

  2. 在原生应用中启用 NFC

    Android:读写 API 在 Android 文档中有说明。iOS:NFC 是 WebViewGold 常规功能范围之外的插件;请提交申请(免费咨询,报价不具约束力),并把收到的令牌填入 Config.swift 中的 NFCEnabled。Apple 还要求开启 NFC 标签读取能力(capability),并提供一段写明您使用场景的用途说明。

  3. 添加扫描按钮

    当用户点击“请将手机靠近标签”时,导航到 readnfc://,但只在应用内这样做(检查您在 WebViewGold 中设置的自定义 User-Agent)。在 iPhone 上,会话监听期间 iOS 会显示自己的扫描面板。

  4. 处理结果

    定义一个全局函数 readNFCResult。iOS 调用它时传入 (data, id, tag):内容、标签标识符和标签类型。Android 调用时只传入 (data)。请基于 data 构建逻辑,这样两个平台的行为才会一致。

  5. 在服务器上验证

    把这个值连同用户会话一起发送到您的后端,在那里判断这次签到是否有效。标签可以被复制,所以凡是有价值的场景,都请定期轮换令牌或加上时间窗口。

  6. 从管理页面写入标签

    导航到 writenfc://?value=…:应用会进入写入模式,并把这个值写入下一个靠近手机的标签。值要尽量短且对 URL 安全(字母、数字、连字符),空格请编码为 %20。

跨平台 NFC 辅助代码

把这段代码放进您的 Cursor 应用,或者让 AI 代理用您的框架写出等效实现。/api/checkin 代表您自己的签到路由;在您的 Cursor 项目中,它对应:您自己的 API 路由或服务。User-Agent 标识就是您在 WebViewGold 中配置的那个。

javascript
var IN_APP = navigator.userAgent.indexOf("WebViewGold") !== -1; // 您的自定义 User-Agent 标识

function scanTag() {
  if (!IN_APP) { showMessage("碰一碰签到仅在我们的移动应用中可用,请改为输入代码。"); return; }
  window.location.href = "readnfc://";
}

// 读取到标签后由 WebViewGold 调用。
// iOS 传入 (data, id, tag),Android 传入 (data)。
window.readNFCResult = function (data, id, tag) {
  fetch("/api/checkin", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ token: data, tagId: id || null })
  })
    .then(function (r) { return r.json(); })
    .then(function (res) { showMessage(res.ok ? "签到成功" : "无法识别此标签"); });
};

// 管理员:把令牌(或 VCARD_ 字符串)写入下一个标签
function writeTag(value) {
  if (!IN_APP) { return; }
  window.location.href = "writenfc://?value=" + value.replace(/ /g, "%20");
}
// writeTag("VCARD_FN:Jane Doe_TEL;TYPE=CELL:5551234567");

商店审核和设备限制

  • 并非每台设备都有 NFC:iPad 没有,iPhone 从 iPhone 7 起才能读取标签,很多入门级 Android 手机没有 NFC 或默认关闭。请始终提供替代方案,例如二维码或手动输入代码,走同样的流程。
  • 审核人员几乎不会有您的标签。请在 App 审核备注中说明 NFC 流程,提供一个能触发同样结果的演示代码或二维码,并考虑附上一段真实碰触操作的简短录屏链接。
  • 含糊的用途说明(“使用 NFC”)在 iOS 上容易招致准则 5.1.1 拒审。请写明给用户带来的好处,例如“用于在合作工作室门口将手机靠近标签完成签到”。
  • 如果 AndroidManifest.xml 把 NFC 声明为必需的硬件功能,Google Play 会对没有 NFC 的手机隐藏该应用。除非应用离开 NFC 就毫无用处,否则请将其标记为非必需。
  • 每次签到都要关联到已登录用户,绝不能只关联到设备。标签 ID 和签到记录都属于您收集的数据:请在隐私政策、App Privacy 和数据安全表单中列明。

常见问题

Web 应用在 iPhone 上能使用 NFC 吗?

在 Safari 中不能:iOS 不允许网站访问 NFC。在 WebViewGold 应用内,它可以通过原生 NFC 插件在 iPhone 7 及更新机型上运行。每次扫描都由用户发起,监听期间 iOS 会显示自己的扫描面板。

WebViewGold 许可证包含 NFC 吗?

在 Android 上,读写 API 已包含在文档中。在 iOS 上,NFC 是常规功能范围之外的插件:WebViewGold 团队在免费咨询并给出不具约束力的报价后,通过令牌为每个应用单独启用。特殊标签类型等扩展需求在两个平台上都属于定制开发。

我应该用 NFC 还是二维码?

二维码零成本,任何带摄像头的手机都能用,审核人员也很容易测试。NFC 更快,在黑暗中也能用,体验更高级,但需要标签和 NFC 硬件。很多应用两者兼备:NFC 作为快捷方式,二维码或手动输入代码作为后备方案。

我能读取标签的序列号吗?

在 iOS 上,回调还会收到标签标识符和标签类型。目前文档中的 Android 回调只返回存储的数据,所以如果逻辑必须在两个平台上都能运行,请把您自己的 ID 或令牌写入标签。

App Store 审核人员如何测试 NFC?

通常无法测试,因为他们没有您的标签。请在审核备注中描述该功能,提供一个走同样流程的演示代码或二维码,并附上一段真实碰触操作的简短录屏链接。

让您的应用上架商店的三种方式

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。

自己动手

$109 每个平台,一次性付费

WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。

在主页查看方案

Cloud Builder

$349 每个许可证,一次性附加购买

无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。

Cloud Builder 如何运作 试用免费演示

Full Service

$698 每个平台 $798

把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。

Full Service 详情 服务提供方: WeSetupYourWebViewApp

冬季特惠价格有效期至 2026年12月31日。

准备好发布您的 Cursor 应用了吗?

App Store & Google Play 审核通过保证 – 否则 14 天内退款

想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。

退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。