【问题标题】:how to avoid handling a deep link twice on cordova android application?如何避免在cordova android应用程序上处理两次深层链接?
【发布时间】:2017-08-17 11:10:04
【问题描述】:

我在分支 io 深度链接方面遇到问题。

环境:我正在使用 Android Marshmallow SDK,平台:25 科尔多瓦 7.0.1 和 分支 SDK “io.branch.sdk”:“~2.2.3” "branch-cordova-sdk": "^2.2.5",

以下是我面临问题的场景:

场景一:在 OnResume 回调函数中调用 Branch.InitSession。 失败案例: 步骤:

第一次安装该应用程序。 (没有打开应用程序) 点击 Branch IO Deep Link, 它会在我的手机上打开应用程序,但不会重定向到 Deep Link 参数中指定的 url,因为 InitSession 被调用了两次。 a) 在 OnDeviceReady 回调函数中。 b)在 OnResume 函数中(这是因为,由于我的应用程序是第一次打开,它会向用户请求权限,当用户拒绝/批准调用 onresume 方法的权限时,它会暂停应用程序并恢复)。 第二次从 OnResume 回调调用 InitSession 时,它会从 Deep Link 接收空参数,并且应用程序不会按预期重定向到 URL。 场景 2:如果我删除 OnResume 中的 Branch.InitSession 回调函数。 成功案例:上述场景效果很好,如果去掉 OnResume 函数中的 InitSession 失败案例:

安装了应用程序。 打开应用程序,让应用程序在后台运行。 单击了 Branch IO 深层链接。 应用程序不接收深度链接数据或处理信息的参数,因为 initsession 在 onresume 方法中不可用。 您能否让我知道如何处理这种情况,让我知道是否需要发布任何进一步的信息,这可能会帮助您发现我是否以错误的方式实施它。

感谢和问候, 乔蒂。

【问题讨论】:

    标签: javascript cordova cordova-plugins branch.io


    【解决方案1】:

    来自Branch.io 的Amruta。正如我们的 Cordova 专家在 Github 问题上所评论的那样 here

    您似乎安装了 2 个版本的 Branch:

    "io.branch.sdk": "~2.2.3" "branch-cordova-sdk": "^2.2.5",

    io.branch.sdk 是我们过时的 Branch SDK,不再受支持。我们建议您遵循此guide 以确保您只运行一个版本的 Branch SDK。您还可以在我们的 Github 存储库上关注 integration guide,获取 Cordova SDK。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      相关资源
      最近更新 更多