使用Facebook';s移动托管API安装android应用程序,但无法获取查询数据?

使用Facebook';s移动托管API安装android应用程序,但无法获取查询数据?,android,facebook,applinks,Android,Facebook,Applinks,我没有可以注释以支持应用程序链接的公共web URL,因此我使用Facebook的移动托管API来创建应用程序链接 根据app links文档,我可以传递app links托管API提供的规范URL(https://fb.me/xxxxxxxxx)。规范URL包括三个信息,URL、应用程序名、包名,URL如下: my_app_scheme://actions?ads_name=1 我试图从Android数据中获取URL的查询参数(“ads_名称”),以打开应用程序的定义页面。我使用以下

我没有可以注释以支持应用程序链接的公共web URL,因此我使用Facebook的移动托管API来创建应用程序链接

根据app links文档,我可以传递app links托管API提供的规范URL(https://fb.me/xxxxxxxxx)。规范URL包括三个信息,URL、应用程序名、包名,URL如下:

    my_app_scheme://actions?ads_name=1
我试图从Android数据中获取URL的查询参数(“ads_名称”),以打开应用程序的定义页面。我使用以下代码

    AppLinkData.createFromActivity(MainActivity.this);
    if (AppLinks.getTargetUrl(intentOtherApp) != null) {
       Uri targetUrl = AppLinks.getTargetUrl(intentOtherApp);
           if (targetUrl != null) {

            Bundle appLinkData = AppLinks.getAppLinkData(getIntent());
            if (appLinkData != null) {
                String targetURLString = appLinkData.getString("target_url");
                Uri targetURL = Uri.parse(targetURLString);
                JSONObject jsonObject = new JSONObject();

                String adsName = targetURL.getQueryParameter("ads_name");

                try {
                    if (adsName != null) {
                        jsonObject.put("ads_name", adsName);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            */
        }
    }

但是我不能得到数据,我总是只得到规范的URL。如何从Facebook应用程序链接传递查询数据?应用程序是否使用相同的方法安装?

目标url始终是共享的url,在您的情况下,它是https://fb.me/xxxxxxxxx

如果需要查询参数,有两种选择:

  • 共享时将查询参数添加到规范url(例如https://fb.me/xxxxxxxxx?ads_name=1)
  • 不要获取目标url,只需使用传入意图数据字段中的url(例如,
    Uri=getIntent().getData()
    ,这将是自定义url或我的应用程序)_scheme://actions?ads_name=1)

  • 我尝试了选项1。它对于已安装的应用程序很有用。我可以得到我想要的查询参数。但它仍然无法在卸载的应用程序设备上工作。当我使用facebook广告将用户重定向到goole play并安装我的应用程序时,它没有传递任何查询参数。我还尝试了选项2。我从intent中获取空uri。我使用的是Facebook提供的。根据facebook文档,它会传递我的url,但没有。你知道吗?非常感谢您的回复。您创建的URL是什么?我可以看一下。另外,对于你的安装用例,如果你正在使用Facebook上的移动应用安装广告产品,你可以在你的应用启动时调用AppLinkData.fetchDeferredAppLinkData(),它将获取用于安装你的应用的应用链接。Hello@MingLi我也有同样的问题,我已经问过了,我需要在共享对话框中传递什么?如何创建应用程序链接?移动应用程序托管的Facebook文档未包含正确的信息