NFC即时应用

Rya*_*n C 15 android nfc deep-linking branch.io android-instant-apps

我正在尝试通过NFC打开即时应用程序.

我的AndroidManifest.xml中有类似下面的内容

            <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="https" />
            <data android:scheme="http" />
            <data android:host="example-refresh.herokuapp.com" />
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

从链接转到https://example-refresh.herokuapp.com(显然是示例链接)时,单击即时应用正确加载.当从nfc标签打开该链接时,浏览器就会加载.我已经尝试过让nfc打开一个AAR(https://developer.android.com/guide/topics/connectivity/nfc/nfc.html#aar)这会导致当应用程序没有打开游戏商店链接时安装时,安装和应用程序正确打开nfc.如果我在nfc上有其他东西,所以它显示了消歧的选项,那么我可以为浏览器选项选择即时应用程序,但我希望它默认为即时应用程序.

是否有一些我缺少一个nfc标签来加载即时应用程序?我也试过使用分支,但没有运气.

And*_*ani 1

即时应用程序的允许权限非常有限,而 NFC 不在该权限集中。因此任何与 NFC 相关的意图都将不起作用。此外,您在清单上定义的任何内容仅在安装您的应用程序时才有效。即时应用程序显然不是这种情况。android.intent.action.VIEW当您将 APK 上传到 Play 商店时,Google 会为意图建立索引,以便他们可以使即时应用程序正常运行。

因此,当您扫描 NFC 时,这是一个android.nfc.action.NDEF_DISCOVERED意图,因此您的应用程序不会启动

但是,您仍然可以使其发挥作用。您不应使用通常用于启动免安装应用程序的链接,而应将 Play 商店上的免安装应用程序的链接写入 NFC 标签。

https://play.google.com/store/apps/details?id=<package_name>&launch=true
Run Code Online (Sandbox Code Playgroud)

检查https://developer.android.com/distribute/marketing-tools/linking-to-google-play#Instant