Pular para o conteúdo

MAUI Dotnet

Integração do SDK

Anchor link to

1. 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:

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 to

Seu 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.