繁体   English   中英

两个具有相同OneSignal应用程序ID + Laravel服务器的Ionic 3应用程序

[英]Two Ionic 3 Apps with the same OneSignal App ID + Laravel Server

我正在使用Ionic 3开发类似Uber的项目。有一个针对乘客的应用程序,另一个针对驾驶员的应用程序。 两者都需要订阅OneSignal通知。

当我的Laravel服务器需要传递通知时,就会发生问题:两个应用程序都具有相同的OneSignal播放器ID(基于设备而不是应用程序ID),也就是说,应该由乘客处理的通知可以发送给驾驶员,如果两个应用程序都安装在同一设备上。

因此,我需要帮助来了解克服此问题的最佳方法:

  • 创建另一个OneSignal应用程序,然后找到一种方法使我的Laravel服务器选择将ONESIGNAL_APP_ID和ONESIGNAL_REST_API_KEY发送到正确的应用程序的方法。 (实用,但是我不确定是否可行)。

  • 通过更改OneSignal插件源代码,为其中一个应用程序生成另一个OneSignal Player ID。 (此解决方案听起来很愚蠢,但可以立即解决所有问题)

  • 如果应将通知发送到应用2,则使应用1打开应用2。找到一种在应用之间传递通知信息的方法(深链接?),并使应用2将接收到的信息视为原始通知。 (有必要使其同时在Android和iOS上运行。这值得吗?)

  • 只需使用推送通知服务即可根据应用程序ID发送通知并重新配置Laravel服务器。

哪一个是最佳选择? 可以再有一个吗?

我的建议是使用标签。 在驱动程序应用程序中,您将执行以下操作。

this.oneSignal.sendTag("driver", "true");
this.oneSignal.sendTag("passenger", "false");

对于乘客:

this.oneSignal.sendTag("driver", "false");
this.oneSignal.sendTag("passenger", "true");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM