【问题标题】:How to implement deep links on Facebook in-app messages如何在 Facebook 应用内消息上实现深层链接
【发布时间】:2018-12-24 13:28:29
【问题描述】:

溢出社区,

我们正在为应用开发深层链接功能,但遇到了 Facebook 推送消息的应用内消息功能的问题。

我们正在尝试发送与应用内消息按钮相关联的深层链接,但是当用户单击此类按钮时,应用所做的就是在浏览器上打开此类 url。

我们需要的是能够捕获这样的动作并解析发送的 URL (http://example.com/product?id=1234),但是,我们似乎找不到这样做的方法。

我们需要为 iOS 和 Android 这样做,但只要我们能够解决至少一个平台的问题,我们就可以解决另一个平台的问题。

【问题讨论】:

  • 您能否添加更多上下文? Facebook 如何适应,谁在发送链接,谁在打开链接?问题基本上是您的应用在应该打开的时候没有被某个 URL 打开吗?
  • 嗨 @Dopapp,我们正在使用 Facebook 分析和推送通知功能向用户发送推送消息并向他们显示应用内消息 (developers.facebook.com/docs/push-notifications)。该问题与 facebook 应用内消息有关。在这样的消息中,可以添加带有相关链接的按钮(来自 facebook Web 控制台),问题是这些按钮包含像 example.com/product?id=1234 这样的链接,它为我们的应用程序定义了一个深层链接,但是当用户点击按钮时,它被定向到浏览器。我需要什么才能解析这样的意图。
  • 浏览器是否重定向到您的应用?
  • @Dopapp 准确地说,我希望按钮在按下时在我的应用程序中执行某些操作。
  • 你应该阅读我上面链接到的 Medium 文章。它应该会有所帮助。

标签: android ios facebook push-notification firebase-dynamic-links


【解决方案1】:

我相信你应该尝试实现Universal Links

【讨论】:

  • 嗨@tal-cohen,我们正在使用firebase动态链接,它在幕后实现了通用链接。但是,当用户点击按钮时,它会被重定向到 firebase 应用预览页面,即使您在动态链接中禁用了此类页面。
【解决方案2】:

您需要像这样手动获取 Deeplink 的 Firebase 实例并解析链接,而不是将您的对话框/按钮操作设置为任何值。

      FirebaseDynamicLinks.getInstance()
            .getDynamicLink(getIntent())
            .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
                @Override
                public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                    // Get deep link from result (may be null if no link is found)
                    Uri deepLink = null;
                    if (pendingDynamicLinkData != null) {
                        deepLink = pendingDynamicLinkData.getLink();
                        Log.d("DeepLink", deepLink.toString()+pendingDynamicLinkData.zzte().toString());

                        if(deepLink.getEncodedPath().contains("mobile-app")){

【讨论】:

    猜你喜欢
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    相关资源
    最近更新 更多