我正在使用NotificationServices为iOS平台上的Unity游戏安排本地通知。我已成功安排并显示本地通知,但是我没有找到方法来检测用户是否因打开本地通知而打开(启动或恢复)了我的应用(不是该应用程序直接)。
我尝试在NotificationServices.localNotificationCount > 0
中检查OnApplicationPause(false)
(当应用进入前景时),但有时NotificationServices.localNotificationCount
为> 0
,即使用户尚未打开本地通知(可能NotificationServices.localNotificationCount
之前已更新,当应用程序处于前台时收到本地通知等等。)
我需要一种安全的方法来检测我的应用是否由本地通知打开。有谁知道如何在Unity中实现这一目标?
答案 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更改