Passer au contenu

MAUI Dotnet

Intégration du SDK

Anchor link to

1. Ajoutez le paquet Nuget Pushwoosh.DotNet aux projets Android et iOS :

2. Acceptez les licences pour les dépendances transitives Android si nécessaire :

3. Configurez votre projet dans la Console Firebase.

4. Ajoutez google-services.json à la racine du répertoire de votre plateforme Android. Définissez l’action de build GoogleServicesJson pour ce fichier :

5. Ajoutez les lignes suivantes avant de déclarer l’espace de noms dans votre fichier MainActivity.cs (XXXXX-XXXXX est ici votre ID d’Application Pushwoosh) :

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

6. Dans votre MainActivity.cs, surchargez la méthode OnCreate() et appelez PushManager.Init(); après base.OnCreate(savedInstanceState);

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

7. Dans votre projet Android, trouvez le fichier Resources/values/strings.xml ou créez-le. Ajoutez-y votre chaîne d’ID d’expéditeur :

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

8. Dans votre AndroidManifest.xml, ajoutez ce qui suit :

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

Important : Assurez-vous que le jeton d’API de l’appareil a accès à la bonne application dans votre Panneau de Contrôle Pushwoosh. En savoir plus

9. Apportez les modifications suivantes dans le fichier AppDelegate.cs de votre projet iOS :

Au début de la méthode FinishedLaunching, insérez la ligne suivante :
PushManager.Init();

Ajoutez ces méthodes à AppDelegate (la classe MauiUIApplicationDelegate n’exporte pas ces méthodes par défaut, vous devez donc le faire manuellement) :

[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. Dans Info.plist, remplacez la valeur Pushwoosh_APPID par votre Code d’Application Pushwoosh. Vous pouvez le trouver dans votre Panneau de Contrôle :

11. Dans Info.plist, définissez :

Important : Assurez-vous de donner au jeton l’accès à la bonne application dans votre Panneau de Contrôle Pushwoosh. En savoir plus

12. Dans la partie multiplateforme de App.xaml.cs, ajoutez l’enregistrement à la méthode onStart :

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

Note pour les utilisateurs de Windows : Lors de la compilation, vous pouvez rencontrer un problème lié à la longueur du chemin du fichier. Cela est dû au fait que la longueur combinée des répertoires utilisés par Visual Studio et des chemins de fichiers dans le SDK Pushwoosh dépasse la limitation de longueur de chemin maximale de Windows de 260 caractères. Pour résoudre ce problème, activez le paramètre LongPathsEnabled dans le Registre Windows.

Partagez vos commentaires avec nous

Anchor link to

Vos retours nous aident à créer une meilleure expérience, nous aimerions donc beaucoup savoir si vous rencontrez des problèmes lors du processus d’intégration du SDK. Si vous rencontrez des difficultés, n’hésitez pas à nous faire part de vos réflexions via ce formulaire.