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:
- 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 comPushwoosh.DotNet2.1.0 ou posterior, por isso, com essa combinação, o build é interrompido comerror PW0002.

- 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();}- 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();}- 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();