Copy link to clipboard
Copied
Hey guys, I've just launched a Flash game on Steam/Windows.
It uses an old version of AIR (21) to run an old captive version of Flashplayer (21). The reason for this is that AIR for desktop does not support Stage quality settings otherwise.
Everything works fine and the game's launch went well, but a small number of users are finding that this Flashplayer pop up is completely frozen for them - they can't click on it and can't resume the game. I know this problem has been around for years - has a reliable and simple solution ever been found? Can I as a developer do anything?
Most users don't have a Flash plugin installed, so they don't have Flash settings in their Windows control panel. Is there any other way to allow Flash storage?
I may need to reprogram the saving system to avoid using .sol files altogether.
Thanks!
I moved this to the AIR forums. I'm actually surprised that we throw a prompt in the context of AIR, but I guess that you could theoretically load a third-party SWF into a WebView in your AIR app, and you'd want the end-user to be able to see and control that behavior.
The reason that clicks get ignored is because we're checking to ensure that the dialog is not obscured (at least in Flash), and we sample pixels from the screen (in modern browsers with hardware compositing, there's more complexit
...Copy link to clipboard
Copied
I moved this to the AIR forums. I'm actually surprised that we throw a prompt in the context of AIR, but I guess that you could theoretically load a third-party SWF into a WebView in your AIR app, and you'd want the end-user to be able to see and control that behavior.
The reason that clicks get ignored is because we're checking to ensure that the dialog is not obscured (at least in Flash), and we sample pixels from the screen (in modern browsers with hardware compositing, there's more complexity) and compare them to a buffer of what we *think* we're rendering, in order to evaluate whether or not we're on top. Things moving around the edges of the settings window like video and gameplay will often confuse it, but we may run into platform-specific issues that cause these checks to fail. Because Flash is running as plug-in inside of the browser (and in modern browsers, outside the host process and restrictively sandboxed) there's really just no better way to do resilient clickjacking protection in a way that minimizes false-positives.
Because of the privacy implications, we can't really kill off the dialog. In Flash, I'd love to see it moved into the browser chrome, but it would require support from every browser vendor, and it's not going to happen at this point.
The easiest thing to do is probably to just avoid having it ever pop in the first place. Off the top of my head, I'm thinking that EncryptedLocalStore() is probably a better choice for local storage in AIR, just because you're not carrying around that Flash legacy. I don't do enough AIR development to remember off the top of my head whether or not ELS throws it's own prompt, but my guess is that it doesn't, since you can't call it from Flash...
Copy link to clipboard
Copied
Thanks for the advice!
I'm using HTMLoader to run the swf inside AIR. I was hoping the browser-style pop-ups would never appear, but oh well.
I'm currently changing my save system to use plain old text files instead of .sol files.