我只是在我的应用程序中实现推送通知。 问题:当我的应用程序关闭,我得到推送通知,当我点击它。我想打电话给一个api所以我想知道通过哪种方法可以处理这个问题。 注意:主要是app处于关闭状态。
这是我的代码
if (application.applicationState == .Active)
{
print("Active")
}
else (application.applicationState == .Inactive)
{
print("InActive")
}
但此代码仅在我的应用处于有效状态或非活动状态时有效。当我的应用程序完全关闭时,我该怎么做呢。
答案 0 :(得分:4)
当您关闭应用程序并收到推送通知时,如果您点击它,则会调用didFinishLaunchingWithOptions
。
在那里,您将获得一个特殊键,通过单击推送通知来检查用户是否已打开。您可以通过以下方式查看:
//Checking user has tapped on Notification or not!
if let dicTemp = launchOptions?["UIApplicationLaunchOptionsRemoteNotificationKey"] {
//Notification Key Found
}
答案 1 :(得分:0)
不幸的是,正常的推送通知无法启动您的应用,如果它没有运行。然而,还有一种名为Apple PushKit的替代方案,它似乎已经测试了几年。它是 - 用于与VOIP应用程序一起使用以取代"始终保持插座打开"用于处理来电,但重要的是,它会在您的设备收到PushKit通知时启动您的应用。
我不知道Apple是否会允许应用程序进入使用PushKit的商店。
我已经习惯了,(大约一年前),它确实有效,但是有问题,有时只是停止接受来电通知。
答案 2 :(得分:0)
对于swift 3,您可以通过以下方式进行检查:
if let dicTemp = launchOptions?[UIApplicationLaunchOptionsKey.localNotification] {
//Notification Key Found
print("Local Notification")
} else if let dicTemp = launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] {
print("Remote Notification")
}