Xamarin CrossGeofence Transitions
<p>I downloaded and installed the CrossGeofence plugin for xamarin here: <a href="https://github.com/domaven/xamarin-plugins/tree/master/Geofence" rel="nofollow">https://github.com/domaven/xamarin-plugins/tree/master/Geofence</a></p>

<p>Used the sample found here as a guideline: 
<a href="https://github.com/domaven/xamarin-plugins/tree/master/Samples/Geofence" rel="nofollow">https://github.com/domaven/xamarin-plugins/tree/master/Samples/Geofence</a></p>

<p>And I've been testing it out on my physical phone, the LGE LG-D852 (Android 6.0 - API 23) with usb debugging.</p>

<p>My CrossGeofenceListener class has been implemented such as:</p>

<pre><code> public class CrossGeofenceListener : IGeofenceListener
{
    //TODO: figure out what to do with this one.
    public void OnAppStarted()
    {
        //throw new NotImplementedException();
    }        

    //copied from geofence sample
    public void OnError(string error)
    {
        Debug.WriteLine(string.Format("{0} - {1}: {2}", CrossGeofence.Id, "Error", error));
    }

    //TODO: figure out what needs to be done when the location changes.
    public void OnLocationChanged(GeofenceLocation location)
    {
        //throw new NotImplementedException();
    }

    //copied from geofence sample
    public void OnMonitoringStarted(string region)
    {
        Debug.WriteLine(string.Format("{0} - {1}: {2}", CrossGeofence.Id, "Monitoring in region", region));
    }

    //copied from geofence sample
    public void OnMonitoringStopped()
    {
        Debug.WriteLine(string.Format("{0} - {1}", CrossGeofence.Id, "Monitoring stopped for all regions"));            
    }

    //copied from geofence sample
    public void OnMonitoringStopped(string identifier)
    {
        Debug.WriteLine(string.Format("{0} - {1}: {2}", CrossGeofence.Id, "Monitoring stopped in region", identifier));            
    }

    //copied from geofence sample
    public void OnRegionStateChanged(GeofenceResult result)
    {            
        Debug.WriteLine(string.Format("{0} - {1}", CrossGeofence.Id, result.ToString()));
    }
}
</code></pre>

<p>and I've created and started monitoring fences such as:</p>

<pre><code> foreach (var facility in Facilities)
        {
            CrossGeofence.Current.StartMonitoring(new GeofenceCircularRegion(facility.Name, facility.Latitude, facility.Longitude, 2000)
            {
                NotifyOnStay = true,
                NotifyOnEntry = true,
                NotifyOnExit = true,
                ShowNotification = true,
                ShowEntryNotification = false,
                ShowExitNotification = false,
                ShowStayNotification = true,
                NotificationStayMessage = "stay message!",
                NotificationEntryMessage = "entry message!",
                NotificationExitMessage = "exit message!",
                StayedInThresholdDuration = TimeSpan.FromSeconds(1),                    
            });
        }
</code></pre>

<p>With the above given, I am only getting the entered geofence notification popping up. I'm not getting the exit and stayed transition notifications. Any suggestions on how to get the stayed and exit transitions to trigger?</p>