Place la référence de l'API Monitor

Enregistrer l'extension du moniteur de lieux

Enregistre l'extension Places Monitor dans le Core Événement Hub.

RegisterExtension (Android)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

Voici la syntaxe de Java :

public static void registerExtension();

Exemple

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
       }
    }
 }

RegisterExtension (iOS)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

Voici la syntaxe de Objective-C :

+ (void) registerExtension;

Exemple

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;
}

Version de l’extension

Renvoie la version actuelle de l’extension Places Monitor

ExtensionVersion (Android)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

public static String extensionVersion();

Exemple

String placesMonitorVersion = PlacesMonitor.extensionVersion();

ExtensionVersion (iOS)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

+ (nonnull NSString*) extensionVersion;

Exemple

NSString *placesMonitorVersion = [ACPPlacesMonitor extensionVersion];

Surveillance des dispositifs de début

Commencez à suivre l'emplacement du périphérique et à surveiller les emplacements voisins.

Début (Android)

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 :

Syntaxe

public static void start();

Exemple

PlacesMonitor.start();

Début (iOS)

IMPORTANT

Pour commencer la surveillance, le service de localisation doit avoir l’autorisation nécessaire :

  • Si l'autorisation du service Places n'a pas été fournie à l'application, le premier appel à l'API start demande l'autorisation d'utiliser le service Places tel que configuré pour l'application.
  • Selon les capacités de votre périphérique, si l'autorisation a été fournie, le moniteur des lieux effectue le suivi de l'emplacement de l'utilisateur en fonction de l'emplacement actuellement défini ACPPlacesMonitorMode. Par défaut, le moniteur utilise ACPPlacesMonitorModeSignificantChanges.
ATTENTION

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 :

Syntaxe

+ (void) start;

Exemple

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êt de la surveillance du périphérique

Arrête le suivi de l'emplacement du périphérique.

Arrêt (Android)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

public static void stop();

Exemple

PlacesMonitor.stop();

Arrêt (iOS)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

+ (void) stop;

Exemple

[ACPPlacesMonitor stop];

Emplacement de mise à jour

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.

UpdateLocation (Android)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

public static void updateLocation();

Exemple

PlacesMonitor.updateLocation();

UpdateLocationNow (iOS)

Syntaxe

+ (void) updateLocationNow;

Exemple

[ACPPlacesMonitor updateLocationNow];

Autorisation d’emplacement de l’application

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.

SetLocationPermission (Android)

Cette API définit le type de demande d'autorisation d'emplacement pour laquelle l'utilisateur est invité à sélectionner.

CONSEIL

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.

    CONSEIL

    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.

    CONSEIL

    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.

IMPORTANT

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 :

Syntaxe

public static void setLocationPermission(final PlacesMonitorLocationPermission placesMonitorLocationPermission)

Exemple

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);

SetRequestAuthorizationLevel (iOS)

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.

IMPORTANT

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 :

Syntaxe

+ (void) setRequestAuthorizationLevel: (ACPPlacesRequestAuthorizationLevel) requestAuthorizationLevel;

Exemple

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];

Mode de surveillance (iOS uniquement)

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

SetPlacesMonitorMode (iOS)

Voici la syntaxe et l’exemple de code de cette API :

Syntaxe

+ (void) setPlacesMonitorMode: (ACPPlacesMonitorMode) monitorMode;

Exemple

[ACPPlacesMonitor setPlacesMonitorMode:ACPPlacesMonitorModeSignificantChanges];

Sur cette page