获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

将您的移动 Web 应用用户转换为原生应用用户

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

如果除了漂亮的本机应用程序之外,您还在构建一个出色的移动网站,但注意到本机应用程序的转化率比网络上的转化率更高,该怎么办?在这种情况下,将移动网络用户转化为下载您的应用程序可能会促进您的业务发展。虽然将它们从一个移动到另一个可能具有挑战性,但动态链接使它变得容易。只需很少的代码,您就可以为用户添加点击您移动网络上的链接并转到您应用程序中相应页面的功能,即使他们必须首先前往 App Store 或 Google Play Store 进行安装!

主要优势

  • 将移动网络用户转变为本机应用程序用户,同时让他们尽可能舒适地进行转换。
  • 用户可以使用他们在您网站上查看的相同内容启动您的应用程序。
  • 需要很少的集成。

这是开始的方法!

在你开始之前

使您的应用程序的内容可深度链接

将移动网络用户转化为本机应用用户的关键是确保用户在打开应用时看到的内容与他们在网络上看到的内容相同。因此,在您开始将移动网络用户引导至您的应用之前,您的应用需要能够接收指向内容的深层链接。

如果您实施了iOS Universal LinksAndroid App Links ,您可能已经完成了这项工作。但如果没有,请向您的应用程序添加逻辑,该逻辑从您的网站获取 URL,并在您的应用程序中向用户显示相应的内容。

设置一个新的 Firebase 项目并将动态链接 SDK 安装到您的应用中。 ( iOSAndroidC++Unity )。安装动态链接 SDK 允许 Firebase 在用户安装应用程序后传递有关动态链接的数据。如果没有 SDK,就无法将安装后用户与安装前点击联系起来。

现在是时候设置将人们从您的网站转移到您的本机应用程序的链接了。如果您的用户还没有安装该应用程序,请不要担心;动态链接可以为您解决这个问题。

在您网站的每个页面上,动态生成动态链接。由于您已经使您的内容可深层链接,因此link参数可以只是其所在页面的 URL。

此类链接可能如下所示:

<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 Store 或 App Store 以安装该应用程序。然后,应用程序打开, link参数中指定的 URL 被传递给它。

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

接下来,您需要接收传递到您的应用程序的链接并打开链接的内容,使用 Dynamic Links SDK 很容易做到这一点:

iOS

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

目标-C

注意:此 Firebase 产品不适用于 macOS、Mac Catalyst、tvOS 或 watchOS 目标。
[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

迅速

注意:此 Firebase 产品不适用于 macOS、Mac Catalyst、tvOS 或 watchOS 目标。
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

此外,您必须在application:openURL:options:方法中调用dynamicLinkFromCustomSchemeURL:以接收作为自定义方案 URL 传递给您的应用的动态链接。例如:

目标-C

注意:此 Firebase 产品不适用于 macOS、Mac Catalyst、tvOS 或 watchOS 目标。
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

迅速

注意:此 Firebase 产品不适用于 macOS、Mac Catalyst、tvOS 或 watchOS 目标。
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

现在您有了link参数的值,向您的用户显示链接的内容。

安卓

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

Kotlin+KTX

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                // Handle error
                // ...
            }

            val invite = FirebaseAppInvite.getInvitation(task.result)
            if (invite != null) {
                // Handle invite
                // ...
            }
        }

Java

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
            @Override
            public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
                if (!task.isSuccessful()) {
                    // Handle error
                    // ...
                }

                FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(task.getResult());
                if (invite != null) {
                    // Handle invite
                    // ...
                }
            }
        });

现在您有了link参数的值,向您的用户显示链接的内容。