Adobe-Runtime-Support
Adobe-Runtime-Support copied to clipboard
com.adobe.air.OrientationManager.setAspectRatio
I found this message in all games on the Play Store.
We detected the following resizability and orientation restrictions in your game:
com.adobe.air.OrientationManager.setAspectRatio To improve the user experience of your game, remove these restrictions and check that your game layouts work on various screen sizes and orientations.
See #3676 and #3704. Currently this is just a warning about a change in behaviour coming in Android 16. You basically need to ensure that your app can handle the various aspect ratios and orientations that a device might have, unless it's a game in which you can add that app category to your manifest additions.
We'll be updating the codebase so that we can give people the option to remove the classes in AIR that are causing the warning, but for now this is something that just warns you to be prepared for the Android 16 change..
thank you sure
Every time I see this issue in my Google Play Console I post a message to them that the issue is incorrect and attach the video of how my game interface in fact adapts to different screen dimensions and layouts: https://www.youtube.com/watch?v=C2bP6rZcmEY
I cant understand. The biggest part of games have graphics and gameplay only for portrait or only for landscape screen orientation. What google want from us?) And what manifest additions can cancel this warnings in future (with Android 16)?
We'd done some analysis on this a little while back, but I'd forgotten to then update this post... I think there will be a slight challenge in making this work for everyone but hopefully this will work:
- We can add an 'appCategory' field in the app descriptor so that you can say whether your application is a game or not. Games are exempt from these changes. (You can already set the app category via manifestAdditions so I'd be interested to know if people are already doing that, or whether it's worth us adding this separate field to simplify things?)
- There's a compatibility field that you can set if you want to, to delay the changes for one version. We could support this, but it adds complexity...
- The changes also don't take affect on smaller devices, where the shortest side is less than 600 density-independent pixels (3.75 inches?) - but of course, that doesn't help at all, because afaik there's no way to restrict your app to only run on such devices!
But to cope with the changes, if it's not a game:
- we would not allow any
aspectRatioapp descriptor setting (other thanany) - we would not allow an
autoOrientsapp descriptor value offalse - we would ignore any
android.max_aspectmeta-data value - the
Stage.setAspectRatiomethod would throw an exception (andStage.supportsOrientantionChangewould return false)
Under the hood, in order to ensure the behaviour works for a game but doesn't cause a warning for non-games, we'll probably need to switch to using reflection. It would be interesting to see whether they can detect this though..! but the API calls would only be allowed for games (the Android subsystem would ignore the call anyway for non-games..)
Possibly a first step is to just switch to using reflection in the existing functionality to see whether people then see the warnings disappear (i.e. because Android can't detect that we've got a call to set the orientation, even though we still would..)
Let me know of any questions/concerns!
thanks