Search Issue Tracker
By Design
Unknown (hidden) 2020.3.X, 2021.3.X
Votes
0
Found in
2020.3.34f1
2021.3.2f1
Issue ID
UUM-580
Regression
No
[Android] OnApplicationPause() is triggered when an activity window is being opened or closed
Reproduction steps:
1. Open the user's attached "HelloWorld.zip" project
2. Open the "MainScene" Scene
3. Go to Assets > Google Mobile Ads > Settings > Google Mobile Ads ID
4. Add "ca-app-pub-3940256099942544~3347511713" as the App ID to the Android field
5. Build and Run for Android
6. Make sure there is an internet connection on the device
7. In the Build, press the "Request AppOpen Ad" button
8. Press the "Request Rewarded Ad" button and wait a few seconds
9. Press the "Show Rewarded Ad" button
10. After the advertisement ends close it
11. Observe the Build
Expected result: OnApplicationPause(false) doesn't get triggered, and the "AppOpen" ad is not shown
Actual result: OnApplicationPause(false) gets triggered and the "AppOpen" ad is shown
Reproducible with: 2020.3.34f1, 2021.3.2f1
Couldn't test with: 2019.4.38f1 (Build fails after downgrade), 2022.1.0f1, 2022.2.0a12 (Build fails after upgrade)
Reproducible with these devices:
VLNQA00468 - Huawei - (ELS-NX9), Android 10, CPU: HiSilicon Kirin 990 5G, GPU: Mali-G76
VLNQA00407 - Samsung Galaxy Z Flip3 5G (SM-F711B), Android 11, CPU: Snapdragon 888, GPU: Adreno (TM) 660
VLNQA00264 - Samsung Galaxy S10+ (SM-G975F), Android 10, CPU: NOT FOUND, GPU: Mali-G76
Not reproducible with: iOS (User's info)
Couldn't test with these devices:
VLNQA00110 - Samsung Galaxy Note2 (GT-N7100), Android 4.4.2, CPU: Exynos 4 Quad 4412, GPU: Mali-400 MP ("Install_Failed_Older_SDK" build error)
iOS (Xcode build failed with "Framework not found FBLPromises" error)
Notes:
- OnApplicationPause(false) gets triggered again after closing "AppOpen" ad
- OnApplicationPause() should be triggered only when the app switches between background and foreground, as mentioned in the documentation
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [MacOS] Invalid Code Signing Entitlements errors appear when signing MacOS project for App Store
- Missing UNITY_MATRIX_IT_MV definition in HDRP shaders
- ScrollRect panel not resizing correctly to fit text
- Scroll bar doesn't show full text
- [Linux] AutoLocale: current locale expects 'C' but got error is thrown when starting a project
Resolution Note:
After some investigation, we have found that Android OS makes a call to onPause when an ad is played, as another activity (the ad) is in focus instead of the main application window. See Android doc: https://developer.android.com/reference/android/app/Activity.
This is how Android OS behaves and Unity reacts to this by invoking OnApplicationPause() to be true when the application window is covered by another activity. The doc https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnApplicationPause.html may need to be updated to reflect this, which we are looking into.
If user would like the pausing to not occur, the suggestion is to override onPause in the activity class in their project, which allows the user to decide when exactly to pass this callback to Unity.