如果除了漂亮的本机应用程序之外,您还在构建一个出色的移动网站,但注意到本机应用程序的转化率比网络上的转化率更高,该怎么办?在这种情况下,将移动网络用户转化为下载您的应用程序可能会促进您的业务发展。虽然将它们从一个移动到另一个可能具有挑战性,但动态链接使它变得容易。只需很少的代码,您就可以为用户添加点击您移动网络上的链接并转到您应用程序中相应页面的功能,即使他们必须首先前往 App Store 或 Google Play Store 进行安装!
主要优势
- 将移动网络用户转变为本机应用程序用户,同时让他们尽可能舒适地进行转换。
- 用户可以使用他们在您网站上查看的相同内容启动您的应用程序。
- 需要很少的集成。
这是开始的方法!
在你开始之前
使您的应用程序的内容可深度链接
将移动网络用户转化为本机应用用户的关键是确保用户在打开应用时看到的内容与他们在网络上看到的内容相同。因此,在您开始将移动网络用户引导至您的应用之前,您的应用需要能够接收指向内容的深层链接。
如果您实施了iOS Universal Links或Android App Links ,您可能已经完成了这项工作。但如果没有,请向您的应用程序添加逻辑,该逻辑从您的网站获取 URL,并在您的应用程序中向用户显示相应的内容。
设置 Firebase 和动态链接 SDK
设置一个新的 Firebase 项目并将动态链接 SDK 安装到您的应用中。 ( iOS 、 Android 、 C++ 、 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:
获取动态链接。如果动态链接已传递到您的应用程序,您可以从FIRDynamicLink
的url
属性中获取它。例如:
目标-C
[[FIRDynamicLinks dynamicLinks]
handleUniversalLink:userActivity.webpageURL
completion:^(FIRDynamicLink * _Nullable dynamicLink,
NSError * _Nullable error) {
NSString *link = dynamicLink.url;
}];
迅速
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
let link = dynamiclink.url
}
此外,您必须在application:openURL:options:
方法中调用dynamicLinkFromCustomSchemeURL:
以接收作为自定义方案 URL 传递给您的应用的动态链接。例如:
目标-C
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
NSString *link = dynamicLink.url;
// ...
return YES;
}
迅速
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
参数的值,向您的用户显示链接的内容。