【问题标题】:How do I open https URL from One Signal push-notification WITHIN my WebView react-native app?如何在我的 WebView react-native 应用程序中从 One Signal 推送通知打开 https URL?
【发布时间】:2019-08-14 10:33:02
【问题描述】:

我使用 WebView 和我公司网站的初始 URL 创建了一个 React-native 应用程序(在 android 中测试)。 我希望用户能够在单击 OneSignal 推送通知时重定向到特定网站的产品页面(例如https://www.test.com/product/hoodie-with-zipper/),其中包含在发送的通知中的预期启动 URL。问题是,我希望用户使用我的 WebView 应用打开 URL,而不是浏览器。

到目前为止我已经实现和测试的功能:

  1. 实现和测试的 WebView(目前没有问题)

  2. 在本地实现和测试深度链接(使用 'myapp://' 的 android 方案,目前没有问题)

  3. 针对 react-native 及其 firebase 要求实现了 OneSignal 推送通知 SDK(目前没有问题)

正如我之前在第 2 点中提到的,我已经尝试并成功地使用 'myapp://' 的 android 方案实现了深度链接。但是,当我尝试实现 'https://' 的 android 方案时,OneSignal 推送通知的启动 URL 被浏览器打开,而不是我的 WebView 应用程序。

我希望用户能够在单击 OneSignal 推送通知时重定向到特定网站的产品页面(例如 https://www.test.com/product/hoodie-with-zipper/),其中包含已发送通知中的预期启动 URL,但它将被打开使用 React-native WebView 而不是浏览器。

^ 那么,我应该怎么做才能实现呢? 提前致谢。

【问题讨论】:

    标签: react-native push-notification deep-linking onesignal react-native-webview


    【解决方案1】:

    您应该通过在通知中通过additional data 传递 URL 来自行处理此问题。然后,在您的应用程序中,您应该打开一个指向指定 url 的 web 视图。点击通知时,仪表板上的 Launch URL 功能或 REST API 上的 url 字段会自动打开移动设备上的 web 浏览器。如果您想在您的应用程序而不是浏览器中打开 URL,您需要发送您的通知,其中包含您的应用程序 SDK 可以读取的自定义数据。如果您使用我们的仪表板发送通知,发送通知选项允许您在通知中包含要发送的其他数据。如果您使用我们的 API 发送通知,您可以将“数据”字段设置为额外自定义数据的 JSON 对象哈希。例如,您可以将targetUrl 设置为键,将https://google.com 设置为值。然后在您应用的代码中,从 NotificationOpened 回调中的附加数据读取 targetUrl 值(名称取决于所使用的 OneSignal SDK)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-12
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多