碰一碰签到
入口、工位或教室里的标签存储着一个令牌。用户把手机靠近标签,readnfc:// 把令牌交给您的 Web 应用,由您的后端为已登录用户记录这次到访。在光线昏暗的场所也能用,而且无需用相机对准任何东西。
Bolt + NFC
Safari 完全不允许网站访问 NFC,而 Web NFC 只存在于 Android 版 Chrome 中。用 WebViewGold 封装后,您的 Bolt 应用只需一个链接就能启动原生 NFC 扫描,并在一个 JavaScript 函数中收到标签内容:Android 上通过文档中的 NFC API,iPhone 上通过 WebViewGold NFC 插件。签到、设备标签和“碰一碰保存”的联系人名片,几行代码就能实现。
每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。
入口、工位或教室里的标签存储着一个令牌。用户把手机靠近标签,readnfc:// 把令牌交给您的 Web 应用,由您的后端为已登录用户记录这次到访。在光线昏暗的场所也能用,而且无需用相机对准任何东西。
把标签贴在机器、共享单车或储物箱上,用 writenfc://?value=… 写入一次它的 ID。之后员工碰一下标签,就能打开对应的记录:维护日志、租借状态、库存盘点。
把 vCard 写入卡片或贴纸(前缀为 VCARD_,各属性之间用下划线分隔),其他手机碰一下就能保存联系人。适合活动、社交和房地产类应用。
如果标签里存的是指向您域名的普通 https 链接(可用任意 NFC 写入工具写入),较新的 iPhone 和大多数 Android 手机会由系统直接读取。配置好 Universal Links 和 App Links 后,这个链接会直接打开应用。
把这段粘贴到 Bolt 中以实现 Web 应用端。检查结果,发布,然后在 WebViewGold 应用中测试。
为 WebViewGold 原生封装添加 NFC 设备标签。1) 创建 src/lib/nfc.ts,导出 isNativeApp()(navigator.userAgent 包含 WebViewGold)、startNfcScan()(仅在原生应用中把 window.location.href 设为 readnfc://)以及 writeNfcTag(value)(跳转到 writenfc://?value= 加上该值,空格编码为 %20)。2) 创建一个 hook useNfcResult(handler),赋值 window.readNFCResult = function (data, id, tag) 并把 data 传给 handler;iOS 还会传入 id 和 tag,Android 只传 data。3) 添加一个资产页面,员工点击“扫描设备标签”;收到结果后,调用 Netlify Function nfc-lookup,按标签值在 Supabase 的 assets 表中查找资产,并打开其详情页。4) 在每个资产上添加一个仅限管理员的“写入标签”按钮,把资产 ID 写入标签。5) 只在 Netlify Function 内部读取 SUPABASE_SERVICE_ROLE_KEY,绝不放进 VITE_ 变量。6) 在浏览器中隐藏扫描按钮,改为显示搜索框。

我的iOS WebView应用终于通过审核了。谢谢!!
一个下午就够了,大部分时间用在用真实标签测试上。
NTAG213、NTAG215 或 NTAG216 贴纸和卡片适用于 iPhone 和 Android 手机,容量为 144 到 888 字节:足够存放一个令牌或一个短 URL,但放不下文件。多订几个备用,方便测试。
Android:读写 API 在 Android 文档中有说明。iOS:NFC 是 WebViewGold 常规功能范围之外的插件;请提交申请(免费咨询,报价不具约束力),并把收到的令牌填入 Config.swift 中的 NFCEnabled。Apple 还要求开启 NFC 标签读取能力(capability),并提供一段写明您使用场景的用途说明。
当用户点击“请将手机靠近标签”时,导航到 readnfc://,但只在应用内这样做(检查您在 WebViewGold 中设置的自定义 User-Agent)。在 iPhone 上,会话监听期间 iOS 会显示自己的扫描面板。
定义一个全局函数 readNFCResult。iOS 调用它时传入 (data, id, tag):内容、标签标识符和标签类型。Android 调用时只传入 (data)。请基于 data 构建逻辑,这样两个平台的行为才会一致。
把这个值连同用户会话一起发送到您的后端,在那里判断这次签到是否有效。标签可以被复制,所以凡是有价值的场景,都请定期轮换令牌或加上时间窗口。
导航到 writenfc://?value=…:应用会进入写入模式,并把这个值写入下一个靠近手机的标签。值要尽量短且对 URL 安全(字母、数字、连字符),空格请编码为 %20。
把这段代码放进您的 Bolt 应用,或者让 AI 代理用您的框架写出等效实现。/api/checkin 代表您自己的签到路由;在您的 Bolt 项目中,它对应:Supabase、Firebase 或您自己的 API。User-Agent 标识就是您在 WebViewGold 中配置的那个。
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");在 Safari 中不能:iOS 不允许网站访问 NFC。在 WebViewGold 应用内,它可以通过原生 NFC 插件在 iPhone 7 及更新机型上运行。每次扫描都由用户发起,监听期间 iOS 会显示自己的扫描面板。
在 Android 上,读写 API 已包含在文档中。在 iOS 上,NFC 是常规功能范围之外的插件:WebViewGold 团队在免费咨询并给出不具约束力的报价后,通过令牌为每个应用单独启用。特殊标签类型等扩展需求在两个平台上都属于定制开发。
二维码零成本,任何带摄像头的手机都能用,审核人员也很容易测试。NFC 更快,在黑暗中也能用,体验更高级,但需要标签和 NFC 硬件。很多应用两者兼备:NFC 作为快捷方式,二维码或手动输入代码作为后备方案。
在 iOS 上,回调还会收到标签标识符和标签类型。目前文档中的 Android 回调只返回存储的数据,所以如果逻辑必须在两个平台上都能运行,请把您自己的 ID 或令牌写入标签。
通常无法测试,因为他们没有您的标签。请在审核备注中描述该功能,提供一个走同样流程的演示代码或二维码,并附上一段真实碰触操作的简短录屏链接。
结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。
$109 每个平台,一次性付费
WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。
在主页查看方案$349 每个许可证,一次性附加购买
无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。
Cloud Builder 如何运作 试用免费演示$698 每个平台 $798
把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。
Full Service 详情 服务提供方:冬季特惠价格有效期至 2026年12月31日。
App Store & Google Play 审核通过保证 – 否则 14 天内退款
想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。
退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。