OneSignal 推送通知未 link 正确发送到我的 GoNative 应用程序

OneSignal push notifications don't link correctly to my GoNative app

我在这里回答我自己的问题,以防有人遇到类似问题。

我最近一直在与 GoNative 合作,为 DoneDone 开发一个混合原生应用程序,一个任务管理和共享收件箱工具。

我还使用 OneSignal's push notification integration with GoNative 来处理给用户的本地推送通知。此外,我从服务器端发送推送通知消息(在我的例子中是 C#/.NET,但服务器端平台在这里无关紧要)。

我已经设置了必要的文件以获得通用 links 在本机应用程序而不是浏览器中打开(例如 apple-app-association-file)。我正在正确创建和发送推送通知。

但是,我无法通过服务器端 API.link 将推送通知推送到应用程序的特定页面 API。

在 OneSignal 的 Create Notification API doc 中,您似乎会在 JSON 请求中发送 urlweb_urlapp_url 参数。但是,如果您使用 GoNative 的推送通知与 OneSignal 的集成,none 这些可以正常工作。

例如,如果您使用 urlapp_url 参数,您会在 内部 您的本机应用程序中获得辅助浏览器弹出窗口,而不是仅来自您的本机应用程序的负载。

您需要在推送通知的“附加数据”属性 中设置您自己的 url 值。如果您从 OneSignal 的网络平台中创建推送通知,GoNative 有 documentation,但如果您通过他们的 API.

以编程方式创建推送通知,则没有具体指导

要通过 JSON 执行此操作,请将 targetUrl 值添加到 data 属性。

{
   "app_id":"3baaa656-8832-4733-a88b-b83aba2598a7",
   "include_player_ids":[
      "3baaa656-8832-4733-a88b-b83aba2598a7",
      "3baaa656-8832-4733-a88b-b83aba2598a7"
   ],
   "headings":{
      "en":"DoneDone Project"
   },
   "subtitle":{
      "en":"#123: This is a bug!"
   },
   "contents":{
      "en":"Ka Wai Cheung created the task."
   },
   "data":{
      "targetUrl":"[LINK TO THE WEB APP]"
   }
}

一旦您指定 targetUrl,它就会起作用。我希望有一天这可以节省某人的时间!