Ejemplo n.º 1
0
    //=============================================================================

    private void ShareWithFacebook()
    {
                #if UNITY_IPHONE || UNITY_ANDROID
        //FacebookManager.dialogCompletedWithUrlEvent += OnDialogCompletedWithUrlEvent;
        //FacebookManager.dialogFailedEvent += OnDialogFailedEvent;

        string desc = TextManager.GetText("POPUP_SHARE_FACEBOOK");
        desc = desc.Replace("(population)", GameDataManager.Instance.PlayerHighestEverPopulation.ToString("#,##0"));
        desc = desc.Replace("(fairy)", ServerManager.instance.GetPlayerName());

        Dictionary <string, object> parameters = new Dictionary <string, object>
        {
            { "link", "https://www.facebook.com/playwinxclub" },
            { "name", TextManager.GetText("POPUP_SHARE_FACEBOOK_LINK_NAME") },
            { "picture", "https://s3-eu-west-1.amazonaws.com/butterflix-liveupdates/FBImage.png" },
            { "caption", TextManager.GetText("POPUP_SHARE_FACEBOOK_CAPTION") },
            { "description", desc }
        };
        FacebookCombo.showFacebookShareDialog(parameters);
                #endif
    }
    void OnGUI()
    {
        // center labels
        GUI.skin.label.alignment = TextAnchor.MiddleCenter;

        beginColumn();

        if (GUILayout.Button("Initialize Facebook"))
        {
            FacebookCombo.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" };
            FacebookCombo.loginWithReadPermissions(permissions);
        }


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


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


        if (GUILayout.Button("Is Session Valid?"))
        {
            // isSessionValid only checks the local session so if a user deauthorizies the application on Facebook's website it can be incorrect
            var isLoggedIn = FacebookCombo.isSessionValid();
            Debug.Log("Facebook is session valid: " + isLoggedIn);

            // This way of checking a session hits Facebook's servers ensuring the session really is valid
            Facebook.instance.checkSessionValidityOnServer(isValid =>
            {
                Debug.Log("checked session validity on server. Is it valid? " + isValid);
            });
        }


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


        if (GUILayout.Button("Get Granted Permissions"))
        {
            // This way of getting session permissions uses Facebook's SDK which is a local cache. It can be wrong for various reasons.
            var permissions = FacebookCombo.getSessionPermissions();
            foreach (var perm in permissions)
            {
                Debug.Log(perm);
            }

            // This way of getting the permissions hits Facebook's servers so it is certain to be valid.
            Facebook.instance.getSessionPermissionsOnServer(completionHandler);
        }


        if (GUILayout.Button("Show Share Dialog"))
        {
            var parameters = new Dictionary <string, object>
            {
                { "link", "http://prime31.com" },
                { "name", "link name goes here" },
                { "picture", "http://prime31.com/assets/images/prime31logo.png" },
                { "caption", "the caption for the image is here" },
                { "description", "description of what this share dialog is all about" }
            };
            FacebookCombo.showFacebookShareDialog(parameters);
        }


        endColumn(true);

        secondColumnButtonsGUI();

        endColumn(false);


        if (bottomRightButton("Twitter..."))
        {
            Application.LoadLevel("TwitterCombo");
        }
    }