当前位置: 首页 > 知识库问答 >
问题:

深度链接不适用于除Chrome for Android应用程序之外的任何其他浏览器

柴瀚昂
2023-03-14

我有综合科。用于深度链接的io SDK。

我的深度链接的流程是,当我点击URL时,它将打开我的应用程序,如果它已经安装在用户手机中,否则它将重定向到play store,用户可以安装该应用程序。

如果我使用chrome浏览器浏览链接,这个流工作得很好,但如果我使用UC、Opera或三星默认浏览器等任何其他浏览器应用进行浏览,这个流都不工作,不管怎样,它都会重定向到play store。

任何人有解决办法请告诉我!

谢谢你的帮助!

共有2个答案

邵子平
2023-03-14

创建应用程序内容的深度链接:

<activity
    android:name="com.example.android.GizmosActivity"
    android:label="@string/title_gizmos" >
    <intent-filter android:label="@string/filter_view_http_gizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/gizmos" />
        <!-- note that the leading "/" is required for pathPrefix-->
    </intent-filter>
    <intent-filter android:label="@string/filter_view_example_gizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "example://gizmos” -->
        <data android:scheme="example"
              android:host="gizmos" />
    </intent-filter>
</activity>

从传入意图读取数据:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Intent intent = getIntent();
    String action = intent.getAction();
    Uri data = intent.getData();
}

测试你的深层链接:

使用adb测试意向过滤器URI的通用语法为:

$ adb shell am start
        -W -a android.intent.action.VIEW
        -d <URI> <PACKAGE>

例如,下面的命令尝试查看与指定URI关联的目标应用程序活动。

$ adb shell am start
        -W -a android.intent.action.VIEW
        -d "example://gizmos" com.example.android

阅读更多:

1) https://developer.android.com/training/app-links/verify-site-associations.html#the-差异
2)https://docs.branch.io/pages/links/integrate/

冯阳云
2023-03-14

在较旧的Android设备上使用URI方案和应用链接打开应用程序时存在已知问题。这些问题不仅限于分支链接。

 类似资料:
  • 我已经完成了将我的android应用程序与我的网站进行深度链接,并处理了所有的URL。我注意到,在play store上启动应用程序后,我的网站URL的intent不会要求用户选择其他应用程序,如chrome或任何其他浏览器。其他一切都运转良好。 如果用户想在浏览器应用程序中打开我的网站URL,我将通过在任何其他浏览器中打开它。但我的问题是,intent chooser并没有要求使用浏览器应用程序

  • 我在我的应用程序中启用了应用链接。它工作正常。但是在我的应用程序中,有一些情况下我无法处理传入的网址。在这种情况下,我想将该网址重定向到设备中的默认浏览器。 目前,我尝试使用intent打开带有url的浏览器,但它再次重定向到我的应用程序本身。应用程序链接的格式如下- 所以根据params,我想要么在应用程序本身中处理应用程序链接,要么将其重定向到默认浏览器。下面是我试图用上面的网址打开浏览器的代

  • 深度链接在android中不起作用。我已经把清单代码贴在这里了。当我测试时,它会进入网站,而不会在我的应用程序中打开我的活动。谁能帮我修一下吗? 更新: adb shell am start-W-aandroid.intent.action.VIEW-d"http://www.clinicloud.com/xyz"com.clinicloud.app 使用adb进行测试会打开应用程序,但仅使用浏览

  • 我想为我的cordova android应用程序启用应用程序索引,如下所述:https://developers.google.com/app-indexing/webmasters/app 不幸的是,我找不到留档如何做一个科尔多瓦的应用程序。有一个插件收听和广播意向,但我不认为这将帮助我在这种情况下:https://github.com/Initsogar/cordova-webintent 我

  • 从这篇文章中,我能够创建一个功能,将用户从一个链接重定向到android或ios。但是,在检测到Android时,我想打开显示我的应用程序的游戏商店。我在重定向时尝试了以下链接: 但它会在浏览器中打开play store。我想打开play store应用程序,我假设我的应用程序用户将使用play store应用程序,所以我不想检查play store应用程序是否已安装。我也尝试了如下的市场链接 但