极光推送-一条消息被推送了两次解决办法

所使用Push的版本号: JPUSH_VERSION_NUMBER 3.0.2

问题描述:

在使用JPush推送时,推送出去一条消息,而客户端通知栏中却收到两条相同的消息,并且同通知栏点击任意一条消息,在控制台都能打印出来。问题定位于:重复推送

首先通过服务端的跟踪配合,确定Push操作只执行了一次,那么问题可能出现在客户端。客户端在AppDelegate中的操作大体归类为:注册推送回调函数

最终问题的原因找到了:Register注册方法被执行了两次,即重复注册的问题。

解决方法:

JPush不需要实现以下代码,否则会造成一条推送响两次的情况,注释掉就可解决

    // iOS8 下需要使用新的 API (JPush不需要实现以下代码,否则会造成一条推送响两次的情况‘)
    /*
     if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
     UIUserNotificationType myTypes = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
     
     UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:myTypes categories:nil];
     [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
     }else {
     UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound;
     [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes];
     }
     */

你可能感兴趣的:(极光推送-一条消息被推送了两次解决办法)