Zum Inhalt springen

MAUI Dotnet

SDK-Integration

Anchor link to

1. Fügen Sie das NuGet-Paket Pushwoosh.DotNet sowohl zu den Android- als auch zu den iOS-Projekten hinzu:

2. Akzeptieren Sie bei Bedarf die Lizenzen für transitive Android-Abhängigkeiten:

3. Konfigurieren Sie Ihr Projekt in der Firebase Console.

4. Fügen Sie google-services.json zum Stammverzeichnis Ihrer Android-Plattform hinzu. Legen Sie die Build-Aktion GoogleServicesJson für diese Datei fest:

5. Fügen Sie die folgenden Zeilen vor der Namespace-Deklaration in Ihrer MainActivity.cs hinzu (XXXXX-XXXXX ist hier Ihre Pushwoosh-Anwendungs-ID):

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

6. Überschreiben Sie in Ihrer MainActivity.cs die OnCreate()-Methode und rufen Sie PushManager.Init(); nach base.OnCreate(savedInstanceState); auf.

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

7. Suchen Sie in Ihrem Android-Projekt die Datei Resources/values/strings.xml oder erstellen Sie sie. Fügen Sie dort Ihren Sender-ID-String hinzu:

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

8. Fügen Sie in Ihrer AndroidManifest.xml Folgendes hinzu:

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

Wichtig: Stellen Sie sicher, dass der Device API Token Zugriff auf die richtige Anwendung in Ihrem Pushwoosh Control Panel hat. Erfahren Sie mehr

9. Nehmen Sie die folgenden Änderungen in der AppDelegate.cs Ihres iOS-Projekts vor:

Fügen Sie am Anfang der FinishedLaunching-Methode die folgende Zeile ein:
PushManager.Init();

Fügen Sie diese Methoden zum AppDelegate hinzu (die Klasse MauiUIApplicationDelegate exportiert diese Methoden standardmäßig nicht, daher müssen Sie dies manuell tun):

[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. Ändern Sie in der Info.plist den Wert von Pushwoosh_APPID in Ihren Pushwoosh-Anwendungscode. Sie finden ihn in Ihrem Control Panel:\

11. Setzen Sie in der Info.plist:

Wichtig: Stellen Sie sicher, dass Sie dem Token Zugriff auf die richtige App in Ihrem Pushwoosh Control Panel geben. Erfahren Sie mehr

12. Fügen Sie im plattformübergreifenden Teil von App.xaml.cs die Registrierung zur onStart-Methode hinzu:

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

Hinweis für Windows-Benutzer: Beim Erstellen kann ein Problem im Zusammenhang mit der Länge des Dateipfads auftreten. Dies liegt daran, dass die kombinierte Länge der von Visual Studio verwendeten Verzeichnisse und der Dateipfade innerhalb des Pushwoosh SDK die maximale Pfadlängenbeschränkung von Windows von 260 Zeichen überschreitet. Um dieses Problem zu beheben, aktivieren Sie die Einstellung LongPathsEnabled in der Windows-Registrierung.

Teilen Sie uns Ihr Feedback mit

Anchor link to

Ihr Feedback hilft uns, eine bessere Erfahrung zu schaffen. Daher würden wir uns freuen, von Ihnen zu hören, wenn Sie während des SDK-Integrationsprozesses auf Probleme stoßen. Sollten Sie auf Schwierigkeiten stoßen, zögern Sie bitte nicht, uns Ihre Gedanken über dieses Formular mitzuteilen.