...ForRemoteNotificationsWithDeviceToken的问题
发布网友
发布时间:2024-10-03 13:25
我来回答
共1个回答
热心网友
时间:2024-10-20 00:58
1、手机或者说苹果自动将用户的UDID 和应用的 AppID发送到APNs,APNs返回一个deviceToken给iOS设备,同一个手机不同的应用会生成不同的deviceToken;
2、手机端将deviceToken发送到自己公司的后台服务器,用以保存;
3、当后台需要推送消息给用户时,服务器将需要推送的消息和deviceToken传输给APNs;
4、APNs将消息推送给指定的deviceToken对应的手机;
5、用户接收消息;
现在友盟封装的越来越是傻瓜式集成了,简单的一两句话就可以实现。经过实践测试发现,我们在友盟的log中可以找到对应的deviceToken,每一次的卸载安装,app都会获得一个新的deviceToken。我把连续两次获得的deviceToken都添加成友盟的测试设备号,然后分别进行推送,结果发现都可以推送成功,我就懵逼了。(ps:我是在测试环境下实验的,不知道生产环境是不是)也不知道友盟后台是怎么处理的。这样会多产生很多无效的deviceToken啊。
最后,至于为什么不走didRegisterForRemoteNotificationsWithDeviceToken,我是创建了两个AppDelegate的类别,添加了一些方法,可以方法中我并没有重写didRegisterForRemoteNotificationsWithDeviceToken方法,所有想当然的感觉不会产生方法拦截,最后删除了这俩类别,才走didRegisterForRemoteNotificationsWithDeviceToken方法。可把我坑了。做个记录。
热心网友
时间:2024-10-20 01:03
1、手机或者说苹果自动将用户的UDID 和应用的 AppID发送到APNs,APNs返回一个deviceToken给iOS设备,同一个手机不同的应用会生成不同的deviceToken;
2、手机端将deviceToken发送到自己公司的后台服务器,用以保存;
3、当后台需要推送消息给用户时,服务器将需要推送的消息和deviceToken传输给APNs;
4、APNs将消息推送给指定的deviceToken对应的手机;
5、用户接收消息;
现在友盟封装的越来越是傻瓜式集成了,简单的一两句话就可以实现。经过实践测试发现,我们在友盟的log中可以找到对应的deviceToken,每一次的卸载安装,app都会获得一个新的deviceToken。我把连续两次获得的deviceToken都添加成友盟的测试设备号,然后分别进行推送,结果发现都可以推送成功,我就懵逼了。(ps:我是在测试环境下实验的,不知道生产环境是不是)也不知道友盟后台是怎么处理的。这样会多产生很多无效的deviceToken啊。
最后,至于为什么不走didRegisterForRemoteNotificationsWithDeviceToken,我是创建了两个AppDelegate的类别,添加了一些方法,可以方法中我并没有重写didRegisterForRemoteNotificationsWithDeviceToken方法,所有想当然的感觉不会产生方法拦截,最后删除了这俩类别,才走didRegisterForRemoteNotificationsWithDeviceToken方法。可把我坑了。做个记录。