Zum Inhalt springen

Benutzerdefinierte iOS Vordergrund-Push-Benachrichtigung

Ab Version 6.10.0 können Sie das PushwooshForegroundPush-Modul integrieren, um Vordergrund-Push-Benachrichtigungen anzupassen, wenn native iOS-Systemwarnungen deaktiviert sind.

1. Native Vordergrund-Push-Warnungen deaktivieren

Anchor link to

Fügen Sie Pushwoosh_SHOW_ALERT = false zu Ihrer Info.plist hinzu.

<key>Pushwoosh_SHOW_ALERT</key>
<false/>

2. Integrieren des PushwooshForegroundPush-Moduls

Anchor link to

Swift Package Manager

Cocoapods

Terminal window
# Uncomment the next line to define a global platform for your project
# platform :ios, '13.0'
target 'MyApp' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshFramework/PushwooshForegroundPush'
end

3. PushwooshForegroundPush-Konfiguration in AppDelegate hinzufügen

Anchor link to
import UIKit
import PushwooshFramework
import PushwooshForegroundPush
@main
class AppDelegate: UIResponder, UIApplicationDelegate, PWMessagingDelegate, PWForegroundPushDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Pushwoosh.ForegroundPush.foregroundNotificationWith(style: .style1,
duration: 5,
vibration: .notification,
disappearedPushAnimation: .balls)
Pushwoosh.ForegroundPush.delegate = self
return true
}
func pushwoosh(_ pushwoosh: Pushwoosh, onMessageReceived message: PWMessage) {
if let payload = message.payload {
// Pushwoosh method
Pushwoosh.ForegroundPush.showForegroundPush(userInfo: payload)
}
}
}

Verwenden der foregroundNotificationWith-Methode

Die foregroundNotificationWith-Methode ermöglicht es Ihnen, eine benutzerdefinierte Vordergrund-Push-Benachrichtigung mit konfigurierbarem Stil, Dauer und haptischem Feedback anzuzeigen.

Methodensignatur (Swift / Objective-C):

@objc
static func foregroundNotificationWith(
style: PWForegroundPushStyle,
duration: Int,
vibration: PWForegroundPushHapticFeedback,
disappearedPushAnimation: PWForegroundPushDisappearedAnimation
)

Parameter:

  1. style (PWForegroundPushStyle)
  • Derzeit ist nur style1 verfügbar.
  1. duration (Int)
  • Gibt an, wie lange die Benachrichtigung angezeigt wird, bevor sie verschwindet (in Sekunden).
  1. vibration (PWForegroundPushHapticFeedback)
  • Steuert das haptische Feedback, wenn die Benachrichtigung angezeigt wird. Verfügbare Optionen:
case none // Keine Vibration
case light // Leichte Vibration
case medium // Mittlere Vibration
case heavy // Starke Vibration
case soft // Weiche Vibration
case rigid // Harte Vibration
case notification // Standard-Benachrichtigungsvibration
  1. disappearedPushAnimation (PWForegroundPushDisappearedAnimation)
  • Animation für das Verschwinden des Push
case balls = 0
case regularPush

4. Implementieren der didTapForegroundPush-Delegate-Methode

Anchor link to

Um das Tippen von Benutzern auf benutzerdefinierte Vordergrund-Push-Benachrichtigungen zu behandeln, implementieren Sie die Protokollmethode PWForegroundPushDelegate:

// Handle tap on foreground push
func didTapForegroundPush(_ userInfo: [AnyHashable : Any]) {
print("Foreground custom push: \(userInfo)")
// Perform any action, e.g., navigate to a specific screen
// navigateToScreen(for: userInfo)
}

Hinweise:

  • Diese Methode wird aufgerufen, wenn der Benutzer auf einen benutzerdefinierten Vordergrund-Push tippt.
  • userInfo enthält die Nutzdaten der Benachrichtigung.
  • Stellen Sie sicher, dass Sie Pushwoosh.ForegroundPush.delegate = self nach der Konfiguration setzen.

5. Optionale Parameter zur Anpassung von Vordergrund-Push-Benachrichtigungen

Anchor link to

Das PushwooshForegroundPush-Modul bietet mehrere optionale Parameter, um das Erscheinungsbild und das Verhalten Ihrer Vordergrund-Push-Benachrichtigungen anzupassen. Diese können global über statische Eigenschaften festgelegt werden.

EigenschaftTypBeschreibungStandard
useLiquidViewBoolVerwendet die Liquid-Glass-Ansicht auf iOS 26.false
gradientColors[UIColor]?Optionales Array von Farben für einen Verlaufs-Hintergrund.nil
backgroundColorUIColor?Hintergrundfarbe für den Push. Wenn nil und gradientColors nicht gesetzt sind, wird der Standardverlauf verwendet.Standard-Systemverlauf
usePushAnimationBoolOb der Push beim Anzeigen animiert werden soll.true
titlePushColorUIColor?Farbe des Benachrichtigungstiteltextes. Standardmäßig Systemweiß, wenn nil.white
messagePushColorUIColor?Farbe des Benachrichtigungsnachrichtentextes. Standardmäßig Systemweiß, wenn nil.white
titlePushFontUIFont?Schriftart des Benachrichtigungstiteltextes. Standardmäßig Systemschrift, wenn nil.Standard-Systemschriftart
messagePushFontUIFont?Schriftart des Benachrichtigungsnachrichtentextes. Standardmäßig Systemschrift, wenn nil.Standard-Systemschriftart

Zusammenfassung:

  • Swift 5.13+ + iOS 26 → Liquid Glass
  • Swift 5.13+ + iOS < 26 → Standard UIView
  • Swift < 5.13 → Immer unscharfe Ansicht (keine Liquid-Glass-Unterstützung)

Anwendungsbeispiel:

Pushwoosh.ForegroundPush.useLiquidView = true
Pushwoosh.ForegroundPush.gradientColors = [.red, .orange, .yellow]
Pushwoosh.ForegroundPush.titlePushColor = .red
Pushwoosh.ForegroundPush.messagePushColor = .green
Pushwoosh.ForegroundPush.backgroundColor = .black
Pushwoosh.ForegroundPush.titlePushFont = .boldSystemFont(ofSize: 22)
Pushwoosh.ForegroundPush.messagePushFont = .italicSystemFont(ofSize: 15)
Pushwoosh.ForegroundPush.usePushAnimation = false

6. Beispiel für einen Vordergrund-Push

Anchor link to

Dieses Beispiel zeigt, wie eine benutzerdefinierte Vordergrund-Push-Benachrichtigung mit Titel, Nachricht, Karten und GIF-Animation angezeigt wird.

Pushwoosh Vordergrund-Push mit animierter Liquid-Glass-Ansicht
Pushwoosh Vordergrund-Push mit GIF-Anhang
Pushwoosh Vordergrund-Push mit Kartenbild
Pushwoosh Vordergrund-Push mit benutzerdefiniertem Verlauf und benutzerdefinierten Titel- und Nachrichtenfarben
Pushwoosh Vordergrund-Push mit benutzerdefiniertem Hintergrund, Titel- und Nachrichtenschriftarten und ohne Animation

Das ist alles. Sie haben erfolgreich benutzerdefinierte Vordergrund-Push-Benachrichtigungen in iOS mit Pushwoosh konfiguriert.