iOS push notification received when app is running in foreground

不打扰是莪最后的温柔 提交于 2019-12-01 19:03:22

When the App is in foreground, it should not display anything.

If you see alertView, it means you provided code for it.

Something along the following lines:

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    UIApplicationState state = [application applicationState];

    if (state == UIApplicationStateActive) {
        //app is in foreground
        //the push is in your control
    } else {
        //app is in background:
        //iOS is responsible for displaying push alerts, banner etc..
    }
}

If you have implemented pushNotificationDelegate

[UAPush shared].pushNotificationDelegate = self;

then override, and leave it blank

- (void)displayNotificationAlert:(NSString *)alertMessage
{
  //do nothing
}

You are most likely seeing the additional push notification because of the way Urban Airship is configured in your code. From Urban Airship's docs:

The sample UI includes an implementation of UAPushNotificationDelegate that handles alerts, sounds, and badges. However, if you wish to customize this behavior, you can provide your own implementation:

[UAPush shared].pushNotificationDelegate = customPushDelegate;

There is more information on the proper way to handle push notifications with Urban Airship in their support articles. Since you are using UA, I would recommend that you use their delegates etc. to handle incoming push notifications while in the foreground rather than implementing your own code in the didReceiveRemoteNotification app delegate method.

Hopefully that helps...if not, please post your code so that we can decipher what is going on. This would be very odd behavior indeed!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!