Visual Studio: Azure DevOps Git – The pull operation failed

When trying to sync or pull our repository from remote, it fails with the following error:

The pull operation failed, see Output Window for details.

In the output window, the error is the following:

Cannot determine the organization name for this '' remote URL. Ensure the `credential.useHttpPath` configuration value is set, or set the organization name as the user in the remote URL '{org}'.

Go to Visual Studio’s Tools, and then Options, search for ‘Git’ in the searchbar.

Select the Git Global Settings option, and find the ‘Credential helper’ setting, and set it from ‘Unset’ to:

GCM For Windows

This should solve your problem.

Azure DevOps / hosted version controlling with SourceTree on MacOSX

If you want to access your Git based repository with SourceTree, you need to genereate a Personal Access Token for your account in DevOps. Follow the tutorial above:

After you have done with setting up PAT, set up SourceTree on Mac:

  1. SourceTree > Preferences
  2. Accounts > Add…

Enter your devops server url. ex:
As username, enter your e-mail address
As password, paste your private access token
Set the protocol to HTTPS.

After the success configuration, you will see your remote repositories on the main screen of Remotes section.

Xamarin Android: FCM Push notification handling on terminated app: key to the success

If you have ever tried to make an app, that handles a specific type of push notification differently than just simply show a notification to the user, you may have found yourself in trouble. To handle notification receive in a terminated app state, you have to send the payload differently than normal cases.

You should send data only push with high priority to be able to handle the notification by yourself in your app.

The following example shows a perfect payload for Android with FireBase Admin SDK for C#:

			var data = new Dictionary<string, string>();
			data.Add("MessageType", "UrgentNotification");
			data.Add("Title", "Hello Xamarin.Android");
			data.Add("Content", "This notification has been handled by the app");

			FirebaseAdmin.Messaging.Message Message = new FirebaseAdmin.Messaging.Message()
				Token = token,
				Data = data,
				Android = new FirebaseAdmin.Messaging.AndroidConfig()
					Priority = FirebaseAdmin.Messaging.Priority.High,
					Data = data

As you see in the example, the Notification property is completely missing from the payload. But how to handle this notification on the client side? Here’s the solution:

First thing first: Make soure you’re able to receive notifications foreground.
Add google-services.json, make sure the bundlename matches the setting in firebase, etc, etc.

Derive from FirebaseMessagingService

You should make a service, derived from FirebaseMessagingService with an intentfilter to be able to catch Messaging events.

	[IntentFilter(new string[] { "" })]
	public class MyFirebaseMessagingService : FirebaseMessagingService

OnMessageReceived will be triggered when the application is terminated or it is in foreground. But not even in debug mode. You need to set the build config to release, in order to receive messages when your app is killed by the user. You can display local notification from the data passed as parameter array like this:

if (data?.ContainsKey("UrgentNotification") == true)
				var intent = new Intent(this, typeof(MainActivity));
				foreach (var key in data.Keys)
					intent.PutExtra(key, data[key]);

				var pendingIntent = PendingIntent.GetActivity(this,

				var notificationBuilder = new NotificationCompat.Builder(this, MainActivity.CHANNEL_ID)
										  .SetContentTitle("FCM Message")
										  .SetContentText(messageBody ?? "DATA ONLY")

				notificationManager.Notify(MainActivity.NOTIFICATION_ID, notificationBuilder.Build()); 

Or start an activity. (Works only below Android 10):

var startActivityIntent = new Intent(this, typeof(MainActivity));


Android: Alkalmazás aláíró kulcs ujjlenyomatának megtekintése Windowson

Nyissunk egy ADB.exe-t.

Keressük meg a .apk kiterjesztésű fájlunkat, és csomagoljuk ki, mintha egy zip állomány lenne. Én a WinRaR programot használtam ehhez. Keressük ki a META/INF mappát, és ott lesz egy .RSA kiterjesztésű fájl. Másoljuk olyan helyre, ahonnan könnyen írhatunk elérési útvonalat hozzá.

Gépeljük az ADB-be a következőt:

keytool -printcert -file <elérési út / "C:\good.RSA">

A végeredmény valahogy így néz ki (Nem eltakarva az adatokat):