[iOS 高级] iOS远程推送与本地推送大致流程

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[iOS 高级] iOS远程推送与本地推送大致流程相关的知识,希望对你有一定的参考价值。

本地推送:

    UILocalNotification *notification=[[UILocalNotification alloc] init];
    if (notification!=nil) {
        NSDate *now=[NSDate new];
        notification.fireDate=[now dateByAddingTimeInterval:60];//60秒后通知
        notification.repeatInterval=0;//循环次数
        notification.timeZone=[NSTimeZone defaultTimeZone];
        notification.applicationIconBadgeNumber=1; //应用的红色数字
        notification.soundName= UILocalNotificationDefaultSoundName;//声音
        [email protected]"通知内容";//提示信息 弹出提示框
        notification.alertAction = @"打开";  //提示框button
        //notification.hasAction = NO; //是否显示额外的button。为no时alertAction消失
        
        // NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"];
        //notification.userInfo = infoDict; //加入额外的信息
        
        [[UIApplication sharedApplication] scheduleLocalNotification:notification];
        
    }
推送过后。假设应用处于后台状态,可实现代理方法来进行想要的操作

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{

}

假设应用已退出。这时候要在以下的方法中来取出推送并处理

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    
    
    UILocalNotification * push=[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];//取出推送对象

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}



远程推送的大致流程例如以下:

1.使用appId注冊推送服务

2.获得推送用的token

3.app上传token到自己的server

4.自己的server将推送信息和token发送给apns

5.apns进行推送

示意图:技术分享图片









以上是关于[iOS 高级] iOS远程推送与本地推送大致流程的主要内容,如果未能解决你的问题,请参考以下文章

iOS apns推送

iOS推送原理详解

IOS推送

iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送本地推送

iOS推送之本地推送

ios 本地通知与消息推送