/// <summary> /// Handles an <c>onInviteFailed</c> event /// </summary> /// <param name="message"> /// Will contain a numeric representation of <c>Provider</c> /// numeric representation of <c>SocialActionType</c>, /// error message and payload</param> public void onInviteFailed(String message) { SoomlaUtils.LogDebug(TAG, "SOOMLA/UNITY onInviteFailed"); JSONObject eventJson = new JSONObject(message); Provider provider = Provider.fromInt((int)eventJson["provider"].n); String errorMessage = eventJson["message"].str; JSONObject payloadJSON = new JSONObject(eventJson ["payload"].str); ProfileEvents.OnInviteFailed(provider, errorMessage, ProfilePayload.GetUserPayload(payloadJSON)); }
public static void Invite(Provider provider, string inviteMessage, string dialogTitle = null, string payload = "", Reward reward = null) { SocialProvider targetProvider = GetSocialProvider(provider); string userPayload = (payload == null) ? "" : payload; if (targetProvider == null) { return; } if (targetProvider.IsNativelyImplemented()) { //fallback to native string rewardId = reward != null ? reward.ID: ""; //TODO: add invite implementation when implemented in native instance._invite(provider, inviteMessage, dialogTitle, ProfilePayload.ToJSONObj(userPayload, rewardId).ToString()); } else { ProfileEvents.OnInviteStarted(provider, userPayload); targetProvider.Invite(inviteMessage, dialogTitle, /* success */ (string requestId, List <string> invitedIds) => { if (reward != null) { reward.Give(); } ProfileEvents.OnInviteFinished(provider, requestId, invitedIds, userPayload); }, /* fail */ (string message) => { ProfileEvents.OnInviteFailed(provider, message, userPayload); }, /* cancel */ () => { ProfileEvents.OnInviteCancelled(provider, userPayload); }); } }