深度链接可以与亚行合作,但在点击电子邮件或消息应用程序中的链接时不行



我的AndroidManifest.xml包含:

<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="books.com" android:pathPrefix="/book" />
</intent-filter>

当运行时,它会用正确的页面打开我的应用程序

adb shell am start -a android.intent.action.VIEW -d "https://books.com/book/my-book-123" -c android.intent.category.BROWSABLE 

adb shell am start -a android.intent.action.VIEW -d "https://books.com/book/my-book-123" com.books.app

当我发送https://books.com/book/my-book-123通过电子邮件或消息应用程序,当我点击它时,它就会打开浏览器。

如果我删除android:pathPrefix="/book",它会起作用,但每个url都会打开应用程序,而我只想打开books.com/booksurl的

我在手机里查到books.com没有设置";始终打开";设置为我的浏览器。

根据这一点,Web链接是使用HTTP和HTTPS方案的深度链接。在Android 12及更高版本上,单击网络链接(非Android应用程序链接(总是在网络浏览器中显示内容。在运行早期版本Android的设备上,如果您的应用程序或安装在用户设备上的其他应用程序也可以处理网络链接,则用户可能不会直接访问浏览器。相反,他们会看到一个消除歧义的对话框。

Android应用程序链接Android应用程序链接在Android 6.0(API 23级(及更高版本上可用,是使用HTTP和HTTPS方案并包含autoVerify属性的web链接。此属性允许您的应用程序将自己指定为给定类型链接的默认处理程序。因此,当用户点击Android应用程序链接时,如果安装了应用程序,它会立即打开——消除歧义对话框不会出现。

因此,简而言之,你必须证明你拥有该域名,才能做你想做的事情,否则网络浏览器会加载URL。

最新更新