public override void AppEventsLogEvent(
            string logEvent,
            float?valueToSum,
            Dictionary <string, object> parameters)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("logEvent", logEvent);
            args.AddString("valueToSum", valueToSum?.ToString(CultureInfo.InvariantCulture));
            args.AddDictionary("parameters", parameters);
            var appEventcall = new JavaMethodCall <IResult>(this, "LogAppEvent");

            appEventcall.Call(args);
        }
Esempio n. 2
0
        public override void PostSessionScore(int score, FacebookDelegate <ISessionScoreResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("score", score.ToString());
            var postSessionScore = new JavaMethodCall <ISessionScoreResult>(
                this,
                "PostSessionScore")
            {
                Callback = callback
            };

            postSessionScore.Call(args);
        }
        public override void AppEventsLogEvent(
            string logEvent,
            float?valueToSum,
            Dictionary <string, object> parameters)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("logEvent", logEvent);
            args.AddNullablePrimitive("valueToSum", valueToSum);
            args.AddDictionary("parameters", parameters);
            var appEventcall = new JavaMethodCall <IResult>(this, "AppEvents");

            appEventcall.Call(args);
        }
        public override void AppEventsLogPurchase(
            float logPurchase,
            string currency,
            Dictionary <string, object> parameters)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("logPurchase", logPurchase.ToString(CultureInfo.InvariantCulture));
            args.AddString("currency", currency);
            args.AddDictionary("parameters", parameters);
            var logPurchaseCall = new JavaMethodCall <IResult>(this, "LogAppEvent");

            logPurchaseCall.Call(args);
        }
        public override void AppInvite(
            Uri appLinkUrl,
            Uri previewImageUrl,
            FacebookDelegate <IAppInviteResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddUri("appLinkUrl", appLinkUrl);
            args.AddUri("previewImageUrl", previewImageUrl);
            var appInviteCall = new JavaMethodCall <IAppInviteResult>(this, "AppInvite");

            appInviteCall.Callback = callback;
            appInviteCall.Call(args);
        }
        public override void AppEventsLogPurchase(
            float logPurchase,
            string currency,
            Dictionary <string, object> parameters)
        {
            MethodArguments args = new MethodArguments();

            args.AddPrimative("logPurchase", logPurchase);
            args.AddString("currency", currency);
            args.AddDictionary("parameters", parameters);
            var logPurchaseCall = new JavaMethodCall <IResult>(this, "AppEvents");

            logPurchaseCall.Call(args);
        }
        public override void ShareTournament(Dictionary <string, string> data, FacebookDelegate <ITournamentResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddDictionary("data", data.ToDictionary(pair => pair.Key, pair => (object)pair.Value));

            var shareTournament = new JavaMethodCall <ITournamentResult>(
                this,
                "ShareTournament")
            {
                Callback = callback
            };

            shareTournament.Call(args);
        }
Esempio n. 8
0
            private void UI(
                string method,
                MethodArguments args,
                FacebookDelegate <T> callback = null)
            {
                this.canvasImpl.canvasJSWrapper.DisableFullScreen();

                var clonedArgs = new MethodArguments(args);

                clonedArgs.AddString("app_id", this.canvasImpl.appId);
                clonedArgs.AddString("method", method);
                var uniqueId = this.canvasImpl.CallbackManager.AddFacebookDelegate(callback);

                this.canvasImpl.canvasJSWrapper.ExternalCall("FBUnity.ui", clonedArgs.ToJsonString(), uniqueId, this.callbackMethod);
            }
Esempio n. 9
0
        public override void ShowInterstitialAd(
            string placementID,
            FacebookDelegate <IInterstitialAdResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("placementID", placementID);
            var showInterstitialAd = new JavaMethodCall <IInterstitialAdResult>(
                this,
                "ShowInterstitialAd")
            {
                Callback = callback
            };

            showInterstitialAd.Call(args);
        }
Esempio n. 10
0
        public override void ConsumePurchase(
            string purchaseToken,
            FacebookDelegate <IConsumePurchaseResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("purchaseToken", purchaseToken);
            var consumePurchase = new JavaMethodCall <IConsumePurchaseResult>(
                this,
                "ConsumePurchase")
            {
                Callback = callback
            };

            consumePurchase.Call(args);
        }
Esempio n. 11
0
        public override void FeedShare(string toId, Uri link, string linkName, string linkCaption, string linkDescription, Uri picture, string mediaSource, FacebookDelegate <IShareResult> callback)
        {
            MethodArguments methodArguments = new MethodArguments();

            methodArguments.AddString("toId", toId);
            methodArguments.AddUri("link", link);
            methodArguments.AddString("linkName", linkName);
            methodArguments.AddString("linkCaption", linkCaption);
            methodArguments.AddString("linkDescription", linkDescription);
            methodArguments.AddUri("picture", picture);
            methodArguments.AddString("mediaSource", mediaSource);
            new AndroidFacebook.JavaMethodCall <IShareResult>(this, "FeedShare")
            {
                Callback = callback
            }.Call(methodArguments);
        }
Esempio n. 12
0
        public override void ShowRewardedVideo(
            string placementID,
            FacebookDelegate <IRewardedVideoResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("placementID", placementID);
            var showRewardedVideo = new JavaMethodCall <IRewardedVideoResult>(
                this,
                "ShowRewardedVideo")
            {
                Callback = callback
            };

            showRewardedVideo.Call(args);
        }
Esempio n. 13
0
        public override void GameGroupCreate(
            string name,
            string description,
            string privacy,
            FacebookDelegate <IGroupCreateResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("name", name);
            args.AddString("description", description);
            args.AddString("privacy", privacy);
            var gameGroupCreate = new JavaMethodCall <IGroupCreateResult>(this, "GameGroupCreate");

            gameGroupCreate.Callback = callback;
            gameGroupCreate.Call(args);
        }
Esempio n. 14
0
        public override void FeedShare(string toId, Uri link, string linkName, string linkCaption, string linkDescription, Uri picture, string mediaSource, FacebookDelegate <IShareResult> callback)
        {
            MethodArguments methodArguments = new MethodArguments();

            methodArguments.AddString("to", toId);
            methodArguments.AddUri("link", link);
            methodArguments.AddString("name", linkName);
            methodArguments.AddString("caption", linkCaption);
            methodArguments.AddString("description", linkDescription);
            methodArguments.AddUri("picture", picture);
            methodArguments.AddString("source", mediaSource);
            new CanvasFacebook.CanvasUIMethodCall <IShareResult>(this, "feed", "OnShareLinkComplete")
            {
                Callback = callback
            }.Call(methodArguments);
        }
Esempio n. 15
0
            private void UI(string method, MethodArguments args, FacebookDelegate <T> callback = null)
            {
                this.canvasImpl.canvasJSWrapper.DisableFullScreen();
                MethodArguments methodArguments = new MethodArguments(args);

                methodArguments.AddString("app_id", this.canvasImpl.appId);
                methodArguments.AddString("method", method);
                string text = this.canvasImpl.CallbackManager.AddFacebookDelegate <T>(callback);

                this.canvasImpl.canvasJSWrapper.ExternalCall("FBUnity.ui", new object[]
                {
                    methodArguments.ToJsonString(),
                    text,
                    this.callbackMethod
                });
            }
Esempio n. 16
0
        public override void AppRequest(
            string message,
            OGActionType?actionType,
            string objectId,
            IEnumerable <string> to,
            IEnumerable <object> filters,
            IEnumerable <string> excludeIds,
            int?maxRecipients,
            string data,
            string title,
            FacebookDelegate <IAppRequestResult> callback)
        {
            this.ValidateAppRequestArgs(
                message,
                actionType,
                objectId,
                to,
                filters,
                excludeIds,
                maxRecipients,
                data,
                title,
                callback);

            MethodArguments args = new MethodArguments();

            args.AddString("message", message);
            args.AddNullablePrimitive("action_type", actionType);
            args.AddString("object_id", objectId);
            args.AddCommaSeparatedList("to", to);
            if (filters != null && filters.Any())
            {
                string mobileFilter = filters.First() as string;
                if (mobileFilter != null)
                {
                    args.AddString("filters", mobileFilter);
                }
            }

            args.AddNullablePrimitive("max_recipients", maxRecipients);
            args.AddString("data", data);
            args.AddString("title", title);
            var appRequestCall = new JavaMethodCall <IAppRequestResult>(this, "AppRequest");

            appRequestCall.Callback = callback;
            appRequestCall.Call(args);
        }
Esempio n. 17
0
        public override void AppRequest(
            string message,
            OGActionType actionType,
            string objectId,
            string[] to,
            List <object> filters,
            string[] excludeIds,
            int?maxRecipients,
            string data,
            string title,
            FacebookDelegate <IAppRequestResult> callback)
        {
            ValidateAppRequestArgs(
                message,
                actionType,
                objectId,
                to,
                filters,
                excludeIds,
                maxRecipients,
                data,
                title,
                callback
                );

            MethodArguments args = new MethodArguments();

            args.addNonNullOrEmptyParameter("message", message);
            args.addNonNullOrEmptyParameter("action_type", actionType != null ? actionType.ToString() : null);
            args.addNonNullOrEmptyParameter("object_id", objectId);
            args.addCommaSeperateListNonNull("to", to);
            if (filters != null && filters.Count > 0)
            {
                string mobileFilter = filters[0] as string;
                if (mobileFilter != null)
                {
                    args.addNonNullOrEmptyParameter("filters", mobileFilter);
                }
            }
            args.addNonNullOrEmptyParameter("max_recipients", maxRecipients);
            args.addNonNullOrEmptyParameter("data", data);
            args.addNonNullOrEmptyParameter("title", title);
            var appRequestCall = new JavaMethodCall <IAppRequestResult>(this, "AppRequest");

            appRequestCall.Callback = callback;
            appRequestCall.call(args);
        }
Esempio n. 18
0
        private void PayImpl(string product, string action, int quantity, int?quantityMin, int?quantityMax, string requestId, string pricepointId, string testCurrency, FacebookDelegate <IPayResult> callback)
        {
            MethodArguments methodArguments = new MethodArguments();

            methodArguments.AddString("product", product);
            methodArguments.AddString("action", action);
            methodArguments.AddPrimative <int>("quantity", quantity);
            methodArguments.AddNullablePrimitive <int>("quantity_min", quantityMin);
            methodArguments.AddNullablePrimitive <int>("quantity_max", quantityMax);
            methodArguments.AddString("request_id", requestId);
            methodArguments.AddString("pricepoint_id", pricepointId);
            methodArguments.AddString("test_currency", testCurrency);
            new CanvasFacebook.CanvasUIMethodCall <IPayResult>(this, "pay", "OnPayComplete")
            {
                Callback = callback
            }.Call(methodArguments);
        }
Esempio n. 19
0
        public override void GameGroupCreate(
            string name,
            string description,
            string privacy,
            FacebookDelegate <IGroupCreateResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("name", name);
            args.AddString("description", description);
            args.AddString("privacy", privacy);
            args.AddString("display", "async");
            var call = new CanvasUIMethodCall <IGroupCreateResult>(this, MethodGameGroupCreate, Constants.OnGroupCreateCompleteMethodName);

            call.Callback = callback;
            call.Call(args);
        }
Esempio n. 20
0
        public string Format(Events evt, MethodArguments a, Exception e)
        {
            switch (evt)
            {
            case Events.OnEnter:
                return(string.Format($"Entering {a.FormattedName}", a.Arguments.ToArray()));

            case Events.OnExit:
                return(string.Format($"Exiting {a.FullName}"));

            case Events.OnException:
                return(string.Format($"Exception occured {a.FullName}; {e.Message}"));

            default:
                throw new InvalidOperationException("unknown log event");
            }
        }
Esempio n. 21
0
        public override void Init(
            string appId,
            bool cookie,
            bool logging,
            bool status,
            bool xfbml,
            string channelUrl,
            string authResponse,
            bool frictionlessRequests,
            HideUnityDelegate hideUnityDelegate,
            InitDelegate onInitComplete)
        {
            // Set the user agent suffix for graph requests
            // This should be set before a call to init to ensure that
            // requests made during init include this suffix.
            this.CallFB(
                "SetUserAgentSuffix",
                string.Format("Unity.{0}", Constants.UnitySDKUserAgentSuffixLegacy));

            base.Init(
                appId,
                cookie,
                logging,
                status,
                xfbml,
                channelUrl,
                authResponse,
                frictionlessRequests,
                hideUnityDelegate,
                onInitComplete);

            var args = new MethodArguments();

            args.AddString("appId", appId);
            args.AddPrimative("cookie", cookie);
            args.AddPrimative("logging", logging);
            args.AddPrimative("status", status);
            args.AddPrimative("xfbml", xfbml);
            args.AddString("channelUrl", channelUrl);
            args.AddString("authResponse", authResponse);
            args.AddPrimative("frictionlessRequests", frictionlessRequests);
            var initCall = new JavaMethodCall <IResult>(this, "Init");

            initCall.Call(args);
        }
        public override void ShareVideo(
            string contentTitle,
            string contentDescription,
            Uri preiviewPhotoURL,
            Uri videoURL,
            FacebookDelegate <IShareResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("content_title", contentTitle);
            args.AddString("content_description", contentDescription);
            args.AddUri("preview_photo_url", preiviewPhotoURL);
            args.AddUri("video_url", videoURL);
            var shareVideoCall = new JavaMethodCall <IShareResult>(this, "ShareVideo");

            shareVideoCall.Callback = callback;
            shareVideoCall.Call(args);
        }
Esempio n. 23
0
        public override void ShareLink(
            Uri contentURL,
            string contentTitle,
            string contentDescription,
            Uri photoURL,
            FacebookDelegate <IShareResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddUri("content_url", contentURL);
            args.AddString("content_title", contentTitle);
            args.AddString("content_description", contentDescription);
            args.AddUri("photo_url", photoURL);
            var shareLinkCall = new JavaMethodCall <IShareResult>(this, "ShareLink");

            shareLinkCall.Callback = callback;
            shareLinkCall.Call(args);
        }
Esempio n. 24
0
        public override void ShareLink(
            Uri contentURL,
            string contentTitle,
            string contentDescription,
            Uri photoURL,
            FacebookDelegate <IShareResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddUri("link", contentURL);
            args.AddString("name", contentTitle);
            args.AddString("description", contentDescription);
            args.AddUri("picture", photoURL);
            var call = new CanvasUIMethodCall <IShareResult>(this, MethodFeed, Constants.OnShareCompleteMethodName);

            call.Callback = callback;
            call.Call(args);
        }
        public override void UploadVideoToMediaLibrary(
            string caption,
            Uri videoUri,
            FacebookDelegate <IMediaUploadResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.AddString("caption", caption);
            args.AddUri("videoUri", videoUri);
            var uploadImageToMediaLibrary = new JavaMethodCall <IMediaUploadResult>(
                this,
                "UploadVideoToMediaLibrary")
            {
                Callback = callback
            };

            uploadImageToMediaLibrary.Call(args);
        }
Esempio n. 26
0
            public override void Call(MethodArguments args = null)
            {
                MethodArguments methodArguments;

                if (args == null)
                {
                    methodArguments = new MethodArguments();
                }
                else
                {
                    methodArguments = new MethodArguments(args);
                }
                if (base.Callback != null)
                {
                    methodArguments.AddString("callback_id", this.androidImpl.CallbackManager.AddFacebookDelegate <T>(base.Callback));
                }
                this.androidImpl.CallFB(base.MethodName, methodArguments.ToJsonString());
            }
Esempio n. 27
0
        public override void ShareLink(
            string contentURL,
            string contentTitle,
            string contentDescription,
            string photoURL,
            FacebookDelegate <IShareResult> callback)
        {
            MethodArguments args = new MethodArguments();

            args.addNonNullOrEmptyParameter("content_url", contentURL);
            args.addNonNullOrEmptyParameter("content_title", contentTitle);
            args.addNonNullOrEmptyParameter("content_description", contentDescription);
            args.addNonNullOrEmptyParameter("photo_url", photoURL);
            var shareLinkCall = new JavaMethodCall <IShareResult>(this, "ShareLink");

            shareLinkCall.Callback = callback;
            shareLinkCall.call(args);
        }
Esempio n. 28
0
            private void UI(
                string method,
                MethodArguments args,
                FacebookDelegate <T> callback = null)
            {
                if (Screen.fullScreen)
                {
                    Screen.fullScreen = false;
                }

                var clonedArgs = new MethodArguments(args);

                clonedArgs.addNonNullOrEmptyParameter("app_id", this.canvasImpl.appId);
                clonedArgs.addNonNullOrEmptyParameter("method", method);
                var uniqueId = this.canvasImpl.CallbackManager.AddFacebookDelegate(callback);

                Application.ExternalCall("FBUnity.ui", clonedArgs.ToJsonString(), uniqueId, this.callbackMethod);
            }
Esempio n. 29
0
            public override void Call([Optional, DefaultParameterValue(null)] MethodArguments args)
            {
                MethodArguments arguments;

                if (args == null)
                {
                    arguments = new MethodArguments();
                }
                else
                {
                    arguments = new MethodArguments(args);
                }
                if (base.Callback != null)
                {
                    arguments.AddString("callback_id", this.androidImpl.CallbackManager.AddFacebookDelegate <T>(base.Callback));
                }
                this.androidImpl.CallFB(base.MethodName, arguments.ToJsonString());
            }
Esempio n. 30
0
        public override void Purchase(
            string productID,
            FacebookDelegate <IPurchaseResult> callback,
            string developerPayload = "")
        {
            MethodArguments args = new MethodArguments();

            args.AddString("productID", productID);
            args.AddString("developerPayload", developerPayload);
            var purchase = new JavaMethodCall <IPurchaseResult>(
                this,
                "Purchase")
            {
                Callback = callback
            };

            purchase.Call(args);
        }