Pular para o conteúdo

Integração de Geozones com MAUI Dotnet

As Geozones permitem que a Pushwoosh envie notificações push com base na localização do dispositivo. Antes de começar, integre o SDK base conforme descrito em MAUI Dotnet, incluindo seus requisitos. Em seguida, siga estes passos:

  1. Adicione o Pacote NuGet Pushwoosh.DotNet.Geozones à sua solução. Atualize-o junto com Pushwoosh.DotNet. O Geozones 2.0.x trava na inicialização no iOS junto com Pushwoosh.DotNet 2.1.0 ou posterior, por isso, com essa combinação, o build é interrompido com error PW0002.
  1. Integração com Android

No seu projeto Android, localize o arquivo MainApplication.cs e chame LocationManager.Init() em OnCreate() logo após PushManager.Init(), antes de base.OnCreate(). base.OnCreate() constrói o aplicativo MAUI, e uma página que usa LocationManager.Instance durante a sua construção o encontra como null se Init() for executado depois:

using Android.App;
using Android.Runtime;
using Pushwoosh.Android;
using PushwooshSDK.DotNet.Geozones.Android;
...
[Application]
public class MainApplication : MauiApplication
{
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{
}
public override void OnCreate()
{
PushManager.Init();
LocationManager.Init();
base.OnCreate();
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}
  1. Integração com iOS

Para o seu projeto iOS, abra o arquivo AppDelegate.cs e chame o método LocationManager.Init() em FinishedLaunching():

using Pushwoosh.iOS;
using PushwooshSDK.DotNet.Geozones.iOS;
using UIKit;
...
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
PushManager.Init();
LocationManager.Init();
return base.FinishedLaunching(application, launchOptions);
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}
  1. Adicione as permissões de localização com base nos requisitos do seu aplicativo.

A permissão Privacy - Location When In Use Usage Description deve ser sempre adicionada.

5. Em seguida, inicie o rastreamento de localização chamando o método StartLocationTracking().

using PushwooshSDK.DotNet.Geozones;
...
LocationManager.Instance.StartLocationTracking();