如何在我的 WebView 反应原生应用程序中从 One Signal 推送通知打开 https URL?



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

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

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

  2. 在本地实施和测试深度链接(使用"myapp://"的安卓方案,到目前为止没有问题(

  3. 为反应原生及其火力基础要求实现了 OneSignal 推送通知 SDK(到目前为止没有问题(

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

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

^ 那么,我应该怎么做才能实现这一目标呢? 提前谢谢。

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

相关内容

最新更新