首页 > 解决方案 > 如何从网站深度链接到安卓应用程序

问题描述

我有一个主要由移动用户使用的网站。我想从网站链接到一个单独的应用程序,然后应该在手机上打开(该应用程序已经安装)

对于应用程序,我输入了以下方案:

 <variable name="URL_SCHEME" value="alfix_smart" />
    <variable name="DEEPLINK_SCHEME" value="https" />
    <variable name="DEEPLINK_HOST" value="domain.com" />
    <variable name="ANDROID_PATH_PREFIX" value="/" />
    <variable name="ANDROID_2_PATH_PREFIX" value="/" />
    <variable name="ANDROID_3_PATH_PREFIX" value="/" />
    <variable name="ANDROID_4_PATH_PREFIX" value="/" />
    <variable name="ANDROID_5_PATH_PREFIX" value="/" />
    <variable name="DEEPLINK_2_SCHEME" value="https" />
    <variable name="DEEPLINK_2_HOST" value="www.domain.com" />

我现在如何将网站的按钮链接到应用程序?我该怎么做?不幸的是,我不知道。

我希望你能帮帮我

标签: androidiosdeep-linking

解决方案


• 如果您想在Android 和iOS 中处理深度链接,建议使用动态链接。使用Dynamic Links,您在所有平台(如 Android、iOS 和 Web)上都以类似的方式对待。它将用户从您的移动网站无缝转移到您的应用程序中的等效内容。要查看其用法示例,请参阅thisthis

• 如果您只想在 Android 中处理深度链接(并且您提到的应用程序已经安装),在最简单的方法 ( Deep Links ) 中,您可以将您Activity作为特定模式URL的处理程序引入,并将所需参数作为URL查询参数传递.

要详细查看其使用示例,请参阅

在 AndroidManifest.xml 中

<activity android:name=".YourActivity">

    <intent-filter>
        <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 "https://example.com" -->
        <data android:host="example.com" />
        <data android:scheme="https" />
    </intent-filter>

    <intent-filter>
        <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 "https://www.example.com" -->
        <data android:host="www.example.com" />
        <data android:scheme="https" />
    </intent-filter>

</activity>

在 YourActivity.java 中:

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

    Intent intent = getIntent();
    String action = intent.getAction();
    if(action.equals(Intent.ACTION_VIEW)){
        Uri data = intent.getData();
        if (data.getQueryParameter("some_param") != null && data.getQueryParameter("some_param").isNotEmpty()) {

            String param = data.getQueryParameter("some_param");
            // do what you want to do with param
        }
    }
}

您的 html 片段:

<a href="https://example.com?some_param=some_value">Click Me!</a>

推荐阅读