Manage conflicts with another screen
If launching your app results in a splash screen, fullscreen ad or other similar elements, the display of a Mobile Landing can enter in conflict with them.
Note that if you see the Mobile Landing when your app is running in the background but not when it is killed, it is really likely to be your problem.
Fortunately, you can get more control over when messages are displayed without giving up on the automatic mode, by using the "Do Not Disturb" (DnD) mode.
It allows you to tell Batch to hold on to a mobile landing for you, rather than display it without using the fully manual mode.
You can find more details on the technical implementation of the DnD mode in our documentation: for iOS, Android and Cordova.
Fix a manual implementation
In manual mode, you should also implement UNUserNotificationCenterDelegate.
Did you follow the steps described here?
For example, be careful not to forget to call the following method in the UNUserNotificationCenterDelegate callback.
[BatchPush handleUserNotificationCenter:center
didReceiveNotificationResponse:response];