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

标签 android facebook applinks

我没有可以注释以支持应用链接的公共(public) Web URL,因此我使用 Facebook 的移动托管 API 来获取应用链接。

根据应用链接文档,我可以传递应用链接托管 API 提供的规范 URL ( https://fb.me/xxxxxxxxxx )。 Canonical URL包括三个信息,URL、APP Name、Package Name,URL是这样的:

    my_app_scheme://actions?ads_name=1

我尝试从 Android 数据获取 URL 的 QueryParameter("ads_name") 以打开应用程序的定义页面。我使用以下代码。

    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 应用程序链接传递我的查询数据?应用程序安装还是不安装使用相同的方法?

最佳答案

target_url 始终是共享的 URL,在您的情况下,它是 https://fb.me/xxxxxxxxxx

如果你想要查询参数,你有两个选择:

  1. 在分享时将查询参数添加到您的规范网址(例如 https://fb.me/xxxxxxxxxx?ads_name=1)
  2. 不是获取 target_url,而是使用来自传入 Intent 数据字段的 url(例如 Uri uri = getIntent().getData(),这将是自定义 url,或 my_app_scheme://actions?ads_name=1)

关于android - 使用 Facebook 的移动托管 API 安装 android 应用程序,但无法获取查询数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047561/

相关文章:

android - 将 arraylist 从一个 Activity 传递到另一个 Activity

ios - 使用iOS的Applinks进行Facebook深层链接

ios - 我如何在 Objective-C 中的 WKWebView 的 facebook 嵌入式视频中设置 "playsinline=1"

android - Facebook登录Android上的React-Native应用程序

javascript - Facebook javascript sdk 随机请求生日许可

android - Assetlinks.json 中的应用链接 Intent 过滤器在 Android 上不起作用

xamarin.android - 使用自定义 URL 方案通过浏览器启动 Xamarin Android 应用程序

android - 背景在 iPad/Android 上无法正常显示

java - MotionEvent.obtain(…);不像屏幕上的攻丝

java - Google Places 自动完成 API 2019