Saltar al contenido

MAUI Dotnet

Integración del SDK

Anchor link to

1. Agregue el paquete Nuget Pushwoosh.DotNet a los proyectos de Android e iOS:

2. Acepte las licencias para las dependencias transitivas de Android si es necesario:

3. Configure su proyecto en la Consola de Firebase.

4. Agregue google-services.json a la raíz del directorio de su plataforma Android. Establezca la acción de compilación GoogleServicesJson para este archivo:

5. Agregue las siguientes líneas antes de declarar el espacio de nombres en su MainActivity.cs (XXXXX-XXXXX aquí es su ID de Aplicación de Pushwoosh):

[assembly: MetaData("com.pushwoosh.appid", Value = "XXXXX-XXXXX")]
[assembly: MetaData("com.pushwoosh.senderid", Value = "@string/fcm_sender_id")]

6. En su MainActivity.cs, anule el método OnCreate() y llame a PushManager.Init(); después de base.OnCreate(savedInstanceState);

using Pushwoosh.Android;
...
public class MainActivity : MauiAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
PushManager.Init();
}
}

7. En su proyecto de Android, busque el archivo Resources/values/strings.xml o créelo. Agregue su cadena de ID de remitente allí:

<string name="fcm_sender_id">YOUR_SENDER_ID</string>

8. En su AndroidManifest.xml, agregue lo siguiente:

<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_TYPE_API_TOKEN" />

Importante: Asegúrese de que el token de API del dispositivo tenga acceso a la aplicación correcta en su Panel de Control de Pushwoosh. Aprenda más

9. Realice los siguientes cambios en el AppDelegate.cs de su proyecto de iOS:

Al principio del método FinishedLaunching, ponga la siguiente línea:
PushManager.Init();

Agregue estos métodos al AppDelegate (la clase MauiUIApplicationDelegate no exporta estos métodos por defecto, por lo que debe hacerlo 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. En el Info.plist, cambie el valor de Pushwoosh_APPID por su Código de Aplicación de Pushwoosh. Puede encontrarlo en su Panel de Control:\

11. En Info.plist, establezca:

Importante: Asegúrese de dar al token acceso a la aplicación correcta en su Panel de Control de Pushwoosh. Aprenda más

12. En la parte multiplataforma de App.xaml.cs, agregue el registro al método onStart:

using PushwooshSDK.DotNet.Core;
...
public partial class App : Application
{
...
protected override void OnStart()
{
base.OnStart();
PushManager.Instance.Register();
}
}

Nota para usuarios de Windows: Al compilar, puede encontrar un problema relacionado con la longitud de la ruta del archivo. Esto se debe a que la longitud combinada de los directorios utilizados por Visual Studio y las rutas de archivo dentro del SDK de Pushwoosh excede la limitación de longitud máxima de ruta de Windows de 260 caracteres. Para resolver este problema, habilite la configuración LongPathsEnabled en el Registro de Windows.

Comparta sus comentarios con nosotros

Anchor link to

Sus comentarios nos ayudan a crear una mejor experiencia, por lo que nos encantaría saber de usted si tiene algún problema durante el proceso de integración del SDK. Si enfrenta alguna dificultad, no dude en compartir sus pensamientos con nosotros a través de este formulario.