Platziert Monitor-API-Referenz

Platzierungs-Monitor-Erweiterung registrieren

Registriert die Plates Monitor Extension mit dem Core Ereignis Hub.

RegisterExtension (Android)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

Die Syntax in Java lautet wie folgt:

public static void registerExtension();

Beispiel

Rufen Sie diese Methode in der onCreate-Methode auf, in der Sie den Rest des Experience Platform SDK initialisieren.

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)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

Die Syntax in Objective-C lautet wie folgt:

+ (void) registerExtension;

Beispiel

Diese Methode sollte in der didFinishLaunchingWithOptions-Delegate-Methode von AppDelegate aufgerufen werden.

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

Erweiterungsversion

Gibt die aktuelle Version der Erweiterung "Orts Monitor"zurück

ExtensionVersion (Android)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

public static String extensionVersion();

Beispiel

String placesMonitorVersion = PlacesMonitor.extensionVersion();

ExtensionVersion (iOS)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

+ (nonnull NSString*) extensionVersion;

Beispiel

NSString *placesMonitorVersion = [ACPPlacesMonitor extensionVersion];

Geräteüberwachung des Beginns

Beginnen Sie mit der Verfolgung der Position des Geräts und der Überwachung nahe gelegener Orte.

Beginn (Android)

Wenn der Benutzer die Berechtigung zum Verwenden des Gerätespeicherorts nicht erteilt hat, wird der Benutzer beim ersten Aufruf der start-API zur Eingabe der Berechtigung aufgefordert.

Die folgende Syntax und der Beispielcode für diese API:

Syntax

public static void start();

Beispiel

PlacesMonitor.start();

Beginn (iOS)

WICHTIG

Um mit der Überwachung beginnen zu können, muss der Standortdienst über die erforderliche Autorisierung verfügen:

  • Wenn die Autorisierung für den Places-Dienst nicht für die Anwendung bereitgestellt wurde, fordert der erste Aufruf der API start die Autorisierung zur Verwendung des Places-Dienstes wie für die Anwendung konfiguriert an.
  • Wenn die Autorisierung bereitgestellt wurde, verfolgt der Orts-Monitor abhängig von den Funktionen Ihres Geräts den Standort des Benutzers basierend auf dem derzeit festgelegten ACPPlacesMonitorMode. Standardmäßig verwendet der Monitor ACPPlacesMonitorModeSignificantChanges.
VORSICHT

Wenn Ihr Aufruf zur Beginn-Überwachung erfolgt, bevor die Initialisierung des SDK abgeschlossen ist, wird er möglicherweise ignoriert.

Sie können sicherstellen, dass das SDK die Initialisierung abgeschlossen hat, indem Sie start aus dem Rückruf aufrufen, der ACPCore::start: bereitgestellt wird.

Die folgende Syntax und der Beispielcode für diese API:

Syntax

+ (void) start;

Beispiel

Starten des Orts-Monitors, wenn das SDK initialisiert wird:

[ACPCore start:^{
    [ACPPlacesMonitor start];
}];

Starten des Orts-Monitors zu einem späteren Zeitpunkt in der App-Ausführung:

[ACPPlacesMonitor start];

Geräteüberwachung beenden

Stoppt die Verfolgung der Position des Geräts.

Stopp (Android)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

public static void stop();

Beispiel

PlacesMonitor.stop();

Stopp (iOS)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

+ (void) stop;

Beispiel

[ACPPlacesMonitor stop];

Speicherort aktualisieren

Verwenden Sie diese API für eine sofortige Aktualisierung des Speicherorts des Geräts. Wenn Sie diese API aufrufen, versucht das Gerät, den Ort mit der von Ihnen angegebenen Genauigkeit zu ermitteln. Durch diesen Prozess werden auch die nahe gelegenen POIs aktualisiert, die durch die Erweiterung überwacht werden.

UpdateLocation (Android)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

public static void updateLocation();

Beispiel

PlacesMonitor.updateLocation();

UpdateLocationNow (iOS)

Syntax

+ (void) updateLocationNow;

Beispiel

[ACPPlacesMonitor updateLocationNow];

Berechtigung zum App-Speicherort

Sie können diese API verwenden, um den Typ der Ortsberechtigung festzulegen, für den der Benutzer zur Verwendung für den Orte-Dienst aufgefordert und autorisiert wird.

SetLocationPermission (Android)

Diese API legt den Typ der Ortsberechtigungsanforderung fest, für die der Benutzer zur Auswahl aufgefordert wird.

TIPP

Diese API ist nur für Geräte mit Android 10 und höher wirksam.

Um die entsprechende Autorisierungsaufforderung festzulegen, die dem Benutzer angezeigt werden soll, rufen Sie diese API vor dem PlacesMonitor.start() auf. Beim Aufruf dieser Methode wird bei aktiver Überwachung die Ebene der Standortberechtigungen auf den Wert der angeforderten Berechtigung aktualisiert. Wenn die angeforderte Autorisierungsebene vom Anwendungsbenutzer bereits bereitgestellt oder verweigert wurde oder Sie versuchen, die Berechtigung von ALWAYS_ALLOW auf WHILE_USING_APP herabzustufen, hat diese Methode keine Auswirkungen.

Die Standortberechtigung kann auf einen der folgenden Werte eingestellt werden:

  • PlacesMonitorLocationPermission.WHILE_USING_APP

    Dieser Wert fordert den Benutzer auf, nur während der Verwendung der Anwendung auf den Speicherort des Geräts zuzugreifen. Eine App gilt als verwendet, wenn der Benutzer die App auf seinem Gerätebildschirm ansieht, z. B. wenn eine Aktivität im Vordergrund ausgeführt wird.

    TIPP

    Vergewissern Sie sich, dass die Zugriffsberechtigung für ACCESS_FINE_LOCATION in der Manifestdatei der App festgelegt ist.

  • PlacesMonitorLocationPermission.ALWAYS_ALLOW

    Dieser Wert fordert den Benutzer auf, auf die Geräteposition zuzugreifen, selbst wenn die Anwendung im Hintergrund ausgeführt wird.

    TIPP

    Vergewissern Sie sich, dass die Zugriffsberechtigungen für ACCESS_HINTERGRUND_LOCATION und ACCESS_FINE_LOCATION in der Manifestdatei der App festgelegt sind.

    PlacesMonitorLocationPermission.ALWAYS_ALLOW ist der Standardwert für die Berechtigung für den Speicherort.

WICHTIG

Wenn dem App-Benutzer die Berechtigung WHILE_USING_APP erteilt wurde, werden Geofencing nicht beim Betriebssystem registriert. Daher werden mit der Erweiterung "Orts-Monitor"keine Ereignis zum Ein-/Ausstieg in Regionen Trigger, die im Hintergrund ausgeführt werden.

Die folgende Syntax und der Beispielcode für diese API:

Syntax

public static void setLocationPermission(final PlacesMonitorLocationPermission placesMonitorLocationPermission)

Beispiel

So fordern Sie die Berechtigung WHILE_USING_APP an:

// set the location permission
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.WHILE_USING_APP);
// start monitoring
PlacesMonitor.start()

So aktualisieren Sie auf die Berechtigung ALWAYS_ALLOW:

// upgrade the permission level
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.ALWAYS_ALLOW);

SetRequestAuthorizationLevel (iOS)

Diese API legt den Typ der Ortsautorisierungsanforderung fest, für die der Benutzer aufgefordert wird.

Um die entsprechende Autorisierungsaufforderung festzulegen, die dem Benutzer angezeigt werden soll, rufen Sie SetRequestAuthorizationLevel auf, bevor Sie [ACPPlacesMonitor start] aufrufen. Um die entsprechende Autorisierungsaufforderung festzulegen, die dem Benutzer angezeigt werden soll, rufen Sie diese API vor dem [ACPPlacesMonitor start] auf. Durch Aufruf dieser Methode und gleichzeitiger aktiver Überwachung wird die Standortautorisierungsebene auf den gewünschten Autorisierungswert aktualisiert. Wenn die angeforderte Autorisierungsebene entweder bereits vom Anwendungsbenutzer bereitgestellt oder verweigert wurde oder wenn eine Herabstufung der Berechtigung von ACPPlacesRequestAuthorizationLevelAlways auf ACPPlacesRequestAuthorizationLevelWhenInUse vorhanden ist, hat diese Methode keine Auswirkungen.

Die Autorisierungsebene kann auf einen der folgenden Werte eingestellt werden:

  • ACPPlacesRequestAuthorizationLevelWhenInUse

    Fordert die Berechtigung des Benutzers zur Verwendung des Places-Dienstes an, während die App verwendet wird. Die Benutzeraufforderung enthält den Text aus dem Schlüssel NSLocationWhenInUseUsageDescription in Ihrer App Info.plist-Datei. Das Vorhandensein dieses Schlüssels ist beim Aufruf dieser Methode erforderlich. Weitere Informationen finden Sie in der Dokumentation zu Apple auf requestWhenInUseAuthorization.

  • ACPPlacesRequestMonitorAuthorizationLevelAlways

    Verwenden Sie dieses Enum, um den Places-Dienst anzufordern, selbst wenn sich die App im Hintergrund befindet. Sie müssen die Schlüssel NSLocationAlwaysUsageDescription und NSLocationWhenInUseUsageDescription in der Info.plist Ihrer App haben. Diese Schlüssel definieren den Text, der während der Benutzeraufforderung angezeigt wird. Weitere Informationen finden Sie in der Dokumentation zu Apple auf requestalwaysAuthorization.

ACPPlacesRequestAuthorizationLevelAlways ist der Standardwert für die Autorisierung einer Anforderung.

WICHTIG

Die Anwendung, die die Verwendung der ACPPlacesRequestAuthorizationLevelWhenInUse-Berechtigung autorisiert hat, Trigger keine Ereignis zum Ein-/Ausstieg in Regionen, die im Hintergrund ausgeführt werden.

Die folgende Syntax und der Beispielcode für diese API:

Syntax

+ (void) setRequestAuthorizationLevel: (ACPPlacesRequestAuthorizationLevel) requestAuthorizationLevel;

Beispiel

So fordern Sie die Berechtigung ACPPlacesRequestAuthorizationLevelWhenInUse an:

// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelWhenInUse];
// start monitoring
[ACPPlacesMonitor start];

Aktualisierung auf ACPPlacesRequestAuthorizationLevelAlways-Autorisierung:

// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelAlways];

Überwachungsmodus (nur iOS)

Die Überwachung kann auf einen der folgenden Werte eingestellt werden:

  • ACPPlacesMonitorModeContinuous

    Die Überwachungserweiterung empfängt und verarbeitet Standorte häufiger. Diese Überwachungsstrategie verbraucht viel Energie, bietet aber eine höhere Genauigkeit. Weitere Informationen finden Sie in der Apple-Dokumentation zur kontinuierlichen Überwachung.

  • ACPPlacesMonitorModeSignificantChanges

    Die Überwachungs-Erweiterung empfängt und verarbeitet nur Standortaktualisierungen, nachdem das Gerät eine erhebliche Entfernung vom zuvor verarbeiteten Speicherort entfernt hat. Diese Überwachungsstrategie verbraucht weniger Energie als die kontinuierliche Überwachungsstrategie. Weitere Informationen finden Sie in der Apple-Dokumentation zur signifikanten Überwachung🔗

SetPlacesMonitorMode (iOS)

Die folgende Syntax und der Beispielcode für diese API:

Syntax

+ (void) setPlacesMonitorMode: (ACPPlacesMonitorMode) monitorMode;

Beispiel

[ACPPlacesMonitor setPlacesMonitorMode:ACPPlacesMonitorModeSignificantChanges];

Auf dieser Seite