Enregistre l'extension Places Monitor dans le Core Événement Hub.
Voici la syntaxe et l’exemple de code de cette API :
Voici la syntaxe de Java :
public static void registerExtension();
Appelez cette méthode dans la méthode onCreate
où vous initialisez le reste du SDK Experience Platform.
public class MobileApp extends Application {
@Override
public void onCreate(){
super.onCreate();
MobileCore.setApplication(this);
try {
PlacesMonitor.registerExtension();
} catch (Exception e) {
//Log the exception
}
}
}
Voici la syntaxe et l’exemple de code de cette API :
Voici la syntaxe de Objective-C :
+ (void) registerExtension;
Cette méthode doit être appelée dans la méthode déléguée didFinishLaunchingWithOptions
de AppDelegate
.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[ACPCore configureWithAppId:@"launch-appID"];
[ACPPlaces registerExtension];
[ACPPlacesMonitor registerExtension];
[ACPCore start:^{
// do other initialization of the SDK
}];
return YES;
}
Renvoie la version actuelle de l’extension Places Monitor
Voici la syntaxe et l’exemple de code de cette API :
public static String extensionVersion();
String placesMonitorVersion = PlacesMonitor.extensionVersion();
Voici la syntaxe et l’exemple de code de cette API :
+ (nonnull NSString*) extensionVersion;
NSString *placesMonitorVersion = [ACPPlacesMonitor extensionVersion];
Commencez à suivre l'emplacement du périphérique et à surveiller les emplacements voisins.
Si l'utilisateur n'a pas accordé l'autorisation d'utiliser l'emplacement du périphérique, le premier appel à l'API start
invite l'utilisateur à l'autoriser.
Voici la syntaxe et l’exemple de code de cette API :
public static void start();
PlacesMonitor.start();
Pour commencer la surveillance, le service de localisation doit avoir l’autorisation nécessaire :
start
demande l'autorisation d'utiliser le service Places tel que configuré pour l'application.ACPPlacesMonitorMode
. Par défaut, le moniteur utilise ACPPlacesMonitorModeSignificantChanges
.Si votre appel à la surveillance des débuts est effectué avant l’initialisation du SDK, il est possible qu’il soit ignoré.
Vous pouvez vous assurer que l’initialisation du SDK est terminée en appelant start
à partir du rappel fourni à ACPCore::start:
.
Voici la syntaxe et l’exemple de code de cette API :
+ (void) start;
Démarrage du moniteur des emplacements lors de l’initialisation du SDK :
[ACPCore start:^{
[ACPPlacesMonitor start];
}];
Démarrage de Places Monitor ultérieurement lors de l’exécution de l’application :
[ACPPlacesMonitor start];
Arrête le suivi de l'emplacement du périphérique.
Voici la syntaxe et l’exemple de code de cette API :
public static void stop();
PlacesMonitor.stop();
Voici la syntaxe et l’exemple de code de cette API :
+ (void) stop;
[ACPPlacesMonitor stop];
Utilisez cette API pour effectuer une mise à jour immédiate de l’emplacement du périphérique. Lorsque vous appelez cette API, le périphérique tente de déterminer l’emplacement avec le niveau de précision que vous avez spécifié. Ce processus actualise également les points d’intérêt voisins qui sont surveillés par l’extension.
Voici la syntaxe et l’exemple de code de cette API :
public static void updateLocation();
PlacesMonitor.updateLocation();
+ (void) updateLocationNow;
[ACPPlacesMonitor updateLocationNow];
Vous pouvez utiliser cette API pour définir le type d’autorisation d’emplacement que l’utilisateur est invité à utiliser et autorisé à utiliser pour le service Places.
Cette API définit le type de demande d'autorisation d'emplacement pour laquelle l'utilisateur est invité à sélectionner.
Cette API n’est efficace que pour les périphériques fonctionnant sous Android 10 et versions ultérieures.
Pour définir l'invite d'autorisation appropriée à afficher à l'utilisateur, appelez cette API avant le PlacesMonitor.start()
. L’appel de cette méthode, tout en surveillant activement, met à niveau le niveau d’autorisation d’emplacement vers la valeur d’autorisation demandée. Si le niveau d'autorisation demandé est déjà fourni ou refusé par l'utilisateur de l'application, ou si vous tentez de réduire l'autorisation de ALWAYS_ALLOW
à WHILE_USING_APP
, cette méthode n'a aucun effet.
L’autorisation d’emplacement peut être définie sur l’une des valeurs suivantes :
PlacesMonitorLocationPermission.WHILE_USING_APP
Cette valeur invite l’utilisateur à accéder à l’emplacement du périphérique uniquement lors de l’utilisation de l’application. Une application est considérée comme étant en cours d’utilisation lorsque l’utilisateur consulte l’application sur l’écran de son appareil, par exemple lorsqu’une activité s’exécute au premier plan.
Assurez-vous que l'autorisation d'utilisateur ACCESS_FINE_LOCATION est définie dans le fichier manifeste de l'application.
PlacesMonitorLocationPermission.ALWAYS_ALLOW
Cette valeur invite l’utilisateur à accéder à l’emplacement du périphérique, même lorsque l’application est en arrière-plan.
Assurez-vous que les autorisations d’utilisateur ACCESS_BACKGROUND_LOCATION et ACCESS_FINE_LOCATION sont définies dans le fichier de manifeste de l’application.
PlacesMonitorLocationPermission.ALWAYS_ALLOW
est la valeur d’autorisation d’emplacement par défaut.
Si l’utilisateur de l’application se voit accorder l’autorisation WHILE_USING_APP
, les géoinfractions ne seront pas enregistrées auprès du système d’exploitation. Par conséquent, l'extension Surveillance des lieux ne déclenchera pas de événements d'entrée/sortie sur les régions qui se trouvent en arrière-plan.
Voici la syntaxe et l’exemple de code de cette API :
public static void setLocationPermission(final PlacesMonitorLocationPermission placesMonitorLocationPermission)
Pour demander l'autorisation WHILE_USING_APP
:
// set the location permission
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.WHILE_USING_APP);
// start monitoring
PlacesMonitor.start()
Pour mettre à niveau vers l'autorisation ALWAYS_ALLOW
:
// upgrade the permission level
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.ALWAYS_ALLOW);
Cette API définit le type de demande d'autorisation d'emplacement pour laquelle l'utilisateur sera invité à répondre.
Pour définir l'invite d'autorisation appropriée à afficher à l'utilisateur, appelez SetRequestAuthorizationLevel
avant d'appeler [ACPPlacesMonitor start]
. Pour définir l'invite d'autorisation appropriée à afficher à l'utilisateur, appelez cette API avant le [ACPPlacesMonitor start]
. L'appel de cette méthode pendant la surveillance active mettra à niveau le niveau d'autorisation de l'emplacement vers la valeur d'autorisation demandée. Si le niveau d'autorisation demandé est déjà fourni ou refusé par l'utilisateur de l'application ou s'il existe une dégradation de l'autorisation de ACPPlacesRequestAuthorizationLevelAlways
à ACPPlacesRequestAuthorizationLevelWhenInUse
, cette méthode n'a aucun effet.
Le niveau d’autorisation peut être défini sur l’une des valeurs suivantes :
ACPPlacesRequestAuthorizationLevelWhenInUse
Demande à l’utilisateur l’autorisation d’utiliser le service Places pendant que l’application est en cours d’utilisation. L’invite utilisateur contient le texte de la clé NSLocationWhenInUseUsageDescription
dans votre fichier Info.plist d’application et la présence de cette clé est requise lors de l’appel de cette méthode. Pour plus d'informations, consultez la documentation Apple sur requestWhenInUseAuthorization.
ACPPlacesRequestMonitorAuthorizationLevelAlways
Utilisez cet énumération pour demander Places Service même si l’application est en arrière-plan. Vous devez disposer des clés NSLocationAlwaysUsageDescription
et NSLocationWhenInUseUsageDescription
dans la liste Info.plist de votre application. Ces clés définissent le texte qui apparaîtra à l’invite de l’utilisateur. Pour plus d’informations, consultez la documentation Apple sur requestAlwaysAuthorization.
ACPPlacesRequestAuthorizationLevelAlways
est la valeur d’autorisation de requête par défaut.
L'application qui a autorisé l'utilisation de l'autorisation ACPPlacesRequestAuthorizationLevelWhenInUse
ne déclenchera pas de événements d'entrée/sortie dans les régions qui se trouvent en arrière-plan.
Voici la syntaxe et l’exemple de code de cette API :
+ (void) setRequestAuthorizationLevel: (ACPPlacesRequestAuthorizationLevel) requestAuthorizationLevel;
Pour demander l'autorisation ACPPlacesRequestAuthorizationLevelWhenInUse
:
// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelWhenInUse];
// start monitoring
[ACPPlacesMonitor start];
Pour mettre à niveau l'autorisation ACPPlacesRequestAuthorizationLevelAlways
:
// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelAlways];
La surveillance peut être définie sur l’une des valeurs suivantes :
ACPPlacesMonitorModeContinuous
L'extension de surveillance reçoit et traite les emplacements plus fréquemment. Cette stratégie de surveillance consomme beaucoup de puissance mais offre une précision accrue. Pour plus d’informations, voir la documentation Apple sur la surveillance continue.
ACPPlacesMonitorModeSignificantChanges
L'extension de surveillance ne reçoit et traite les mises à jour de l'emplacement qu'une fois que le périphérique a déplacé une distance importante de l'emplacement précédemment traité. Cette stratégie de surveillance consomme moins de puissance que la stratégie de surveillance continue. Pour plus d’informations, voir la documentation Apple sur la surveillance importante
Voici la syntaxe et l’exemple de code de cette API :
+ (void) setPlacesMonitorMode: (ACPPlacesMonitorMode) monitorMode;
[ACPPlacesMonitor setPlacesMonitorMode:ACPPlacesMonitorModeSignificantChanges];