API调用的本地通知

时间:2016-04-18 09:43:38

标签: ios apple-push-notifications ibeacon

我有一个应用程序,我有一些本地通知。即使应用程序处于后台,它们也能正常使用触发器和所有这些。

但是现在我只是在那个通知中有一些静态文本,然后我点击它然后在应用程序上打开它它会向服务器发出api调用,然后我得到我需要和内容的名称。

我想要做的是,当通知被触发时,它会进行Api调用并获取内容。所以我的通知可以写成"这是X"并且X被服务器中的内容替换。

我和iBeacons一起工作,所以当我接近iBeacon时,我会收到通知。

2 个答案:

答案 0 :(得分:1)

所以我假设您有一些调用didRangeBeacons的iBeacon管理器:

func locationManager(manager: CLLocationManager, didRangeBeacons clBeacons: [AnyObject], inRegion region: CLBeaconRegion) {
    // schedule local notification
}

并在那里安排本地通知。您需要做的就是先进行服务器呼叫,并在完成后安排本地通知。

您需要记住,当用户进入信标区域时,您的应用程序可能处于后台(甚至被杀死),因此您需要在调用didEnterRegion时开始测距:

func locationManager(manager: CLLocationManager, didEnterRegion region: CLRegion) {
    // start ranging for beacons
}

答案 1 :(得分:0)

使用beginBackgroundTaskWithExpirationHandler ,在后台进行API调用。有关详细信息,请参阅此主题:Proper use of beginBackgroundTaskWithExpirationHandler。在此后台任务中,您可以执行API请求并显示包含请求结果的通知。