A new empty project exported to HTML5 with advanced minification is just 210kb zipped. Even uncompressed it's about 500kb. Anything above that is the content of your project, which is up to you, not Construct.
The technical restrictions on single-file Facebook Playable Ads are strange and contradictory. They set a maximum file size, and then also impose rules that cause the file size to increase, such as having to encode binary resources as text in base64. Even so, a new empty project exported as a playable ad with advanced minification is 166kb compressed, or again 500kb uncompressed.
Facebook have been impossible to get hold of for any questions I had or for any technical support with quirks with their tooling. Do they count the compressed size? If not why not, since they seem concerned about the file size? Compressing it would be an obvious thing to do. IIRC, there was an option to use a zip of a HTML5 export; try using that if you can. Otherwise I'm afraid you will just have to work within the confines of their (partially documented and contradictory) limits. As far as I can see the engine overhead is reasonably low given how many features it has - and is certainly less than the 1.4mb you stated - so you'll just have to be careful with every single thing you add to the project.
yeah, 2mb for html got to be without compression
it is just impossible to make something normal in the 2mb, base 64, which, as you said makes images even bigger
have all code in one HTML file and put all images and sounds into separated asset folders, when exporting facebook playable, will be a possible solution
As long as you said, base 64 makes the size of the images bigger. and images can't be minified
So, minified code and compressed png images will keep the size of the game inside 5 mb
Your current playable ads working without errors (it is still not working in the facebook console, but maybe will work in the real advert. company)
But when I'm trying to export the game as usual html5, with asset folders and upload it as zip, I'm getting these errors
Where again this blocked "blob: data"
JS::call("DevsiteEventLoggerUtils", "register", ...) did not fire because it has missing dependencies.
DevsiteEventLoggerUtils is ready
__call__DevsiteEventLoggerUtils.register__46 is waiting for __elem_072b8e64_0_3_bx
__elem_072b8e64_0_3_bx is not defined
Subsequent non-fatal errors won't be logged; see fburl.com/debugjs.
errorListener NedATFsdorL.js?_nc_x=SuOiPW6rEN4:58
NedATFsdorL.js?_nc_x=SuOiPW6rEN4:43 [Report Only] Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.google.com 127.0.0.1:* 'unsafe-inline' blob: data: 'self' connect.facebook.net".
b.construct NedATFsdorL.js?_nc_x=SuOiPW6rEN4:43
NedATFsdorL.js?_nc_x=SuOiPW6rEN4:43 [Report Only] Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.google.com 127.0.0.1:* 'unsafe-inline' blob: data: 'self' connect.facebook.net".
b.construct NedATFsdorL.js?_nc_x=SuOiPW6rEN4:43
NedATFsdorL.js?_nc_x=SuOiPW6rEN4:43 [Report Only] Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.google.com 127.0.0.1:* 'unsafe-inline' blob: data: 'self' connect.facebook.net".
b.construct NedATFsdorL.js?_nc_x=SuOiPW6rEN4:43
inpage.js:1 Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.fbsbx.com') does not match the recipient window's origin ('null').
_postMessage inpage.js:1
contentscript.js:1 Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.fbsbx.com') does not match the recipient window's origin ('null').
_postMessage contentscript.js:1
contentscript.js:1 Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.fbsbx.com') does not match the recipient window's origin ('null').
_postMessage contentscript.js:1
box2d.wasm.js:1 Failed to load resource: the server responded with a status of 404 ()
fbsbx.com/developer/tools/playable-preview/preview-asset/style.css:1 Failed to load resource: the server responded with a status of 404 ()
supportcheck.js:1 Failed to load resource: the server responded with a status of 404 ()
fbsbx.com/:1 Access to script at 'https://www.fbsbx.com/developer/tools/playable-preview/preview-asset/scripts/main.js' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
fbsbx.com/developer/tools/playable-preview/preview-asset/scripts/main.js:1 Failed to load resource: net::ERR_FAILED
fbsbx.com/:1 Access to script at 'https://www.fbsbx.com/developer/tools/playable-preview/preview-asset/scripts/register-sw.js' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
fbsbx.com/developer/tools/playable-preview/preview-asset/scripts/register-sw.js:1 Failed to load resource: net::ERR_FAILED
fbsbx.com/:1 Access to script at 'https://www.fbsbx.com/developer/tools/playable-preview/preview-asset/scripts/offlineclient.js' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
fbsbx.com/developer/tools/playable-preview/preview-asset/scripts/offlineclient.js:1 Failed to load resource: net::ERR_FAILED
box2d.wasm.js:1 Failed to load resource: the server responded with a status of 404 ()
supportcheck.js:1 Failed to load resource: the server responded with a status of 404 ()
style.css:1 Failed to load resource: the server responded with a status of 404 ()
fbsbx.com/:1 Access to internal resource at 'https://www.fbsbx.com/developer/tools/playable-preview/preview-asset/appmanifest.json' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.