一、远程推送
相关代码如下:
- (void)addjPushWithapplication:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//远程推送初始化,注册远程推送
[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound |
UIUserNotificationTypeAlert)
categories:nil];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
//收到远程推送进行相应的数据处理
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
//此处获取到了APNS提供的deviceToken
}
二、本地推送
本地推送可以用于定时计划,比如定时喝水提醒,便可以在预定时间推送指定的水量喝水提醒。
-(void)test{
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (localNotification == nil) {
return;
}
//设置本地通知的触发时间(如果要立即触发,无需设置),这里设置为20妙后
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:20];
//设置本地通知的时区
localNotification.timeZone = [NSTimeZone defaultTimeZone];
//设置通知的内容
localNotification.alertBody = @"哈哈哈";
//设置通知动作按钮的标题
localNotification.alertAction = @"查看";
//设置提醒的声音,可以自己添加声音文件,这里设置为默认提示声
localNotification.soundName = UILocalNotificationDefaultSoundName;
//设置通知的相关信息,这个很重要,可以添加一些标记性内容,方便以后区分和获取通知的信息
NSDictionary *infoDic = @{@"id":@"9527"};
localNotification.userInfo = infoDic;
//在规定的日期触发通知
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
//立即触发一个通知
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
}
收到本地提醒时,会触发以下方法:
//接收本地推送
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
if ([[notification.userInfo objectForKey:@"id"] isEqualToString:@"9527"]) {
//处理指定的本地推送,处理相应的数据等等
}
}