APNS - ios Remote Notification

1 篇文章 0 订阅

APNS推送

APNS实现的相关基础内容

APNS一些疑问

  • 接到推送后有声音

    锁屏 - 有

    后台 - 有 (锁屏不锁屏都有)

    运行 - 没有 (锁屏有,不锁屏没有)

    关闭 - 有 (锁屏不锁屏都有)

      运行收到的推送系统交由开发者自行处理,不做任何操作(没有系统提示因);其他有系统提供提示都有声音。
    
  • 判断是否是从推送打开的

    • 可根据 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions{}方法,启动的时候launchOptions是否包含推送的消息来判断是否是从推送打开的。

      • UIApplicationLaunchOptionsRemoteNotificationKey

        远程推送

      • UIApplicationLaunchOptionsLocalNotificationKey

        本地推送

          BOOL isOpenFromRemoteNotify = NO;
          BOOL isOpenFromLocalNotify = NO;
          NSArray * allKey = [launchOptions allKeys];
          if ([allKey containsObject:UIApplicationLaunchOptionsRemoteNotificationKey])//判断是从远程推送打开的吗
          {
              isOpenFromRemoteNotify = YES;
          }
          else  if ([allKey containsObject:UIApplicationLaunchOptionsRemoteNotificationKey])//判断是从本地推送打开的吗
          {
              isOpenFromLocalNotify = YES;
          }else{
              //不是从推送打开的
          }
        
  • APNS是怎么确定向那个设备上那个应用推送的呢

    客户端、后台、苹果APNS服务器 是通过deviceToken作为某一设备上某一应用的标识,通过这个标识确定推送推给那个设备上的那个应用的。

    应用每次重新启动,向苹果APNS服务器注册一次推送,苹果APNS服务器就会向应用下发在当前设备下当前应用deviceToken,如有更新,需告知我们的服务进行更新。

      在同一设备上的不同应用的deviceToken是不同的。
    
  • 什么是deviceToken

      deviceToken 和 UDID 不一样,它是苹果专门为推送生成一个
    
  • APNS 下发的deviceToken 的生命周期

      deviceToken由苹果管理,注册一个次后无论关闭应用,删除应用再次注册都不会改变,
    
  • app端每次启动都要注册吗?

      不是每次都需要注册,只需要注册一次,获得deviceToken,根据下发的deviceToken,不注册依然可以接受到推送。
    
  • 一个应用一个设备注册后deviceToken会改变吗?(udid 和 app id 确定情况下)

    答案是会改变,什么时候改变呢?

    参考:http://stackoverflow.com/questions/6652242/does-the-device-token-ever-change-once-created

    From Apple Documentation ApplePushService

      The form of this phase of token trust ensures that only APNs generates the token which it will later honor, and it can assure itself that a token handed to it by a device is the same token that it previously provisioned for that particular device—and only for that device.
    
      If the user restores backup data to a new device or reinstalls the operating system, the device token changes.
    
    • 还原系统到新的设备、重装系统的时候会改变
  • deviceToken生成规则?(苹果不知道有没有公开:估计没有,也不会公开)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值