Beispiel #1
0
        void OnGUI()
        {
            // center labels
            GUI.skin.label.alignment = TextAnchor.MiddleCenter;

            beginColumn();

            if (GUILayout.Button("Initialize Facebook"))
            {
                FacebookBinding.init();
            }


            if (GUILayout.Button("Login"))
            {
                // Note: requesting publish permissions here will result in a crash. Only read permissions are permitted.
                var permissions = new string[] { "email" };
                FacebookBinding.loginWithReadPermissions(permissions);
            }


            if (GUILayout.Button("Reauth with Publish Permissions"))
            {
                var permissions = new string[] { "publish_actions" };
                FacebookBinding.reauthorizeWithPublishPermissions(permissions, FacebookSessionDefaultAudience.OnlyMe);
            }


            if (GUILayout.Button("Enable Frictionless Requests"))
            {
                FacebookBinding.enableFrictionlessRequests();
            }


            if (GUILayout.Button("Logout"))
            {
                FacebookBinding.logout();
            }


            if (GUILayout.Button("Is Session Valid?"))
            {
                bool isLoggedIn = FacebookBinding.isSessionValid();
                Debug.Log("Facebook is session valid: " + isLoggedIn);

                Facebook.instance.checkSessionValidityOnServer(isValid =>
                {
                    Debug.Log("checked session validity on server: " + isValid);
                });
            }


            if (GUILayout.Button("Get Access Token"))
            {
                var token = FacebookBinding.getAccessToken();
                Debug.Log("access token: " + token);
            }


            if (GUILayout.Button("Get Granted Permissions"))
            {
                // This way of getting permissions uses the Facebook SDK. It is not always accurate since it does not hit the FB servers
                var permissions = FacebookBinding.getSessionPermissions();
                foreach (var perm in permissions)
                {
                    Debug.Log(perm);
                }

                _hasPublishActions = permissions.Contains("publish_actions");

                // This way of getting the permissions hits Facebook's servers so it is certain to be valid.
                Facebook.instance.getSessionPermissionsOnServer((error, grantedPermissions) =>
                {
                    // check for a successful call then register if the publish_actions permissions is present
                    if (grantedPermissions != null)
                    {
                        _hasPublishActions = grantedPermissions.Contains("publish_actions");
                    }
                });
            }


            if (GUILayout.Button("Log App Event"))
            {
                var parameters = new Dictionary <string, object>
                {
                    { "someKey", 55 },
                    { "anotherKey", "string value" }
                };
                FacebookBinding.logEvent("fb_mobile_add_to_cart", parameters);
            }


            endColumn(true);


            // toggle to show two different sets of buttons
            if (toggleButtonState("Show OG Buttons"))
            {
                secondColumnButtonsGUI();
            }
            else
            {
                secondColumnAdditionalButtonsGUI();
            }
            toggleButton("Show OG Buttons", "Toggle Buttons");

            endColumn(false);


            if (bottomRightButton("Twitter..."))
            {
                Application.LoadLevel("TwitterTestScene");
            }
        }
Beispiel #2
0
 // Authenticates the user for the provided permissions
 public static void loginWithReadPermissions(string[] permissions)
 {
     FB.loginWithReadPermissions(permissions);
 }