如果用户点击 Facebook 应用程序中的深层链接时未安装我的应用程序,如何获取应用程序链接数据?令人惊讶的是,Facebook 关于这个问题的文档很少。
我有一个深层链接https://fb.me/635533123230265
返回 HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>App Link</title>
<meta property="fb:app_id" content="619350481515196">
<meta property="al:android:url" content="instapanel://panel?utm_source=fb&utm_medium=cpi&utm_term=sf&utm_campaign=PROPE">
<meta property="al:android:package" content="com.instapanel.android">
<meta property="al:android:app_name" content="Instapanel">
<meta property="al:web:should_fallback" content="false">
<meta http-equiv="refresh" content="0;url=http://play.google.com/store/apps/details?id=com.instapanel.android">
</head>
<body>Redirecting...</body>
</html>
如果该应用程序已安装,AppLinkData appLinkData = AppLinkData.createFromActivity(activity);
工作完美。
但如果没有安装该应用程序,我believe我应该使用AppLinkData.fetchDeferredAppLinkData
。我可以验证在 facebook SDK 中它发出 HTTP 请求并接收 JSON,但它从不包含深层链接,只是{"success":true}
。有任何想法吗?
这是我的代码:
// Fetch data immediately.
AppLinkData appLinkData = AppLinkData.createFromActivity(activity);
App.setAppLinkData(appLinkData); // Handles appLinkData
// In case data is deferred because app wasn't installed yet.
AppLinkData.fetchDeferredAppLinkData(activity, new AppLinkData.CompletionHandler() {
@Override
public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
App.setAppLinkData(appLinkData); // Handles appLinkData. appLinkData is always null here.
}
});
看来FB现在已经解决了这个问题。
编辑:按照此设置延迟深度链接:https://developers.facebook.com/docs/app-ads/deep-linking#deferred-deep-linking https://developers.facebook.com/docs/app-ads/deep-linking#deferred-deep-linking
此链接用于测试:https://developers.facebook.com/tools/app-ads-helper/ https://developers.facebook.com/tools/app-ads-helper/
转到应用广告助手 -> 选择您的应用 -> 测试深层链接 -> 输入深层链接 URL -> 选中延迟发送 -> 发送到 Android。
笔记:
1. 您需要在设备上安装 FB 应用程序并登录到同一开发者帐户才能使用。
2.发送延期后需要卸载并重新安装应用程序
深层链接。也可以在发送链接之前完成卸载。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)