Passer au contenu

App Clips iOS

Les App Clips permettent aux utilisateurs d’accomplir une tâche rapidement sans télécharger votre application complète. Avec Pushwoosh, vous pouvez envoyer des notifications push aux utilisateurs d’App Clips — iOS accorde automatiquement un accès aux notifications de 8 heures lorsque l’App Clip est ouvert.

Ce dont vous avez besoin

Anchor link to
  • SDK Pushwoosh pour iOS 7.0.33+
  • Xcode 15+
  • Une application Pushwoosh distincte pour votre App Clip (ID de bundle différent = application distincte)
  • Un appareil réel pour les tests (les jetons push ne fonctionnent pas sur le simulateur)

1. Créer une application Pushwoosh

Anchor link to

Votre App Clip a un ID de bundle différent (par ex. com.yourapp.Clip), il nécessite donc une application Pushwoosh distincte avec sa propre clé APNs.

  1. Allez dans le Panneau de Contrôle Pushwoosh
  2. Créez une nouvelle application avec l’ID de bundle de l’App Clip
  3. Téléchargez votre clé d’authentification APNs
  4. Copiez le Code d’Application et le Jeton d’API

2. Créer une cible App Clip

Anchor link to
  1. Dans Xcode : File → New → Target → App Clip
  2. Ajoutez la capacité Push Notifications à la cible App Clip

Pour des captures d’écran détaillées sur l’ajout de capacités, consultez le guide d’intégration de base.

3. Ajouter les frameworks Pushwoosh

Anchor link to

Dans les Build Phases → Link Binary With Libraries de la cible App Clip, ajoutez :

  • PushwooshFramework.framework
  • PushwooshCore.framework
  • PushwooshBridge.framework

4. Configurer Info.plist

Anchor link to
<!-- Pushwoosh -->
<key>Pushwoosh_APPID</key>
<string>XXXXX-XXXXX</string>
<key>Pushwoosh_API_TOKEN</key>
<string>YOUR_API_TOKEN</string>
<!-- Push éphémère (autorisation auto. de 8h, sans dialogue) -->
<key>NSAppClip</key>
<dict>
<key>NSAppClipRequestEphemeralUserNotification</key>
<true/>
<key>NSAppClipRequestLocationConfirmation</key>
<false/>
</dict>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>

5. Initialiser le SDK

Anchor link to
import SwiftUI
import PushwooshFramework
class AppClipDelegate: NSObject, UIApplicationDelegate, PWMessagingDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
Pushwoosh.configure.delegate = self
Pushwoosh.configure.registerForPushNotifications()
return true
}
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Pushwoosh.configure.handlePushRegistration(deviceToken)
}
func application(_ application: UIApplication,
didFailToRegisterForRemoteNotificationsWithError error: Error) {
Pushwoosh.configure.handlePushRegistrationFailure(error as NSError)
}
func application(_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable: Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
Pushwoosh.configure.handlePushReceived(userInfo)
completionHandler(.noData)
}
func pushwoosh(_ pushwoosh: Pushwoosh, onMessageOpened message: PWMessage) {
print("Push ouvert : \(message.payload ?? [:])")
}
}
@main
struct YourAppClip: App {
@UIApplicationDelegateAdaptor(AppClipDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

Avec les autorisations éphémères, iOS accorde automatiquement l’accès aux notifications push pour 8 heures. Si vous souhaitez utiliser le mode éphémère sans afficher de dialogue d’autorisation, appelez directement UIApplication.shared.registerForRemoteNotifications() au lieu de Pushwoosh.configure.registerForPushNotifications().

Pour demander une autorisation push permanente (dialogue standard), utilisez Pushwoosh.configure.registerForPushNotifications() comme indiqué ci-dessus.

Autorisations de push éphémères

Anchor link to

Lorsqu’un utilisateur ouvre votre App Clip, iOS accorde l’accès aux notifications push pour 8 heures sans demander. Après 8 heures, l’autorisation expire. L’utilisateur doit rouvrir l’App Clip pour obtenir 8 heures supplémentaires.

Pour obtenir un jeton push pour 8 heures sans afficher de dialogue d’autorisation :

UIApplication.shared.registerForRemoteNotifications()

Pour obtenir un jeton push permanent (affiche le dialogue d’autorisation standard) :

Pushwoosh.configure.registerForPushNotifications()

Limitations

Anchor link to
LimitationDétails
Pas de notifications richesLes App Clips ne peuvent pas inclure de Notification Service Extension — pas d’images, pas de Communication Notifications
Limite de taille15 Mo (iOS 16) / 50 Mo (iOS 17+)
Fenêtre de push de 8 heuresL’autorisation éphémère expire après 8 heures
Pas de traitement en arrière-planLe push silencieux a des fonctionnalités limitées
ID de l’appareilidentifierForVendor renvoie des zéros — le SDK gère cela automatiquement (7.0.33+)

À quoi ça ressemble

Anchor link to
Notification push d'un App Clip sur iPhone

Notification push reçue dans un App Clip avec des autorisations éphémères