Registriert die Plates Monitor Extension mit dem Core Ereignis Hub.
Die folgende Syntax und der Beispielcode für diese API:
Die Syntax in Java lautet wie folgt:
public static void registerExtension();
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
}
}
}
Die folgende Syntax und der Beispielcode für diese API:
Die Syntax in Objective-C lautet wie folgt:
+ (void) registerExtension;
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;
}
Gibt die aktuelle Version der Erweiterung "Orts Monitor"zurück
Die folgende Syntax und der Beispielcode für diese API:
public static String extensionVersion();
String placesMonitorVersion = PlacesMonitor.extensionVersion();
Die folgende Syntax und der Beispielcode für diese API:
+ (nonnull NSString*) extensionVersion;
NSString *placesMonitorVersion = [ACPPlacesMonitor extensionVersion];
Beginnen Sie mit der Verfolgung der Position des Geräts und der Überwachung nahe gelegener Orte.
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:
public static void start();
PlacesMonitor.start();
Um mit der Überwachung beginnen zu können, muss der Standortdienst über die erforderliche Autorisierung verfügen:
start
die Autorisierung zur Verwendung des Places-Dienstes wie für die Anwendung konfiguriert an.ACPPlacesMonitorMode
. Standardmäßig verwendet der Monitor ACPPlacesMonitorModeSignificantChanges
.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:
+ (void) start;
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];
Stoppt die Verfolgung der Position des Geräts.
Die folgende Syntax und der Beispielcode für diese API:
public static void stop();
PlacesMonitor.stop();
Die folgende Syntax und der Beispielcode für diese API:
+ (void) stop;
[ACPPlacesMonitor stop];
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.
Die folgende Syntax und der Beispielcode für diese API:
public static void updateLocation();
PlacesMonitor.updateLocation();
+ (void) updateLocationNow;
[ACPPlacesMonitor updateLocationNow];
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.
Diese API legt den Typ der Ortsberechtigungsanforderung fest, für die der Benutzer zur Auswahl aufgefordert wird.
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.
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.
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.
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:
public static void setLocationPermission(final PlacesMonitorLocationPermission placesMonitorLocationPermission)
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);
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.
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:
+ (void) setRequestAuthorizationLevel: (ACPPlacesRequestAuthorizationLevel) requestAuthorizationLevel;
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];
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🔗
Die folgende Syntax und der Beispielcode für diese API:
+ (void) setPlacesMonitorMode: (ACPPlacesMonitorMode) monitorMode;
[ACPPlacesMonitor setPlacesMonitorMode:ACPPlacesMonitorModeSignificantChanges];