极光推送一般配置根据官网就可以了。以下主要是讲解一些坑
第一,jpush推送从推送消息中进入app,
回在该方法中获取到对应的消息(pushDict)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
NSDictionary *pushDict = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
第二,从icon图标进入:
这里有两种情况:
1:app没有被杀死
当app没有被杀死时,如果有消息推送,都会调用消息推送的方法(如下)
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler ;
2,当app被杀死
这个只能从后台刷新这个消息,就是让后台再推送一次。
第三:消息推送接收时有时无:
可能情况1,消息推送方法中是否写completionHandler(UIBackgroundFetchResultNewData);
可能情况2,注册的通知被释放:
比如:MainViewController中注册了处理推送消息的jpush通知,结果在dealloc中remove了。
网友评论