// Logs an event, valueToSum and optional parameters public static void logEvent(string eventName, double valueToSum, Dictionary <string, object> parameters = null) { FB.logEvent(eventName, valueToSum, parameters); }
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"); } }
// Logs an event with optional parameters public static void logEvent(string eventName, Dictionary <string, object> parameters = null) { FB.logEvent(eventName, parameters); }