Show Menu
TÓPICOS×

Extensão do Places

A extensão Locais permite que você atue com base na localização dos usuários. Essa extensão é a interface das APIs do Serviço de Consulta de Locais. Ao acompanhar eventos que contêm coordenadas GPS e eventos de região geofence, essa extensão despacha novos eventos processados pelo Mecanismo de regras. A extensão Locais também recupera e fornece uma lista do 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.

Instale a extensão Locais no Adobe Experience Platform Launch

  1. In Experience Platform Launch, click the Extensions tab.
  2. Na Catalog guia, localize a Places extensão e clique em Install .
  3. Selecione as bibliotecas Locais que deseja usar nesta propriedade. Essas são as bibliotecas que estarão acessíveis no seu aplicativo.
  4. Clique em Save .
    Quando você clica Save , o SDK da plataforma da experiência pesquisa POIs nos serviços do local 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 localização de POIs é baixado para o dispositivo do usuário final em 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 a publicação no Experience Platform Launch, consulte Publicação .

Configure the Places extension

Adicionar a extensão de Locais ao aplicativo

Você pode adicionar a extensão Locais aos aplicativos Android e iOS.

Android

Para adicionar a extensão Locais ao seu aplicativo usando Java:
  1. Adicione a extensão Locais ao seu 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 de Locais na atividade principal do seu aplicativo.
    import com.adobe.marketing.mobile.Places;
    
    

iOS

Para adicionar a extensão de Locais ao aplicativo usando Objetive-C ou Swift:
  1. Adicione as bibliotecas Places e Mobile Core ao seu projeto. Você precisará adicionar os seguintes pods ao 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 Cocoapods, poderá incluir manualmente as bibliotecas do Mobile Core e do Places da nossa página de lançamentos no Github.
  2. Atualize seus Cocoapods:
    pod update
    
    
  3. Abra o Xcode e, na classe AppDelegate, importe os cabeçalhos Core e Places:
    Objetive-C
    #import "ACPCore.h"
    #import "ACPPlaces.h"
    
    
    Swift
    import ACPCore
    import ACPPlaces
    
    

Registre a extensão Places com o Mobile Core

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

Android

No OnCreate método do aplicativo, registre as extensões de Locais:
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 application:didFinishLaunchingWithOptions: método do aplicativo, registre a extensão de Locais 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;
}

Modificação do tempo de vida da associação aos Locais

Os dados de localização podem ficar obsoletos rapidamente, 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 Local no dispositivo definindo a configuração places.membershipttl . O valor passado representa o número de segundos em que o estado Locais permanecerá válido para o dispositivo.

Android

Na chamada de retorno 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 do ACPCore método start: , chame 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 em 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. Ela especifica a ID da biblioteca e o nome da biblioteca que o aplicativo móvel suporta.
places.endpoint
Sim
O ponto de extremidade padrão do Serviço de Consulta de Locais, que é 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 Local para o dispositivo permanecerão válidas.