Olá, no post de hoje irei demonstrar como você pode criar notificações locais em suas aplicações Xamarin.Forms.
A ideia de utilizar notificações locais é evitar o uso de notificações de push em momentos desnecessários. Mas se esse não for o seu caso e você necessitar de notificações de push, recomendo ler o post: OneSignal Push Notification – Xamarin.Forms.
ADICIONANDO O NUGET PACKAGE
Clique com o botão direito em cima de sua Solution e selecione “Manage NuGet Packages for Solution…”.
Digite “Xam.Plugins.Notifier” e selecione o plugin como demonstrado na imagem a seguir.
Selecione todos os projetos e clique no botão “Install”.
Xaml
No arquivo xaml crie um botão que servirá para disparar a notificação. Observe que a propriedade Clicked chama o método Start_Notification.
<?xml version="1.0" encoding="utf-8" ?> | |
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" | |
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" | |
xmlns:local="clr-namespace:LocalNotificationDemo" | |
x:Class="LocalNotificationDemo.MainPage"> | |
<StackLayout> | |
<Button Text="Notification" Clicked="Start_Notification"/> | |
</StackLayout> | |
</ContentPage> |
CODE-BEHIND
No método Start_Notification utilize o CrossLocalNotifications.Current.Show com o título e o texto desejado para a notificação.
using System; | |
using Plugin.LocalNotifications; | |
using Xamarin.Forms; | |
namespace LocalNotificationDemo | |
{ | |
public partial class MainPage : ContentPage | |
{ | |
public MainPage() | |
{ | |
InitializeComponent(); | |
} | |
public void Start_Notification(object sender, EventArgs e) | |
{ | |
CrossLocalNotifications.Current.Show("Title","Text"); | |
} | |
} | |
} |
Resultado
Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.
Ótimo! Muito bom! Parabéns men!
CurtirCurtido por 1 pessoa
Obrigado 🙂
CurtirCurtir
Bom dia Juliano, tudo bem?
O meu código funciona bem no Android 6 e apresenta corretamente a notificação. Porém o mesmo código rodando no Android 8 não aparece a notificação e nem da nenhum erro. O que poderia ser?
CurtirCurtir
Boa noite Juliano,
desculpe a minha ignorância, mas a notificação local, não envia aos demais dispositivos, somente no dispositivo que dispara a notificação, certo?
Haveria alguma forma de enviar/receber notificação offline a todos os dispositivos que utilizam o App?
Obrigado.
CurtirCurtir
Olá,
Sim, as notificações locais é apenas para o dispositivo em questão.
Sim, provavelmente em algum momento da sua lógica de negócios, quando acontecer algo que você deseja disparar a notificação naquele dispositivo. Agora, se você deseja que a notificação aconteça a partir de algo que ocorreu em outro dispositivo, recomendo a utilização de push notification (não offline).
Espero ter ajudado
CurtirCurtir