Extensão do Places

A extensão Places permite agir com base na localização dos usuários. Essa extensão é a interface para as APIs do Serviço de query do Places. Ao acompanhar eventos que contêm coordenadas GPS e eventos de região de geofence, essa extensão despacha novos eventos que são processados pelo Mecanismo de regras. A extensão Places também recupera e fornece um POI mais próximo para os dados do aplicativo que são recuperados das APIs. As regiões retornadas pelas APIs são armazenadas em cache e persistência, o que permite um processamento offline limitado.

Instalar a extensão do Places no Adobe Experience Platform Launch

  1. No Experience Platform Launch, clique no botão Extensões guia .

  2. No Catálogo localize a guia Places e clique em Instalar.

  3. Selecione as bibliotecas do Places que deseja usar nesta propriedade. Essas são as bibliotecas que estarão acessíveis no seu aplicativo.

  4. Clique em Salvar.

    Ao clicar em Salvar, o SDK do Experience Platform pesquisa os POIs do Places Services nas bibliotecas selecionadas. Os dados de POI não são incluídos no download da biblioteca quando você cria o aplicativo, mas um subconjunto baseado em local de POIs é baixado para o dispositivo do usuário final no tempo de execução e é baseado nas coordenadas GPS do usuário.

  5. Conclua o processo de publicação para atualizar a configuração do SDK.

    Para obter mais informações sobre publicação no Experience Platform Launch, consulte Publicação.

Configurar a extensão do Places

Adicionar a extensão do Places ao aplicativo

Você pode adicionar a extensão do Places aos aplicativos do Android e iOS. As etapas para adicionar Places ao seu aplicativo iOS ou Android podem ser vistas abaixo. As extensões do Places também estão disponíveis para as seguintes plataformas, abaixo. Para adicionar Places ao seu aplicativo ao desenvolver-se com uma dessas plataformas, consulte os links associados:

Plug-in do Cordova Places

Plug-in React Native Places

Plug-in Flutter Places

Plug-in do Xamarin Places

Android

Para adicionar a extensão do Places ao aplicativo usando o Java:

  1. Adicione a extensão do Places ao projeto usando o arquivo gradle do aplicativo.

    implementation 'com.adobe.marketing.mobile:places:1.+'
    implementation 'com.adobe.marketing.mobile:sdk-core:1.+'
    
  2. Importe a extensão Places na atividade principal do aplicativo.

    import com.adobe.marketing.mobile.Places;
    

iOS

Para adicionar a extensão do Places ao seu aplicativo usando Objetive-C ou Swift:

  1. Adicionar os locais e Mobile Core bibliotecas para o seu projeto. Você precisará adicionar os seguintes pods ao seu Podfile:

    pod 'ACPPlaces', '~> 1.0'
    pod 'ACPCore', '~> 2.0'    # minimum Core version for Places is 2.0.3
    

    Como alternativa, se você não estiver usando o Cocoapods, poderá incluir manualmente as bibliotecas do Mobile Core e do Places de nossa página de lançamentos no Github.

  2. Atualize seu Cocoapods:

    pod update
    
  3. Abra o Xcode e, na classe AppDelegate , importe os cabeçalhos Principal e Places:

    Objetive-C

    #import "ACPCore.h"
    #import "ACPPlaces.h"
    

    Swift

    import ACPCore
    import ACPPlaces
    

Registre a extensão do Places com o Mobile Core

Você precisa registrar a extensão do Places com o Mobile Core no Android e no iOS.

Android

No aplicativo OnCreate registrar as extensões do Places:

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

No aplicativo application:didFinishLaunchingWithOptions: registre a extensão do Places com suas outras chamadas de registro do SDK:

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

Modificando o tempo de vida da associação do Places

Os dados de localização podem rapidamente tornar-se obsoletos, especialmente se o dispositivo não estiver recebendo atualizações de localização em segundo plano.

Controle o tempo de vida dos dados de associação do Places no dispositivo, definindo a variável places.membershipttl configuração. O valor transmitido representa o número de segundos em que o estado do Places permanecerá válido para o dispositivo.

Android

Dentro do retorno de chamada de MobileCore.start() atualize a configuração com as alterações necessárias antes de chamar 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

Na primeira linha do retorno de chamada de ACPCore's start: método, chamada updateConfiguration:

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

Chaves de configuração

Para atualizar a configuração do SDK de forma programática no tempo de execução, use as seguintes informações para alterar os valores de configuração da extensão do Places. Para obter mais informações, consulte Referência da API de configuração.

Chave Obrigatório Descrição
places.libraries Sim As bibliotecas de extensão do Places para o aplicativo móvel. Especifica a ID da biblioteca e o nome da biblioteca compatível com o aplicativo móvel.
places.endpoint Sim O ponto de extremidade padrão do Serviço de consulta do Places, usado para obter informações sobre bibliotecas e POIs.
places.membershipttl Não Valor padrão de 3600 (segundos em uma hora). Indica por quanto tempo, em segundos, as informações de associação do Places para o dispositivo permanecerão válidas.

Nesta página