iOS消息推送是怎么现实的?

  • 1.iOS消息推送的工作机制可以简单的用下图来概括:
    • (1)Provider是指某个iPhone软件的Push服务器
    • (2)APNS是Apple Push Notification Service的缩写,是苹果的服务器
image0.png

上图可以分为三个阶段:

  • (1)应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。

  • (2)APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。

  • (3)iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。


iOS消息推送是怎么现实的?_第1张图片
iamge1.png

从上图我们可以看到:

  • (1)应用程序注册消息推送

  • (2)iOS从APNS Server获取device token,应用程序接收device token

  • (3)应用程序将device token发送给PUSH服务端程序

  • (4)服务端程序向APNS服务发送消息

  • (5)APNS服务将消息发送给iPhone应用程序


  • 2.本地推送通知


UILocalNotification *notification = [[UILocalNotification alloc] init];
NSDate *dateNow = [NSDate date];
notification.fireDate = [dateNow addTimeInterval:1.0];
notification.timeZone = [NSTimeZone defaultTimeZone];
...
// 启用推送通知
[[ UIApplication sharedApplication] scheduleLocalNotification:notification];


  • 3.远程推送通知


@implementation AppDelegate

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 注册远程推送通知
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
    return YES;
    }

  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    // 处理推送通知
    NSLog(@"%@", userInfo);
    }


如有不当、错误之处,欢迎指正!

你可能感兴趣的:(iOS消息推送是怎么现实的?)