public void OnShareCompleted(int resultRaw, string shareTarget)
        {
            NativeShare.ShareResult shareResult = (NativeShare.ShareResult)resultRaw;

            if (result == NativeShare.ShareResult.Unknown)
            {
                result           = shareResult;
                this.shareTarget = shareTarget;
            }
            else if (result == NativeShare.ShareResult.NotShared)
            {
                if (shareResult == NativeShare.ShareResult.Shared)
                {
                    result           = NativeShare.ShareResult.Shared;
                    this.shareTarget = shareTarget;
                }
                else if (shareResult == NativeShare.ShareResult.NotShared && !string.IsNullOrEmpty(shareTarget))
                {
                    this.shareTarget = shareTarget;
                }
            }
            else
            {
                if (shareResult == NativeShare.ShareResult.Shared && !string.IsNullOrEmpty(shareTarget))
                {
                    this.shareTarget = shareTarget;
                }
            }

            resultReceived = true;
        }
        public void OnShareCompleted(string message)
        {
            NativeShare.ShareResultCallback _callback = callback;
            callback = null;

            if (_callback != null)
            {
                if (string.IsNullOrEmpty(message))
                {
                    _callback(NativeShare.ShareResult.Unknown, null);
                }
                else
                {
                    NativeShare.ShareResult result = (NativeShare.ShareResult)(message[0] - '0');                        // Convert first char to digit and then to ShareResult
                    string shareTarget             = message.Length > 1 ? message.Substring(1) : null;

                    _callback(result, shareTarget);
                }
            }
        }