/// <summary>
        /// Push Notification registration example's main logic.
        /// Doesn't support captcha verification.
        /// </summary>
        /// <param name="url">Publicapi's URL</param>
        /// <param name="user">Username</param>
        /// <param name="password">Password</param>
        /// <returns>Async task</returns>
        private async Task InitializeClient(string url, string user, string password)
        {
            _debugLabel.Text = "In progress...";

            // Saving active URL to preferences
            var prefsEditor = _prefs.Edit();

            prefsEditor.PutString(Constants.PrefsBaseUrl, url);
            prefsEditor.Commit();

            // Resolving cached variables
            var guid  = new Guid(_prefs.GetString(Constants.PrefsDeviceGuid, "Guid is missing"));
            var token = _prefs.GetString(Constants.PrefsFcmToken, "Token is missing");

            // Client initialization
            var settings = new ClientSettings(guid, PlatformType.Android);
            var client   = new MobileClient(settings)
            {
                BaseUrl = url
            };
            await client.Authorization(user, password);

            //Push registration
            var model = new NotificationRegisterModel {
                PlatformType = PlatformType.Android, Token = token
            };
            await client.PushNotification_RegisterAsync(model);

            // Finalizing
            _debugLabel.Text = "Push notifications successfully registered";
        }