如果未安装应用程序,如何获取Facebook应用程序链接

d2v*_*vid 13 android facebook deep-linking applinks

如果用户在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&amp;utm_medium=cpi&amp;utm_term=sf&amp;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>
Run Code Online (Sandbox Code Playgroud)

如果已安装该应用程序,则AppLinkData appLinkData = AppLinkData.createFromActivity(activity);运行正常.

但如果没有安装应用程序,我相信我应该使用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.
    }
});
Run Code Online (Sandbox Code Playgroud)

Vij*_*van 6

看起来FB现在已经解决了这个问题.

编辑:按照此设置延迟深层链接:https://developers.facebook.com/docs/app-ads/deep-linking#deferred-deep-linking

此链接用于测试:https://developers.facebook.com/tools/app-ads-helper/

转到App Ads Helper - >选择您的应用程序 - >测试深层链接 - >输入深层链接URL - >检查发送延迟 - >发送到Android.

注意:1.您需要在设备上安装FB应用程序并登录到同一个开发人员帐户才能使用此工具.2.发送延迟深层链接后需要卸载并重新安装应用程序.也可以在发送链接之前完成卸载.