Tuesday, January 21, 2020

Create FB Instant Game

1. index.html

<html>
<body>
<script src="https://connect.facebook.net/en_US/fbinstant.6.2.js"></script>
whatever...
</body>
</html>
2. main.js
FBInstant.initializeAsync()
    .then(function() {
        var progress = 0;
        var interval = setInterval(function() {
            progress += 100;
            FBInstant.setLoadingProgress(progress);
            if (progress >= 95) {
                clearInterval(interval);
                FBInstant.startGameAsync()
                    .then(
                        function() {
                            // Retrieving context and player information can only be done
                            // once startGameAsync() resolves
                            var contextId = FBInstant.context.getID();
                            var contextType = FBInstant.context.getType();

                            var playerName = FBInstant.player.getName();
                            var playerPic = FBInstant.player.getPhoto();
                            var playerId = FBInstant.player.getID();
                            //start Game
                            startYourGame();
                        }
                    )
            }
        }, 100);
    });

Error:
Sorry the Game is not available at the moment
- missing adding Product
  - Create FB App --> Add Instant Game

Local Test
https://www.facebook.com/embed/instantgames/APP_ID/player?game_url=https%3A%2F%2Flocalhost%3A8080

Remote Test
https://m.facebook.com/instantgames/play/APP_ID/?source=www_play_url

Release:
https://developers.facebook.com/docs/games/instant-games/test-publish-share
1. Zip package
2. App/Instant game/web hosting/Upload
3. Link of Game: https://fb.gg/play/app_id_or_namespace


https://github.com/plexonic/InstantGameDemo

Policy
https://developers.facebook.com/policy/#games

Ads:
https://www.facebook.com/fbgaminghome/blog/install-ads-for-instant-games-best-practices
https://developers.facebook.com/docs/games/gamesonfacebook/monetization
http://phaser.io/tutorials/facebook-instant-games-ads

Share:
https://developers.facebook.com/docs/sharing/webmasters
https://github.com/mrmop/IGX/wiki/Social-Sharing

https://stackoverflow.com/questions/53030470/fbinstant-shareasync-function-doesnt-work-without-any-errors-in-facebook-inst

- share via ShareAsync with out popup

var img = "data:image/png;base64,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";
FBInstant.shareAsync({
     intent: 'INVITE',
     image: img, // base64Image code must be passed in img
     text: 'Play this Awesome game',
     data: {myReplayData: '...'},
}).then(function() {
     location.reload(); 
});

Leader Board
https://www.emanueleferonato.com/2018/05/18/my-first-facebook-instant-game-has-been-released-play-risky-steps-on-facebook-and-learn-how-to-build-your-own-game/

How to get acces token
https://developers.facebook.com/tools/explorer
https://elfsight.com/blog/2017/10/how-to-get-facebook-access-token/


Reference:
https://static.nrk.no/origo/latest/index.html?icons.md
https://www.youtube.com/playlist?list=PLFfAvp9Vrt0XRu4In4uYowL1efYLTSTpM
https://developers.facebook.com/docs/games/instant-games/getting-started/quickstart
https://phaser.io/tutorials/getting-started-phaser3
https://github.com/Mohammedcha/FB-Instant-Games-ADS-Controller
https://developers.facebook.com/docs/games/instant-games/guides/ads-monetization

Select Context
https://github.com/anisurrahmansagor/Test-Your-Luck/blob/master/index.html
https://github.com/dangkyokhoang/randomness
https://github.com/MJarolimek/tic-tac-toe/tree/master/tic-tac-toe

Sample
https://www.emanueleferonato.com/2018/11/30/match-3-bejeweled-html5-prototype-built-with-phaser-updated-to-phaser-3-adding-object-pooling-and-using-ecma-script-6-conventions/
https://www.emanueleferonato.com/tag/wheel-of-fortune/
https://www.emanueleferonato.com/tag/bejeweled/

Related Posts:

  • How to Convert PDF Files for Easy Reading in Ebook ReaderMany ebook readers natively support PDF documents but, unfortunately, not all PDF documents are easy to read on a small ebook reader screen. Let’s take a look at two simple and free ways to convert PDF files for enjoyable … Read More
  • Android - Terminology 1. ROM - FIRMWARE: - Là phần mềm và là "hệ điều hành" trên máy điện thoại. Chính là chương trình chính để máy hoạt động mà không có nó thì máy chỉ là "cục gạch". Có người gọi là phần sụn hay sự mềm dẻo hóa phần cứng. Thực … Read More
  • SPARQL in Android Using ARQoid for Android-based SPARQL Query Execution I was recently asked about the SPARQL support in Sparql Droid and whether it could serve as a way for other Android applications to execute SPARQL queries against re… Read More
  • How to perform a system recovery using the VAIO Care version 7 software. The VAIO Care version 7 software can be used to restore the computer to the original factory software configuration. Follow the procedure below to run a system recovery: WARNING: There is a risk of data… Read More
  • Android DevelopmentError: The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files Solution: Make sure that you have a valid JRE or JDK defined in the Java Build Path of your project. Right-click … Read More

0 comments:

Post a Comment