Show Menu
ARGOMENTI×

Estensione Luoghi

L’estensione Luoghi consente di agire in base alla posizione degli utenti. Questa estensione è l'interfaccia per le API del servizio Query Places. Ascoltando gli eventi che contengono le coordinate GPS e gli eventi dell'area geografica, questa estensione invia nuovi eventi elaborati dal motore delle regole. L’estensione Luoghi inoltre recupera e fornisce un elenco del POI più vicino per i dati dell’app che recuperano dalle API. Le aree restituite dalle API vengono memorizzate nella cache e nella persistenza, il che consente un'elaborazione offline limitata.

Installare l'estensione Luoghi in Adobe Experience Platform Launch

  1. In Experience Platform Launch, click the Extensions tab.
  2. Nella Catalog scheda, individuare l’ Places estensione e fare clic su Install .
  3. Selezionare le librerie Luoghi da utilizzare in questa proprietà. Queste sono le librerie che saranno accessibili nella tua app.
  4. Fai clic su Save .
    Quando fai clic su Save , l’SDK per Experience Platform cerca nei Servizi Luoghi i punti di interesse nelle librerie selezionate. I dati POI non vengono inclusi nel download della libreria al momento della creazione dell’app, ma un sottoinsieme di POI basato sulla posizione viene scaricato nel dispositivo dell’utente finale in fase di esecuzione e si basa sulle coordinate GPS dell’utente.
  5. Completa il processo di pubblicazione per aggiornare la configurazione dell’SDK.
    Per ulteriori informazioni sulla pubblicazione in Experience Platform Launch, consultate Pubblicazione .

Configure the Places extension

Aggiungere l'estensione Luoghi all'app

Potete aggiungere l'estensione Luoghi alle app Android e iOS. Di seguito sono riportati i passaggi per aggiungere Luoghi all'applicazione iOS o Android. Le estensioni dei luoghi sono disponibili anche per le seguenti piattaforme. Per aggiungere Luoghi all'applicazione durante lo sviluppo con una delle seguenti piattaforme, vedere i collegamenti di accompagnamento:

Android

Per aggiungere l'estensione Luoghi all'app utilizzando Java:
  1. Aggiungi l'estensione Luoghi al progetto utilizzando il file gradle dell'app.
    implementation 'com.adobe.marketing.mobile:places:1.+'
    implementation 'com.adobe.marketing.mobile:sdk-core:1.+'
    
    
  2. Importa l'estensione Luoghi nell'attività principale dell'applicazione.
    import com.adobe.marketing.mobile.Places;
    
    

iOS

Per aggiungere l'estensione Luoghi all'app utilizzando Objective-C o Swift:
  1. Aggiungi al progetto le librerie Luoghi e Mobile Core . Dovrete aggiungere i seguenti contenitori Podfile :
    pod 'ACPPlaces', '~> 1.0'
    pod 'ACPCore', '~> 2.0'    # minimum Core version for Places is 2.0.3
    
    
    In alternativa, se non utilizzate i cococoapodi, potete includere manualmente le librerie Mobile Core e Luoghi dalla pagina delleversioni di Github.
  2. Aggiornate i cocopodi:
    pod update
    
    
  3. Aprite Xcode e, nella classe AppDelegate, importate le intestazioni Core e Places:
    Objective-C
    #import "ACPCore.h"
    #import "ACPPlaces.h"
    
    
    Swift
    import ACPCore
    import ACPPlaces
    
    

Registra l’estensione Luoghi con Mobile Core

Devi registrare l'estensione Luoghi con Mobile Core in Android e iOS.

Android

Nel metodo dell'app OnCreate registrate le estensioni Luoghi:
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());
        }
    }
}

iOS

Nel application:didFinishLaunchingWithOptions: metodo dell’app, registra l’estensione Luoghi con le altre chiamate di registrazione SDK:
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;
}

Modifica Tempo per la pubblicazione dell'iscrizione Luoghi

I dati sulla posizione possono diventare rapidamente obsoleti, soprattutto se il dispositivo non riceve aggiornamenti sulla posizione in background.
Controlla il tempo di permanenza dei dati di appartenenza Luoghi sul dispositivo impostando l'impostazione di places.membershipttl configurazione. Il valore passato rappresenta il numero di secondi per cui lo stato Luoghi rimarrà valido per il dispositivo.

Android

All’interno del callback di MobileCore.start() aggiornare la configurazione con le modifiche necessarie prima di chiamare 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());
        }
    }
}

iOS

Nella prima riga del callback del ACPCore metodo start: , chiama 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;
}

Chiavi di configurazione

Per aggiornare la configurazione SDK a livello di programmazione in fase di esecuzione, usa le informazioni seguenti per modificare i valori di configurazione dell'estensione Places. Per ulteriori informazioni, consultate Riferimento API di configurazione.
Chiave
Obbligatorio
Descrizione
places.libraries
Le librerie delle estensioni Luoghi per l'app mobile. Specifica l'ID libreria e il nome della libreria supportata dall'app mobile.
places.endpoint
L’endpoint predefinito del servizio query Luoghi, utilizzato per ottenere informazioni sulle librerie e sui POI.
places.membershipttl
No
Valore predefinito di 3600 (secondi in un'ora). Indica per quanto tempo, in secondi, le informazioni di appartenenza Luoghi per il dispositivo rimarranno valide.