我正在尝试创建一个股票市场警报应用程序,当特定价格被触发时将启动警报。如何从我的应用程序中调用或创建警报?
答案 0 :(得分:5)
所以,正如我所看到的,你有两种方式......
1.- 注册您的应用以进行后台获取
这种方式( 当 达到iOS 时),您将获得连接互联网的可能性。此时,如果点击您的任何警报,您可以选择发送UILocalNotification
。
如果您单独使用本地通知,而无法在您的应用正式关闭时获取,那么当您进入应用时,您只会收到通知..(您的闹钟)。
这种方法的缺点:您的警报不准确,也许您会在途中失去一些警报,因为股市可能会进入点击点,但随后当 iOS后台获取机制决定让您连接时,它已经恢复正常。
2.- 注册您的应用以获取推送通知 (正如@WMios之前在评论中所建议的那样)
要走的路(从我的观点来看)是使用推送通知。
对于这种方法,您需要有一个 webservice 不断监听股票市场(在这里您可以使用任何技术或语言,因为这对于机制来说并不重要工作),并注册您的用户需要进入此服务器( >对于每个用户而言,每个用户都会将 PUSH_ID (希望推送通知中的一种方式发送到一个独特的设备)注册到您的网络服务中,当闹钟响起时,您将向Apple服务器发送"特殊" 消息(包括消息(将向用户显示的内容)和 PUSH_ID 您从用户的设备收集)。
网上有几个关于这方面的教程,所以你找到一个好的教学没有问题。
提示:您可能希望将用户直接从显示的通知重定向到他可以查看警报触发原因的位置,但是,这取决于您:)
此方法的缺点:如果用户在应用内部时触发了警报(并发送推送通知)。然后,通知将不会显示,在决定当用户进入您的应用程序时您将如何检查这些警报时,请考虑这一点。
3.- 两种方法的混合(是的,第三种......即使我以前写过其他的东西)
这里没什么可说的,只有通过这种方式你才可以攻击前两种方法的缺点。
快乐的编码! ; - )强>
答案 1 :(得分:-1)
UILocalNotifications是一种可能性
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.timeZone = [NSTimeZone defaultTimeZone];
notification.soundName = UILocalNotificationDefaultSoundName;
notification.alertBody = @"YOURMESSAGE";
[[UIApplication sharedApplication] presentLocalNotificationNow:notification];
https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/
答案 2 :(得分:-1)
Swift版本:
values = factory.GetData(typeof(double), 10).Cast<double>().ToArray();