gpt4 book ai didi

c# - 检测 iOS 应用程序是否由 Unity 中的本地通知启动

转载 作者:行者123 更新时间:2023-11-30 16:59:14 25 4
gpt4 key购买 nike

我正在使用 NotificationServices在 iOS 平台上为我的 Unity 游戏安排本地通知。我已成功安排和呈现本地通知,但是我还没有找到一种方法来检测用户是否由于打开本地通知(不是应用程序)。

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

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

最佳答案

我在寻找一种可靠的方法来执行此操作时遇到问题,所以我只写了一个。它不是最先进的,但您可以免费获得。

我写了一个名为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 更改


关于c# - 检测 iOS 应用程序是否由 Unity 中的本地通知启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23921965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com