You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中NFC标签能否跳转至APP二级页面?

NFC标签跳转APP二级页面实现方案(iOS & Android)

当然可以实现,核心思路是在NFC标签中写入与APP关联的自定义跳转链接,配合APP内的路由解析逻辑,就能直接跳转到指定二级页面。以下是分平台的具体实现步骤:

iOS 实现步骤

  • 配置自定义URL Scheme
    在Xcode项目的Info.plist中添加专属的URL Scheme,用于识别APP的跳转请求。示例配置如下:
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>com.yourcompany.yourapp</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>yourapp</string>
            </array>
        </dict>
    </array>
    
  • 解析URL并处理跳转
    在APP的入口逻辑中(SceneDelegate或AppDelegate)监听URL打开事件,解析URL中的路径和参数,跳转到对应二级页面。比如标签写入yourapp://pages/detail?id=456,处理代码示例:
    func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
        guard let url = URLContexts.first?.url else { return }
        guard url.scheme == "yourapp", let host = url.host else { return }
        
        switch host {
        case "pages/detail":
            let itemId = url.queryParameters?["id"]
            let detailVC = DetailViewController()
            detailVC.itemId = itemId
            // 从当前根控制器跳转至详情页
            (scene as? UIWindowScene)?.windows.first?.rootViewController?.show(detailVC, sender: nil)
        default:
            // 兜底跳转到首页
            break
        }
    }
    
    注:queryParameters是自定义的URL扩展方法,用于解析URL中的查询参数
  • 写入NFC标签
    使用快捷指令APP或第三方NFC工具,将自定义URL Scheme字符串写入标签即可。
  • 进阶优化:使用Universal Links
    若想避免URL Scheme被其他APP劫持,推荐使用Universal Links。需要在苹果开发者后台配置关联域名,Info.plist中添加对应配置,并在服务器根目录放置apple-app-site-association文件,实现无弹窗直接跳转。

Android 实现步骤

  • 配置跳转规则
    • 自定义URL Scheme:在AndroidManifest.xml中给目标二级页面的Activity添加intent-filter,匹配指定的URL规则:
      <activity android:name=".ui.DetailActivity">
          <intent-filter>
              <action android:name="android.intent.action.VIEW" />
              <category android:name="android.intent.category.DEFAULT" />
              <category android:name="android.intent.category.BROWSABLE" />
              <data
                  android:scheme="yourapp"
                  android:host="pages.detail" />
          </intent-filter>
      </activity>
      
    • App Links(推荐):若要实现无需用户确认直接跳转,配置App Links:在intent-filter中添加android:autoVerify="true",并在服务器放置assetlinks.json文件完成域名验证。
  • 处理跳转参数
    在目标Activity中获取URL传递的参数,初始化页面内容:
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_detail)
        
        intent?.data?.let { uri ->
            val itemId = uri.getQueryParameter("id")
            // 根据id加载对应页面内容
            fetchDetailData(itemId)
        }
    }
    
  • 写入NFC标签
    使用系统自带的NFC写入功能或第三方工具,将yourapp://pages.detail?id=456这类链接写入标签。
  • 后台扫描配置
    若需要APP未启动时也能触发跳转,需添加NFC权限:
    <uses-permission android:name="android.permission.NFC" />
    <uses-feature android:name="android.hardware.nfc" android:required="false" />
    
    Android 10及以上支持后台NDEF推送,可配置相关逻辑让APP在后台响应NFC扫描。

内容的提问来源于stack exchange,提问作者roohi mathur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:45:25