将移动网站用户转化为原生应用用户

如果您开发了一款出色的原生应用,此外还构建了一个优秀的移动网站,但您发现原生应用中的转化率比移动网站上的更高。遇到这种难题时,该怎么办?在这种情况下,让移动网站用户转化为下载您的应用,这样可能会提升您的业绩。虽然让用户“转移阵地”可能是一项颇具挑战性的任务,但借助动态链接就易如反掌了。 您只需极少量的代码就能添加如下功能:用户点击您移动网站上的某个链接后,就会转到您应用中的相应页面,即使他们必须先转到 App Store 或 Google Play 商店安装您的应用,系统仍可确保让他们随后转到您应用中的该页面!

主要优势

  • 将移动网站用户转化为原生应用用户,同时为他们提供尽可能舒服的过渡体验。
  • 用户在启动您的应用时,可以看到与他们刚刚在您的网站上所查看页面相同的内容。
  • 只需要非常少量的集成工作。

下面介绍如何开始添加这项功能!

准备工作

使应用的内容可深层链接

将移动网站用户转化为原生应用用户的关键是:确保用户在打开应用时所看到的内容与他们在网站上看到的内容相同。因此,在您开始将移动网站用户转到您的应用之前,该应用应能够接收指向内容的深层链接。

如果您已实现了 iOS 通用链接Android 应用链接,那么您可能已经完成了这项工作。但如果还没有的话,则需要在您的应用中添加以下逻辑:从您的网站获取一个网址,然后在您的应用内向用户显示相应的内容。

设置 Firebase 和 Dynamic Links SDK

建立一个新的 Firebase 项目,并将 Dynamic Links SDK 安装到您的应用中。请分别参阅适用于 iOSAndroidC++Unity 的安装说明。安装 Dynamic Links SDK 后,Firebase 就能在用户安装应用后向应用传递有关动态链接的数据。如果没有此 SDK,则应用无法将“安装后”的用户与“安装前”的点击关联在一起。

在您的网页中添加“在应用中打开”链接

现在可以设置链接,让用户从您的网站转移到您的原生应用了。不必担心用户还没有安装应用,因为动态链接可以帮您搞定。

在您网站的每个页面上动态生成一个动态链接。由于您已将自己的内容设计为支持深层链接,因此 link 参数只需要采用该链接所在页面的网址即可。

此类链接可能如下所示:

<a href="https://example.page.link/?link=https://www.example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

当用户在其设备上打开上述链接时,如果尚未安装 apn 参数 (Android) 或 ibi 参数 (iOS) 所指定的应用,此用户将被引导至 Play 商店或 App Store 安装该应用。然后,该应用会打开,系统会将 link 参数中指定的网址传递给它。

在您的应用中打开链接的内容

接下来,您需要接收传递给您的应用的链接,并打开所链接的内容,利用 Dynamic Links SDK 就能轻松做到这一点:

iOS

在 iOS 上,您可通过实现 application:continueUserActivity:restorationHandler: 方法来接收动态链接。在恢复处理程序中,您可以通过调用 handleUniversalLink:completion: 来获取动态链接。如果已经有一个动态链接传递至您的应用,您可以从 FIRDynamicLinkurl 属性中获取该动态链接。例如:

Objective-C

[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

Swift

FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

此外,您必须在 application:openURL:options: 方法中调用 dynamicLinkFromCustomSchemeURL: 才能收到作为自定义架构网址传递至您的应用的动态链接。例如:

Objective-C

FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

Swift

let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

现在您已经获得了 link 参数的值,可以向用户显示链接的内容了。

Android

在 Android 上,您可以使用 getInvitation() 方法从动态链接中获取数据:

AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false).setResultCallback(/* ... */);

然后,在回调函数中,您可以通过调用 getDeepLink() 方法获取动态链接的 link 参数中传递的数据:

String link = AppInviteReferral.getDeepLink(intent);

现在您已经获得了 link 参数的值,可以向用户显示链接的内容了。

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面