First we head over inside the Business Manager interface from top right drop down menu, a list will pop, and in the mid section of it you will have Monetization Manager and in the right side of the list you will find Business Settings, this two are important for our tutorial.
Inside the Monetization Manager you should be able to create a property once you name it it can't be unnamed so make sure you remember what is it for. Next your impulse is to click platform DO NOT DO THAT don't select a platform yet, we will do that later on. For now just leave that opened in your browser tab.
In a new tab we will then go to our Facebook Developer account and 'create a new app' or 'add new app'.
Once you named your app and you enter the apps dashboard.
Inside your apps dashboard head over to your apps basic settings and setup the follwing:
Privacy page url 'u can use Facebook's if you dont have one yet' remember to change that later accordingly to your games page privacy later on.
Terms of Service url 'same as above'
Category select Games , sub category if its required select the type of your app (ie. gambling, runner, board, etc)
Add Facebook Web Games platform
Inside here we set the following:
OFF - Legacy Unity Integration
OFF - Unity Web Player Install Flow
OFF - WebGL (unless your game uses it)
OFF - Override WebGL Unsupported Experience (same as above)
ON - Simple Application Hosting
Save changes and now go to next step which is scrolling down to Products+ on the left side.
From the products page, we will need 3 items InstantGames, Webhosting, Audience Network
Ok lets link them toghether.
Inside Instant Games setup the following
YES - Use Instant Games
Make your application an instant game
Your icons can be added later same as the apps page, for now we are done here.
Next open a new tab and go inside your business manager account and go to Business Settings as explained above.
Inside there in the right side you have Data Sources.
Click on Properties and on the properties select your Advert property > On people we add your name and on the right side of the name once is setup and shown in peoples list you have 2 little humans looking icons, if they are blue your done if property manager is gray click it and turn it blue.
Next click apps under people and add your app to it.
Once this is done you can now go back to your Business Manager monetization tab we initially opened and refresh the page, now we click add platform, and you should be able to have 1 more option then usual, which is Instant Games, this feature is initially disabled since the link between the advert property and the app was disable and it couldn't recognize the instant games product inside your app, since was no app linked to it. If all is ok you should see 4 platforms (IOS Advertising platform, Android Advertising platform, Instant Games Advertising platform and Website Advertising platform).
Click Instant games advertising platform select video or interstitial as ad type, click next and get the code for the advertising. It should be something like a long number with a floored line in middle (ie. '222222222222222_1111111111111').
Step 3 and 4 are not yet important because we dont have the app yet approved by Facebook review center and they wont be able to activate you'r advert placement to feed live ads. We come here later.
In your app dashboard Audience Network if you click it it should say is managed by your monetization manager so we do not have nothing to setup there anymore its automatically done for us.
After all this is done
Next you can download the template attached to this tutorial and follow the built-in instructions.
And export the project as html5 game,
Take the zip file and upload it on your apps dashboard web hosting interface and once is processed you can set it up for production then you can go to instant games product interface and at share your game area access the link shown. if there is no link at this moment there, you can go access the current version of your hosted game trough the facebook messenger app on your mobile by typing the apps name exactly as its shown in your app dashboard if its InstantTest search it like that if has a space use the space (ie.InstantTest or Instant Test ).
Once your app is approved, head over to Monetization Manager and on your advertising platform Instant games complete step 3 which is submit your payout method (your bank account that accepts USD currency - !important, if you do not have a USD bank account you can learn more on the Facebook Help page about currencies inside step 3.) If complete step 3 then you can submit your app for review once more so Facebook feeds live adverts on your game/app and you can make money and that would complete step 4 and this tutorial.
This tutorial is working at the current time with Construct 3 version R92 and R93-2. Later on i can't assure you that the project file or Instant Games plugin will still be available or will still work as used in this tutorial.
Happy coding and don't be a stranger use @gamecorpstudio in forums when you release your game, to notify me about your new awesome game!
If you find a mistake in the coding of the .c3p project file and you fixed it let me know so i can add it here and change the source.
Download <-- link for project file
Edit: while the privacy and tos are not needed to test your app, you might want to add one because when your going to set the game/app as public even though wont be visible or playable on messenger it will be available on facebook games/gameroom or on the facebook app in the games category and you want to cover those in case someone access your app and is not part of your developer/tester team.