MAUI Dotnet
Integração do SDK
Anchor link to1. Adicione o pacote Nuget Pushwoosh.DotNet aos projetos Android e iOS:

2. Aceite as licenças para dependências transitivas do Android, se necessário:

3. Configure seu projeto no Firebase Console.
4. Adicione o arquivo google-services.json à raiz do diretório da sua plataforma Android. Defina a ação de compilação GoogleServicesJson para este arquivo:

5. Adicione as seguintes linhas antes de declarar o namespace em seu MainActivity.cs (XXXXX-XXXXX aqui é o seu ID de Aplicação Pushwoosh):
[assembly: MetaData("com.pushwoosh.appid", Value = "XXXXX-XXXXX")][assembly: MetaData("com.pushwoosh.senderid", Value = "@string/fcm_sender_id")]6. Em seu MainActivity.cs, sobrescreva o método OnCreate() e chame PushManager.Init(); após base.OnCreate(savedInstanceState);
using Pushwoosh.Android;...public class MainActivity : MauiAppCompatActivity{ protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); PushManager.Init(); }}7. Em seu projeto Android, encontre o arquivo Resources/values/strings.xml ou crie-o. Adicione sua string de Sender ID lá:
<string name="fcm_sender_id">YOUR_SENDER_ID</string>8. Em seu AndroidManifest.xml, adicione o seguinte:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_TYPE_API_TOKEN" />Importante: Certifique-se de que o token de API do Dispositivo tenha acesso à aplicação correta em seu Painel de Controle da Pushwoosh. Saiba mais
9. Faça as seguintes alterações no AppDelegate.cs do seu projeto iOS:
No início do método FinishedLaunching, coloque a seguinte linha:
PushManager.Init();
Adicione estes métodos ao AppDelegate (a classe MauiUIApplicationDelegate não exporta esses métodos por padrão, então você precisa fazer isso manualmente):
[Export("application:didReceiveRemoteNotification:fetchCompletionHandler:")] public void DidReceiveRemoteNotification(UIKit.UIApplication application, NSDictionary userInfo, Action<UIKit.UIBackgroundFetchResult> completionHandler) { PushManager.Instance.ReceivedRemoteNotification(userInfo); }
[Export("application:didRegisterForRemoteNotificationsWithDeviceToken:")] public void RegisteredForRemoteNotifications(UIKit.UIApplication application, NSData deviceToken) { PushManager.Instance.RegisteredForRemoteNotifications(deviceToken); }
[Export("application:didFailToRegisterForRemoteNotificationsWithError:")] public void FailedToRegisterForRemoteNotifications(UIKit.UIApplication application, NSError error) { PushManager.Instance.FailedToRegisterForRemoteNotifications(error); }10. No Info.plist, altere o valor de Pushwoosh_APPID para o seu Código de Aplicação Pushwoosh. Você pode encontrá-lo em seu Painel de Controle:\

11. No Info.plist, defina o:
- A chave
Pushwoosh_API_TOKENpara o Token de API de Dispositivo da Pushwoosh
Importante: Certifique-se de dar ao token acesso ao aplicativo correto em seu Painel de Controle da Pushwoosh. Saiba mais
12. Na parte multiplataforma do App.xaml.cs, adicione o registro ao método onStart:
using PushwooshSDK.DotNet.Core;...public partial class App : Application{... protected override void OnStart() { base.OnStart(); PushManager.Instance.Register(); }}Nota para usuários do Windows: Ao compilar, você pode encontrar um problema relacionado ao comprimento do caminho do arquivo. Isso ocorre porque o comprimento combinado dos diretórios usados pelo Visual Studio e os caminhos dos arquivos dentro do SDK da Pushwoosh excedem a limitação de comprimento máximo de caminho do Windows de 260 caracteres. Para resolver esse problema, habilite a configuração LongPathsEnabled no Registro do Windows.
Compartilhe seu feedback conosco
Anchor link toSeu feedback nos ajuda a criar uma experiência melhor, então adoraríamos ouvir de você se tiver algum problema durante o processo de integração do SDK. Se você enfrentar alguma dificuldade, não hesite em compartilhar suas opiniões conosco através deste formulário.