Developers » AS2 tagging » Apple » Fonctionnalités avancées » Notifications
Notifications
- iOS
- watchOS
- tvOS
Avant-propos
Les notifications push peuvent déclencher deux méthodes du délégué de l’application en fonction du contexte :
Les méthodes du délégué ne seront déclénchées que si l’utilisateur touche le bouton daction / message de la notification et non pas le bouton de fermeture / annulation.
- application:didFinishLaunchingWithOptions :
Cette méthode est appelée si lapplication nest pas encore lancée. Lapplication sera ensuite lancée et la notification sera disponible dans le dictionnaire « launchOptions ». - application:didReceiveRemoteNotification :
Cette méthode est appelée si lapplication est déjà lancée et est en cours dutilisation ou si elle est en arrière-plan.
Le marquage de la notification se fait donc dans le corps de ces méthodes.
Exemples de marquage
- Pour mesurer une notification qui a été reçue quand l’application n’a pas encore été lancée, en considérant que la notification contient une référence à la campagne (dans la clé ‘xto’)
import UIKit import Tracker @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { if let notification = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary { if let campaign = notification["xto"] as? String { ATInternet.sharedInstance.defaultTracker.campaigns.add(campaign) } ATInternet.sharedInstance.defaultTracker.screens.add("PushNotification").sendView() } return true } }
#import "SmartTracker/SmartTracker-Swift.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; if (notification) { [ATInternet.sharedInstance.defaultTracker.campaigns add:[notification objectForKey:@"xto"]]; } [[ATInternet.sharedInstance.defaultTracker.screens add:@"PushNotification"] sendView]; return YES; } @end
- Pour mesurer une notification si l’application est en cours d’utilisation ou en arrière-plan, en considérant que la notification contient une référence à la campagne (dans la clé ‘xto’)
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) { if let notification = userInfo[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary { if let campaign = notification["xto"] as? String { ATInternet.sharedInstance.defaultTracker.campaigns.add(campaign) } ATInternet.sharedInstance.defaultTracker.screens.add("PushNotification").sendView() } }
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { if ([userInfo objectForKey:@"xto"]) { [ATInternet.sharedInstance.defaultTracker.campaigns add:[userInfo objectForKey:@"xto"]]; } [[ATInternet.sharedInstance.defaultTracker.screens add:@"PushNotification"] sendView]; }
Dernière mise à jour : 18/05/2018Une interface est accessible via notre marketplace si vous désirez simplifier le marquage de vos liens sans avoir besoin de connaître la signification de chaque champ. Veuillez noter que l’interface a été créé par notre communauté et peut être améliorée, n’hésitez pas à nous envoyer tous vos retours !