AppboyKit (également connu sous le nom de SDK Objective-C) n’est plus pris en charge et a été remplacé par Swift SDK. Il ne recevra plus de nouvelles fonctionnalités, de corrections de bugs, de mises à jour de sécurité ou d’assistance technique - cependant, la messagerie et l’analyse continueront à fonctionner normalement. Pour en savoir plus, consultez Présentation du nouveau SDK Braze Swift.
Fonctions de localisation et de géorepérage
Pour prendre en charge les géorepérages pour iOS :
- Votre intégration doit prendre en charge les notifications push en arrière-plan.
- Les géorepérages Braze doivent être activés via le SDK, soit implicitement en activant la collecte des données de localisation, soit explicitement en activant la collecte des géorepérages. Ils ne sont pas activés par défaut.
Depuis iOS 14, les géorepérages ne fonctionnent pas de manière fiable pour les utilisateurs qui choisissent de donner leur autorisation de localisation approximative.
Étape 1 : Activer les notifications push en arrière-plan
Pour exploiter pleinement notre stratégie de synchronisation par géorepérage, vous devez activer les notifications push en arrière-plan en plus de réaliser l’intégration push standard.
Étape 2 : Activer les géorepérages
Par défaut, les géorepérages sont activés en fonction de l’activation ou non de la collecte automatique des emplacements. Vous pouvez activer les géorepérages à l’aide du fichier Info.plist. Ajoutez le dictionnaire Braze à votre fichier Info.plist. À l’intérieur du dictionnaire Braze, ajoutez la sous-entrée de valeur booléenne EnableGeofences et définissez la valeur sur YES. Notez qu’avant la version v4.0.2 du SDK Braze pour iOS, la clé de dictionnaire Appboy doit être utilisée à la place de Braze.
Vous pouvez également activer les géorepérages au démarrage de l’application à l’aide de la méthode startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions. Dans le dictionnaire appboyOptions, définissez ABKEnableGeofencesKey sur YES. Par exemple :
1
2
3
4
[Appboy startWithApiKey:@"YOUR-API_KEY"
inApplication:application
withLaunchOptions:options
withAppboyOptions:@{ ABKEnableGeofencesKey : @(YES) }];
1
2
3
4
Appboy.start(withApiKey: "YOUR-API-KEY",
in:application,
withLaunchOptions:launchOptions,
withAppboyOptions:[ ABKEnableGeofencesKey : true ])
Étape 3 : Vérifier les notifications push en arrière-plan de Braze
Braze synchronise les géorepérages vers les appareils à l’aide de notifications push en arrière-plan. Suivez l’article de personnalisation iOS pour vous assurer que votre application n’effectue aucune action indésirable lors de la réception des notifications de synchronisation de géorepérage de Braze.
Étape 4 : Ajouter NSLocationAlwaysUsageDescription à votre Info.plist
Ajoutez les clés NSLocationAlwaysUsageDescription et NSLocationAlwaysAndWhenInUseUsageDescription à votre info.plist avec une valeur de type String contenant une description de la raison pour laquelle votre application doit suivre la localisation. Les deux clés sont requises à partir d’iOS 11.
Cette description s’affichera lorsque l’invite de localisation du système demandera l’autorisation. Elle devrait expliquer clairement à vos utilisateurs les avantages du suivi de la localisation.
Étape 5 : Demander l’autorisation de l’utilisateur
La fonctionnalité de géorepérage n’est opérationnelle que lorsque l’autorisation de localisation Always est accordée.
Pour demander l’autorisation de localisation Always, utilisez le code suivant :
1
2
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
[locationManager requestAlwaysAuthorization];
1
2
var locationManager = CLLocationManager()
locationManager.requestAlwaysAuthorization()
Étape 6 : Activer les géorepérages sur le tableau de bord
iOS autorise le stockage de 20 géorepérages au maximum pour une application donnée. L’utilisation des localisations occupera une partie de ces 20 emplacements de géorepérage disponibles. Pour éviter toute perturbation accidentelle ou indésirable d’autres fonctionnalités liées au géorepérage dans votre application, les géorepérages de localisation doivent être activés pour chaque application individuellement sur le tableau de bord.
Pour que les localisations fonctionnent correctement, vous devez également vérifier que votre application n’utilise pas tous les emplacements de géorepérage disponibles.
Activer les géorepérages depuis la page des localisations :

Activer les géorepérages depuis la page des paramètres :

Désactiver les requêtes de géorepérage automatiques
À partir de la version 3.21.3 du SDK iOS, vous pouvez désactiver les demandes automatiques de géorepérage. Pour cela, utilisez le fichier Info.plist. Ajoutez le dictionnaire Braze à votre fichier Info.plist. À l’intérieur du dictionnaire Braze, ajoutez la sous-entrée de valeur booléenne DisableAutomaticGeofenceRequests et définissez la valeur sur YES.
Vous pouvez également désactiver les demandes automatiques de géorepérage au démarrage de l’application via la méthode startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions. Dans le dictionnaire appboyOptions, définissez ABKDisableAutomaticGeofenceRequestsKey sur YES. Par exemple :
1
2
3
4
[Appboy startWithApiKey:@"YOUR-API_KEY"
inApplication:application
withLaunchOptions:options
withAppboyOptions:@{ ABKDisableAutomaticGeofenceRequestsKey : @(YES) }];
1
2
3
4
Appboy.start(withApiKey: "YOUR-API-KEY",
in:application,
withLaunchOptions:launchOptions,
withAppboyOptions:[ ABKDisableAutomaticGeofenceRequestsKey : true ])
Si vous choisissez d’utiliser cette option, vous devrez demander manuellement les géorepérages pour que la fonctionnalité soit opérationnelle.
Demander manuellement des géorepérages
Lorsque le SDK Braze demande au backend les géorepérages à surveiller, il transmet la localisation actuelle de l’utilisateur et reçoit les géorepérages jugés les plus pertinents en fonction de la localisation signalée. Il y a une limite de débit d’une actualisation de géorepérage par session.
Pour contrôler la localisation transmise par le SDK afin de recevoir les géorepérages les plus pertinents, à partir de la version 3.21.3 du SDK iOS, vous pouvez demander manuellement des géorepérages en fournissant la latitude et la longitude d’un emplacement. Il est recommandé de désactiver les demandes automatiques de géorepérage lors de l’utilisation de cette méthode. Pour ce faire, utilisez le code suivant :
1
2
[[Appboy sharedInstance] requestGeofencesWithLongitude:longitude
latitude:latitude];
1
Appboy.sharedInstance()?.requestGeofences(withLongitude: longitude, latitude: latitude)
Modifier cette page sur GitHub