如何从网站到Android应用程序的深层链接

时间:2018-12-03 16:41:42

标签: android ios deep-linking

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

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

 <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" />

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

希望你能帮助我

1 个答案:

答案 0 :(得分:0)

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

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

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

在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>