检测iOS App是否由Unity中的本地通知启动

时间:2014-05-28 21:12:17

标签: c# ios unity3d push-notification uilocalnotification

我正在使用NotificationServices为iOS平台上的Unity游戏安排本地通知。我已成功安排并显示本地通知,但是我没有找到方法来检测用户是否因打开本地通知而打开(启动或恢复)了我的应用(不是该应用程序直接)。

我尝试在NotificationServices.localNotificationCount > 0中检查OnApplicationPause(false)(当应用进入前景时),但有时NotificationServices.localNotificationCount> 0,即使用户尚未打开本地通知(可能NotificationServices.localNotificationCount之前已更新,当应用程序处于前台时收到本地通知等等。)

我需要一种安全的方法来检测我的应用是否由本地通知打开。有谁知道如何在Unity中实现这一目标?

1 个答案:

答案 0 :(得分:2)

我遇到了找到可行方法的问题所以我只写了一个。它不是最先进的,但你可以免费获得它。

我写了一个名为GLTNotificationResponder的课程,只是将两个文件(.h + .m)放在Assets/Plugins/iOS的Unity项目中。

您必须在XCode中向UnityAppController.mm添加几行,但前提是您要进行全新构建(新版本或' REPLACE'),而不是后续版本重建应用程序。

在Unity中,创建一个GameObject并向其添加NotificationResponder.cs

我希望它有所帮助!


http://pastebin.com/v2DLcZb3 - GLTNotificationResponder.h

http://pastebin.com/tupUvABx - GLTNofiticationResponder.m

http://pastebin.com/CC6qA7Sz - NotificationResponder.cs

http://pastebin.com/PuyDtL5z - UnityAppController.mm更改