Mit der Places-Erweiterung können Sie basierend auf dem Standort Ihrer Benutzer handeln. Diese Erweiterung ist die Schnittstelle zu den Places Query Service-APIs. Durch das Überwachen auf Ereignisse, die GPS-Koordinaten und Geofence-Region-Ereignisse enthalten, sendet diese Erweiterung neue Ereignisse, die von der Regel-Engine verarbeitet werden. Die Places-Erweiterung ruft außerdem eine Liste des nächstgelegenen Zielpunkts für die App-Daten ab, die aus den APIs abgerufen werden. Die von den APIs zurückgegebenen Regionen werden im Cache und in der Persistenz gespeichert, was eine eingeschränkte Offline-Verarbeitung ermöglicht.
Klicken Sie in Experience Platform Launch auf die Erweiterungen Registerkarte.
Im Katalog Registerkarte, suchen Sie die Orte und klicken Sie auf Installieren.
Wählen Sie die Places-Bibliotheken aus, die Sie in dieser Eigenschaft verwenden möchten. Dies sind die Bibliotheken, auf die in Ihrer App zugegriffen werden kann.
Klicken Sie auf Speichern.
Wenn Sie auf Speichern, durchsucht das Experience Platform SDK die Places Services in den von Ihnen ausgewählten Bibliotheken nach POIs. Die POI-Daten sind beim Erstellen der App nicht im Download der Bibliothek enthalten, aber eine standortbasierte Untergruppe von POIs wird zur Laufzeit auf das Gerät des Endbenutzers heruntergeladen und basiert auf den GPS-Koordinaten des Benutzers.
Schließen Sie den Veröffentlichungsprozess ab, um die SDK-Konfiguration zu aktualisieren.
Weitere Informationen zur Veröffentlichung in Experience Platform Launch finden Sie unter Veröffentlichung.
Sie können die Places-Erweiterung zu Ihren Android- und iOS-Apps hinzufügen. Die Schritte zum Hinzufügen von Places zu Ihrer iOS- oder Android-Anwendung finden Sie unten. Places-Erweiterungen sind auch für die folgenden Plattformen verfügbar: Informationen zum Hinzufügen von Places zu Ihrer Anwendung bei der Entwicklung mit einer dieser Plattformen finden Sie unter den zugehörigen Links:
So fügen Sie die Places-Erweiterung mithilfe von Java zu Ihrer App hinzu:
Fügen Sie Ihrem Projekt mithilfe der Gradle-Datei Ihrer App die Places-Erweiterung hinzu.
implementation 'com.adobe.marketing.mobile:places:1.+'
implementation 'com.adobe.marketing.mobile:sdk-core:1.+'
Importieren Sie die Erweiterung Places in die Hauptaktivität Ihrer Anwendung.
import com.adobe.marketing.mobile.Places;
So fügen Sie Ihrer App eine Places-Erweiterung mithilfe von Objective-C oder Swift hinzu:
Fügen Sie die Orte hinzu und Mobile Core Bibliotheken in Ihrem Projekt. Sie müssen die folgenden Pods zu Ihrem Podfile
:
pod 'ACPPlaces', '~> 1.0'
pod 'ACPCore', '~> 2.0' # minimum Core version for Places is 2.0.3
Wenn Sie Cocoapods nicht verwenden, können Sie die Mobile Core- und Places-Bibliotheken auch manuell aus unserer Veröffentlichungsseite auf GitHub.
Aktualisieren Sie Ihre Cocoapods:
pod update
Öffnen Sie Xcode und importieren Sie in Ihrer AppDelegate-Klasse die Header Core und Places :
Objective-C
#import "ACPCore.h"
#import "ACPPlaces.h"
Swift
import ACPCore
import ACPPlaces
Sie müssen die Places-Erweiterung bei Mobile Core in Android und iOS registrieren.
In der OnCreate
-Methode die Places-Erweiterungen registrieren:
public class PlacesTestApp extends Application {
@Override
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
try {
Places.registerExtension();
MobileCore.start(null);
} catch (Exception e) {
Log.e("PlacesTestApp", e.getMessage());
}
}
}
In der application:didFinishLaunchingWithOptions:
-Methode, registrieren Sie die Places-Erweiterung mit Ihren anderen SDK-Registrierungs-Aufrufen:
Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// make other sdk registration calls
[ACPPlaces registerExtension];
return YES;
}
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// make other sdk registration calls
ACPPlaces.registerExtension();
return true;
}
Standortdaten können schnell veraltet sein, insbesondere wenn das Gerät keine Hintergrundstandortaktualisierungen erhält.
Steuern Sie die Live-Zeit für Places-Mitgliedschaftsdaten auf dem Gerät, indem Sie die places.membershipttl
Konfigurationseinstellung. Der übergebene Wert stellt die Anzahl der Sekunden dar, in denen der Status Places für das Gerät gültig bleibt.
Innerhalb des Rückrufs von MobileCore.start()
Aktualisieren Sie die Konfiguration mit den erforderlichen Änderungen, bevor Sie lifecycleStart
:
public class PlacesTestApp extends Application {
@Override
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
try {
Places.registerExtension();
MobileCore.start(new AdobeCallback() {
@Override
public void call(Object o) {
// switch to your App ID from Launch
MobileCore.configureWithAppID("my-app-id");
final Map<String, Object> config = new HashMap<>();
config.put("places.membershipttl", 30);
MobileCore.updateConfiguration(config);
MobileCore.lifecycleStart(null);
}
});
} catch (Exception e) {
Log.e("PlacesTestApp", e.getMessage());
}
}
}
In der ersten Zeile im Callback von ACPCore
s start:
Methode, Aufruf updateConfiguration:
Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// make other sdk registration calls
const UIApplicationState appState = application.applicationState;
[ACPCore start:^{
[ACPCore updateConfiguration:@{@"places.membershipttl":@(30)}];
if (appState != UIApplicationStateBackground) {
[ACPCore lifecycleStart:nil];
}
}];
return YES;
}
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// make other sdk registration calls
let appState = application.applicationState;
ACPCore.start {
ACPCore.updateConfiguration(["places.membershipttl" : 30])
if appState != .background {
ACPCore.lifecycleStart(nil)
}
}
return true;
}
Um die SDK-Konfiguration zur Laufzeit programmgesteuert zu aktualisieren, verwenden Sie die folgenden Informationen, um die Konfigurationswerte der Places-Erweiterung zu ändern. Weitere Informationen finden Sie unter Referenz zur Konfigurations-API.
Schlüssel | Erforderlich | Beschreibung |
---|---|---|
places.libraries |
Ja | Die Places-Erweiterungsbibliotheken für die mobile App. Sie gibt die Bibliotheks-ID und den Namen der Bibliothek an, die von der Mobile App unterstützt werden. |
places.endpoint |
Ja | Der standardmäßige Places Query Service-Endpunkt, der zum Abrufen von Informationen zu Bibliotheken und POIs verwendet wird. |
places.membershipttl |
Nein | Standardwert ist 3600 (Sekunden in einer Stunde). Gibt an, wie lange die Places-Mitgliedschaftsinformationen für das Gerät in Sekunden gültig bleiben. |