protected override void _invite(Provider provider, string inviteMessage, string dialogTitle, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "invite", provider.ToString(), inviteMessage, dialogTitle, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #2
0
 protected override void _initialize(string customParamsJson)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "initialize", customParamsJson);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _logout(Provider provider)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "logout", provider.ToString());
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _submitScore(Soomla.Profile.Provider provider, Soomla.Profile.Leaderboard to, int score, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "submitScore", provider.ToString(), to.toJSONObject().ToString(), score, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #5
0
 protected override void _uploadImage(Provider provider, string message, string filePath, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "uploadImage", provider.ToString(), message, filePath, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _updateStatusDialog(Provider provider, string link, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "updateStatusDialog", provider.ToString(), link, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _getFeed(Provider provider, bool fromStart, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "getFeed", provider.ToString(), fromStart, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _getScores(Soomla.Profile.Provider provider, Soomla.Profile.Leaderboard from, bool fromStart, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "getScores", provider.ToString(), from.toJSONObject().ToString(), fromStart, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #9
0
 protected override void _uploadImage(Provider provider, string message, string fileName, byte[] imageBytes, int jpegQuality, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         string base64Str = Convert.ToBase64String(imageBytes);
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "uploadImage", provider.ToString(), message, fileName, base64Str, jpegQuality, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _removeUserProfile(UserProfile userProfile)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "removeUserProfile",
                                          userProfile.toJSONObject().ToString());
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
        protected override void _multiShare(string text, string imageFilePath)
        {
            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
                ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "multiShare", text, imageFilePath);
            }

            AndroidJNI.PopLocalFrame(IntPtr.Zero);
        }
 protected override void _updateStatus(Provider provider, string status, string payload,
                                       bool showConfirmation, string customMessage)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "updateStatus", provider.ToString(), status, payload, showConfirmation, customMessage);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #13
0
 protected override void _updateStory(Provider provider, string message, string name,
                                      string caption, string description, string link,
                                      string pictureUrl, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "updateStory", provider.ToString(), message, name,
                                          caption, description, link, pictureUrl, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #14
0
 protected override void _pushEventLogoutFinished(Provider provider)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventLogoutFinished", provider.ToString());
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #15
0
 protected override void _pushEventLoginFinished(UserProfile userProfile, bool autoLogin, string payload)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(userProfile.Provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventLoginFinished", userProfile.toJSONObject().print(), autoLogin, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #16
0
 protected override void _pushEventLoginFailed(Provider provider, string message, bool autoLogin, string payload)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventLoginFailed", provider.ToString(), message, autoLogin, payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _initialize(string customParamsJson)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass unityActivityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
         using (AndroidJavaObject unityActivity = unityActivityClass.GetStatic <AndroidJavaObject>("currentActivity")) {
             using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
                 ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "initialize", unityActivity, customParamsJson);
             }
         }
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
 protected override void _login(Provider provider, string payload)
 {
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass unityActivityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
         using (AndroidJavaObject unityActivity = unityActivityClass.GetStatic <AndroidJavaObject>("currentActivity")) {
             using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
                 ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "login", unityActivity, provider.ToString(), payload);
             }
         }
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #19
0
 protected override void _pushEventSocialActionCancelled(Provider provider, SocialActionType actionType, string payload)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventSocialActionCancelled",
                                          provider.ToString(), actionType.ToString(), payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #20
0
 protected override void _pushEventGetContactsStarted(Provider provider, int pageNumber, string payload)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventGetContactsStarted",
                                          provider.ToString(), payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
        protected override void _openAppRatingPage()
        {
            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass unityActivityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
                using (AndroidJavaObject unityActivity = unityActivityClass.GetStatic <AndroidJavaObject>("currentActivity")) {
                    using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
                        ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "openAppRatingPage", unityActivity);
                    }
                }
            }

            AndroidJNI.PopLocalFrame(IntPtr.Zero);
        }
예제 #22
0
 protected override void _pushEventSubmitScoreFailed(SubmitScoreFailedEvent ev)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(ev.Provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventSubmitScoreFailed",
                                          ev.Provider.ToString(), ev.Destination.toJSONObject().ToString(), ev.ErrorDescription, ev.Payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #23
0
 protected override void _pushEventShowLeaderboards(ShowLeaderboardsEvent ev)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(ev.Provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventShowLeaderboards",
                                          ev.Provider.ToString(), ev.Payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
        protected override bool _isLoggedIn(Provider provider)
        {
            bool loggedIn;

            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass unityActivityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
                using (AndroidJavaObject unityActivity = unityActivityClass.GetStatic <AndroidJavaObject>("currentActivity")) {
                    using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
                        loggedIn = ProfileJNIHandler.CallStatic <bool>(jniSoomlaProfile, "isLoggedIn", unityActivity, provider.ToString());
                    }
                }
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
            return(loggedIn);
        }
예제 #25
0
 protected override void _pushEventInviteFinished(Provider provider, string requestId, List <string> invitedIds, string payload)
 {
     if (SoomlaProfile.IsProviderNativelyImplemented(provider))
     {
         return;
     }
     AndroidJNI.PushLocalFrame(100);
     using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
         List <JSONObject> invited = new List <JSONObject>();
         foreach (var id in invitedIds)
         {
             invited.Add(JSONObject.StringObject(id));
         }
         JSONObject jsonInvited = new JSONObject(invited.ToArray());
         ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventInviteFinished",
                                          provider.ToString(), SocialActionType.INVITE.ToString(), requestId, jsonInvited.ToString(), payload);
     }
     AndroidJNI.PopLocalFrame(IntPtr.Zero);
 }
예제 #26
0
        protected override void _pushEventGetContactsFinished(Provider provider, SocialPageData <UserProfile> contactsPage, string payload)
        {
            if (SoomlaProfile.IsProviderNativelyImplemented(provider))
            {
                return;
            }
            List <JSONObject> profiles = new List <JSONObject>();

            foreach (var profile in contactsPage.PageData)
            {
                profiles.Add(profile.toJSONObject());
            }
            JSONObject contacts = new JSONObject(profiles.ToArray());

            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
                ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventGetContactsFinished",
                                                 provider.ToString(), contacts.ToString(), payload, contactsPage.HasMore);
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
        }
예제 #27
0
        protected override void _pushEventGetLeaderboardsFinished(GetLeaderboardsFinishedEvent ev)
        {
            if (SoomlaProfile.IsProviderNativelyImplemented(ev.Provider))
            {
                return;
            }
            List <JSONObject> leaderboardList = new List <JSONObject>();

            foreach (var lb in ev.Leaderboards.PageData)
            {
                leaderboardList.Add(lb.toJSONObject());
            }
            JSONObject jsonLbs = new JSONObject(leaderboardList.ToArray());

            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
                ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventGetLeaderboardsFinished",
                                                 ev.Provider.ToString(), jsonLbs.ToString(), ev.Payload);
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
        }
예제 #28
0
        protected override void _pushEventGetScoresFinished(GetScoresFinishedEvent ev)
        {
            if (SoomlaProfile.IsProviderNativelyImplemented(ev.Provider))
            {
                return;
            }
            List <JSONObject> scoreList = new List <JSONObject>();

            foreach (var sc in ev.Scores.PageData)
            {
                scoreList.Add(sc.toJSONObject());
            }
            JSONObject jsonSc = new JSONObject(scoreList.ToArray());

            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
                ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventGetScoresFinished",
                                                 ev.Provider.ToString(), ev.From.toJSONObject().ToString(), jsonSc.ToString(), ev.Scores.HasMore, ev.Payload);
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
        }
예제 #29
0
        protected override void _pushEventGetFeedFinished(Provider provider, SocialPageData <String> feedPage, string payload)
        {
            if (SoomlaProfile.IsProviderNativelyImplemented(provider))
            {
                return;
            }
            List <JSONObject> feeds = new List <JSONObject>();

            foreach (var feed in feedPage.PageData)
            {
                feeds.Add(JSONObject.StringObject(feed));
            }
            JSONObject feedJson = new JSONObject(feeds.ToArray());

            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.ProfileEventHandler")) {
                ProfileJNIHandler.CallStaticVoid(jniSoomlaProfile, "pushEventGetFeedFinished",
                                                 provider.ToString(), feedJson.ToString(), payload, feedPage.HasMore);
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
        }
        protected override UserProfile _getStoredUserProfile(Provider provider)
        {
            JSONObject upObj = null;

            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass jniSoomlaProfile = new AndroidJavaClass("com.soomla.profile.unity.UnitySoomlaProfile")) {
                string upJSON = ProfileJNIHandler.CallStatic <string>(jniSoomlaProfile, "getStoredUserProfile", provider.ToString());
                if (upJSON != null)
                {
                    upObj = new JSONObject(upJSON);
                }
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);

            if (upObj)
            {
                return(new UserProfile(upObj));
            }
            else
            {
                return(null);
            }
        }