iOS10 和 swift 3 中的 PUSH 问题

Posted

技术标签:

【中文标题】iOS10 和 swift 3 中的 PUSH 问题【英文标题】:PUSH issue in iOS10 and swift 3 【发布时间】:2017-07-13 12:15:01 【问题描述】:

当我的应用程序处于前台并收到推送通知时,它会在屏幕上显示通知。一段时间后(2-3 秒),如果用户不点击通知,它就会出现,所以我的问题是,如果用户不点击通知,我该如何处理推送通知。 当应用在前台 ios 10.0*

例如,如果用户在另一台设备上登录,我将收到 如果应用程序在前台,则在先前登录的设备上通知 用户将看到在另一台设备上登录的通知,如果 用户点击通知它会移动到登录屏幕,但是如果 用户不要点击通知

【问题讨论】:

在示例中,您说为同一用户检测到不同的登录。这意味着已经登录到设备 A 的用户将看到在设备 B 上检测到登录的通知。 .. 那么为什么在点击通知后他会被重定向到设备 A 上的登录屏幕? 是的,我想正如你所说的那样,同一个用户被重定向到登录屏幕以供其他用户登录意味着自动注销 好的,收到您的询问。但是你为什么要让用户退出呢? (如果他们没有点击通知)。此链接会有所帮助:developer.apple.com/documentation/usernotificationsui/… @Prashant 你能给我使用 UNNotificationContentExtensionResponseOptionDismissAndForwardAction developer.apple.com/documentation/usernotificationsui/… 我相信这会对您有所帮助,您可以触发该方法来注销用户并显示登录屏幕。 【参考方案1】:

您可以在您的应用中添加一个 ViewController 来保存推送通知的数据。当用户导航到那里时,他们可以查看它们。

【讨论】:

我不想保存数据,假设我推动注销并且用户没有点击我能做什么 您的意思是要发送推送通知以注销用户?【参考方案2】:

推送通知的持续时间是系统默认属性。默认行为是显示 2-3 秒,如果未点击则自动关闭。您无法更改推送通知本身的持续时间。

以前,有一个技巧,您可以为通知设置更长的自定义声音,它可以在屏幕上保持长达 30 秒,但这是 5 年前的事情。我怀疑这仍然可以在今天的 ios 10.0 中使用

【讨论】:

@JaydeepVyas 推送通知不能永远留在屏幕上。以前最大超时设置为 30 秒。所以无论如何它总是会在 30 秒内被关闭。 如果你想让用户看到通知,不惜一切代价,我建议你使用交互式通知。此链接可能对您有所帮助:igeeksblog.com/how-to-use-interactive-notifications-in-ios-10 @Prashant 你能理解我的问题吗,如果通知消失后没有点击,我希望用户退出 @JaydeepVyas 因此,在您的情况下,您发送此推送通知是为了告诉用户他的帐户是从另一台设备登录的,对吧?因此,只需处理注销用户的推送通知并将他带回登录页面。 好的,收到您的询问。但是你为什么要让用户退出呢? (如果他们没有点击通知)。此链接会有所帮助:developer.apple.com/documentation/usernotificationsui/…

以上是关于iOS10 和 swift 3 中的 PUSH 问题的主要内容,如果未能解决你的问题,请参考以下文章

Swift gcm push 收不到通知

swift 3,ios 10 - 未收到推送通知 firebase

Swift 3 iOS 10 - 带有图像和文本的 UICollectionView 无法正确显示

远程通知中的自定义声音 iOS 10,swift 3

UITableView 布局在 push segue 和 return 上搞砸了。 (iOS 8、Xcode beta 5、Swift)

列出(仅)文件夹中的子文件夹——Swift 3.0 / iOS 10 [重复]