android - 有没有一种有效的方法可以在 HTML 中向移动设备添加多个 Appink?

标签 android html ios deep-linking applinks

我是一个基本电子商务应用程序的开发者,该应用程序有一个配套网站。我想尝试使用应用程序链接,将我的用户从我的网站引导至我的移动应用程序上的某些屏幕。

应用链接网站tutorial给出了以下示例,作为将应用程序链接引入某个应用程序的一种方式。

如果我只想“链接”到每个应用程序中的一个屏幕,这是可能的。但是,如果我想链接到多个屏幕,我该怎么办?

我希望网站能够将用户引导至主屏幕、搜索屏幕以及支付屏幕。有没有一种有效的方法来做到这一点?我是否必须在不同的页面上添加不同的应用链接?

编辑

感谢亚历克斯的回复。我已尝试按照您的 Android 应用指南进行操作,但它似乎不起作用。每当我在 Android Chrome 浏览器上打开我网站的 URL 时,什么都没有发生。我想要自动重定向到我的应用程序。 这是我的代码 fragment (名称和 URL 使用化名)。

网站:

     <meta property="al:android:url" content="ecommerceapp://dlogsman" />
     <meta property="al:android:app_name" content="ECommerceApp" />
     <meta property="al:android:package" content="com.ecommerce.app" />
     <meta property="al:web:url" content="http://ecommerce.com/~dlogsman" />

Android list :

   <activity
        android:name="com.ecommerce.app.App"
        android:label="@string/app_name_ecommerce">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        <intent-filter>
            <data android:scheme="ecommerceapp" android:host="open" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
    </activity>

然后我的 onStart 方法完全按照您推荐的方式处理 Intent 。有什么建议么??再次感谢您的宝贵时间。

最佳答案

提醒一下,我正在研究 Branch 链接工具 (branch.io),它有助于简化包括 Facebook 在内的所有 channel 的深度链接(并简化 AppLinks 噩梦)

App Links 所做的只是告诉 Facebook 机器人如何将相应的网站 URL 映射到您的 native 应用程序 URL。它只是一组添加到您网站标题的元标记,以便在安装应用程序时告诉 Facebook 要调用哪个应用程序 URL。 唯一实际的链接是您的网站链接。因此,您在现有电子商务网站的给定页面上只能有一组 AppLink。为了在您的应用程序中使用 AppLinks 到不同的页面,您实际上需要有不同的 Web URL。因此,您需要:

  • http://yourecommercesite.com/home并为 yourecommerceapp://home 添加元标签
  • http://yourecommercesite.com/search并为 yourecommerceapp://search 添加元标签
  • http://yourecommercesite.com/payment并为 yourecommerceapp://payment 添加元标签

然后,您需要为深度链接构建您的应用。如果您还没有这样做,以下是在 iOS 中设置和接收 URL 路径的方法:

  1. 将 yourecommerceapp://的 URI 方案添加到 PLIST 文件

plist uri

  1. 编写接收URI路径的代码
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    if ([[url path] hasSuffix:@"home"]) {
        // load the home view controller
    } else if ([[url path] hasSuffix:@"search"]) {
        // load the search view controller
    } else if ([[url path] hasSuffix:@"payment"]) {
        // load the payment view controller
    }
    return YES;
}

在 Android 中是这样的:

  1. 设置应用 list 以接收来自 yourecommercesite://的意向。你只需要在 <activity></activity> 中添加这个标签
<intent-filter>
    <data android:scheme="yourecommercesite"/>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
  1. 在接收intent的Activity的onStart中,添加如下代码:
@Override
protected void onStart() {
    super.onStart();

    if (this.getIntent().getData() != null) {
        if (this.getIntent().getData().getPath().equals("home")) {
            // load the home activity
        } else if (this.getIntent().getData().getPath().equals("search")) {
            // load the search activity
        } else if (this.getIntent().getData().getPath().equals("payment")) {
            // load the payment activity
        }
    }

}

关于android - 有没有一种有效的方法可以在 HTML 中向移动设备添加多个 Appink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455891/

相关文章:

javascript - JS 动态添加的内容在特定屏幕尺寸下不显示(CSS/布局?)

CSS div 过渡;在鼠标悬停时,而不是在鼠标移开时?

iphone - 如何让 UITableView 始终位于 UIView 的中心?

java - 将图像从 Android 上传到我的服务器(权限被拒绝)

android - 删除操作栏顶部的深色

java - 使用 < 2 个 R.string.id 文本创建警报消息

javascript - 如何计算列表中的总计

android: eclipse 编译错误

ios - 在动态 UITableView 原型(prototype)中访问行高

ios - 我无法在 Application Loader 中上传我的 ipa,并且出现以下错误