Status Bar not Visible after clicking on ad


#1

Hi,

I have integrated native ads into my app. I’m having issue when the App Store page loads the status bar is not visible. I attached an image to show an example of the issue.

Any advice would be much appreciated.

Thanks,
Adam


#2

Hello Adam,

Is this happening for a specific creative or all creatives that redirect to the App Store with Native Ads?

What version of the MoPub iOS SDK are you using?

My guess is that the advertiser’s webview is somehow covering the status bar. When you close the webview, the status bar returns, correct?

Let us know the details, so we can troubleshoot. Thanks!


#3

Hi,

This is happening with all creatives that redirect to the App Store. I don’t know which version of the MoPub SDK is currently in the project. My developer would know that detail. Should I tell him to join the discussion? Once I close the webview, the status bar returns to its normal state.

Thanks,
Adam


#4

Hello Adam,

Thanks for the background information. It looks like the WebView is covering the status bar since the status bar returns when the webview is closed. I just tested using SDK version 3.5.0 on an iPhone 6+ and the webview did not cover the status bar.

If your developer could let us know what SDK version and what device was used, we can work to reproduce what you are seeing. Could you also test on a different device to see if it still happens? This way we can isolate whether it is an SDK or integration issue.

Thanks!


#5

I will get that information over to you by tomorrow morning.

Adam


#6

We are using SDK version 3.10.0. It’s presenting the view, which covers the statusbar. This is happening with iPhone devices.


#7

I noticed that the status bar appears if I tap a screenshot.


#8

Hello Adam,

I don’t see this happening in our sample app which is available under Step 4 here, passing a marketplace ad unit into an iPhone 5 device, on v. 3.10.0 of the MoPub SDK, and iOS 7.0.6. The sample app source is located in our master sDK in our GitHub. It can be cloned or downloaded as a ZIP file here.

Could you ask your developer if he has modified the SDK in any way? The case where I know the status bar will be covered is if it’s a normal link into MoPub’s browser. If there is a deeplink to the App store, it should open up the app store without the status bar covered.

Could you have your developer compare his native implementation with our implementation in the sample app? I’d say to take a look at how the webview and app’s store’s view is created.

Is your app by default, fullscreen, covering the status bar? It could be the case that because the app is completely fullscreen, when the web view is constructed, it takes the dimensions of the app where it expects the status bar to be visible. On a closer look at the top bar in your first screen shot, it doesn’t look like it’s completely black and looks like it might be a part of your app’s view where the native ad was opened from. Do you know if your developer is setting the status/navigation bar text color and background? (I think I faintly see the text from M in AM/PM in the time) This could also cause the visual black bar.

When you click a screenshot, a new view is created where the status bar can persist or is default colors.

Please loop your developer into this conversation if possible.

Thanks!


#9

Hi,

I believe my developer just followed the steps provided online to implement the native ads. No modifications to my knowledge. I attached a gif to show you the actions to get to the hidden status bar.

I will try to get him in the discussion. He works different business hours.

Adam


#10

Hey Adam,

From the gif, from what I am seeing, it looks like the webview is changing the text to black, but keeping the black/opaque/transparent background set from your app for the status bar. This is why it looks like a solid black bar.

Please have your developer investigate why opening a webview doesn’t change the status bar to the default white background. You may have to modify the SDK to have our MoPub WebView force the status bar to be white instead of the default set by your app on load.


#11

This is what he basically told me. He would have to learn more about the SDK and come up with a custom solution. Which would take a lot of time. Can anyone take a look at it over on your end?

Adam


#12

https://github.com/mopub/mopub-ios-sdk/blob/master/MoPubSDK/Internal/HTML/MPAdWebView.m

Would the changes that need to be made come from here?

Adam


#13

Hey Adam,

Per this document, as of iOS7, the text color of the status bar is inherited from UIBarStyle. As the default(UIBarStyleDefault) is black, when the webview loads with the navigation bar (We use the default), The text becomes black. Unfortunately, as our browser opens up storeKit for the app webview, there is no way modify the navigation bar of the appstore webview to make the navigation bar the same style as your app.

There is a way to opt out of UIViewControllerBasedStatusBarAppearance by setting it as NO. This would make it so that the status bar colors are not based on other variables (UIViewController). This can be set in your property list or plist file. You can then manually set the UIStatusBarStyle with something like the below (this is already done by your developer from looking at the gif):

-(UIStatusBarStyle)preferredStatusBarStyle{ 
    return UIStatusBarStyleLightContent; 
} 

Let me know if this helps!


#14

Hi,

I sent my developer your message and he said “In this case we can not change the status bar color for innerview transitions.”

Adam


#15

Any other recommendations? Can you or a MoPub developer take a look at the code? I would like to find a fix.

Thanks,
Adam


#16

Hey Adam,

He wouldn’t have to change the status bar colors. He just has to disassociate it with the navigation bar with the UIViewControllerBasedStatusBarAppearance by setting it as NO.

Please see the associated stackoverflow link here.

The status bar color does not need to be changed in the innerview transition. This is a fix on the app side rather than a fix in our SDK as the navigation bar of the storekit’s view that is opened by MoPub’s browser cannot be modified.

Let me know if this if not clear to your developer. I can clarify further if needed.

Thanks!


#17

Thanks for sending that information over. I will send this over to him and tell you the results tomorrow morning.


#18

Hello, I am developer if Application and I have tried this things in the application.

But It does not affecting the status bar issue.

If I am changing the UIViewControllerBasedStatusBarAppearance by setting it as NO then it’s allowing me to change the status bar color as white for application and opposite by keeping it as YES, it won’t allow me to change the same and will keep it as black.

Currently application settings as below
Status bar style = UIStatusBarStyleLightContent
View controller-based status bar appearance = NO

But when we open the StoreKit View the status bar changed to Black color.

Thanks!


#19

Hey Adam or vatsal_11,

Can you add

- (UIStatusBarStyle) preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

in the file MPStoreKitProvider.m in the implementation? I was able to get white text in the status bar when the storekit view, opened by the MoPub browser, is opened when testing in the sample app in this way. Please see the below screenshot.

Default text in the webview is black but was changed to white when I implemented the UIBarStyleContent in this file. As the text here is white on a white background, it would be set as white on your black background.

Let me know if this works for you.


#20

Hello,

Thank you the solution works!

Adam