O Segment é uma plataforma de infraestrutura de dados de clientes (CDI) que ajuda as empresas a recolher, limpar e encaminhar os dados dos seus clientes para vários destinos. Semelhante ao mParticle, o Segment fornece uma única API para recolher dados de várias fontes, incluindo sites, aplicações móveis, servidores e serviços na nuvem.
O SDK Singular oferece muitas funcionalidades que não estão disponíveis através das opções de integração padrão "Device-Mode" ou "Cloud-Mode".
A integração por meio de uma metodologia híbrida é recomendada ao usar o Segment com o Singular para aproveitar todos os recursos e funcionalidades do Singular.
A abordagem híbrida consiste em:
- Implementar o SDK da Singular independentemente do Segment, permitindo que o SDK da Singular lide com o rastreamento de sessão, suporte adicional para estruturas de SDK (React Native, Unity, etc.), SkAdNetwork, deep link e deferred deep links e recursos avançados.
- Ativação da opção "Cloud-Mode" no Segment para um destino único. Isso permite que todos os eventos de rastreamento móvel do Segment sejam enviados para o Destino do Singular.
As instruções abaixo ilustram como configurar uma implementação Singular Hybrid com o Segment.
Guia para | Equipes de engenharia |
Pré-requisitos | Este artigo pressupõe que você já tenha o SDK do Segment Mobile Analytics integrado ao seu aplicativo. |
Para usar essa integração, você deve estar usando os SDKs do Segment Mobile Analytics.
O SDK Singular fornecerá suporte para:
- Atribuição de instalação
- Suporte para SkAdNetwork
- Suporte ao referenciador de instalação do Google
- Suporte ao Referenciador de instalação META
- Atribuição de anúncios de pesquisa da Apple
- Rastreamento de eventos personalizados no aplicativo
- Rastreamento de receita
- ID de utilizador personalizado
- Suporte a propriedades globais
- Opções de privacidade
A integração do Segmento "Modo nuvem" fornecerá suporte para eventos de pós-instalação móvel (eventos da Web não são suportados):
- Rastreamento de eventos personalizados no aplicativo
- Rastreamento de receita
- ID de utilizador personalizado
- Android AppSetId(MAIS)
O Android AppSetId é utilizado pelo SDK da Singular como um identificador de recurso para rastrear a atividade do SDK quando o ID de publicidade do Google não está disponível. Embora esse identificador não seja usado para fins de atribuição, ele desempenha um papel no reconhecimento do dispositivo e na associação de eventos in-app a esse dispositivo.
O Segment não captura o Android AppSetId e, portanto, o Segment não poderá enviar nenhum evento para o Singular "Cloud-Mode" Destination quando o dispositivo do utilizador não tiver o Google Advertising Identifier.Se o Segment enviar um evento para o Singular com um identificador diferente do que o SDK do Singular associou ao mesmo dispositivo, resultará em uma discrepância. Uma atribuição orgânica ao identificador desconhecido do evento S2S e um possível evento de receita mal atribuído.
Por favor, fale com um Engenheiro de Soluções Singular se tiver alguma dúvida sobre este caso extremo.
Configuração híbrida
-
Integrar o SDK da Singular
Implemente o SDK da Singular independentemente do Segment. Veja as opções e estruturas do SDK AQUI.
-
Habilitar o Segment - Singular Destination (Modo Nuvem)
Siga o Guia AQUI.
Configuração adicional recomendada
Ao usar uma Metodologia Híbrida, é recomendável passar o Segment AnonymousId e o Segment User ID para o SDK da Singular.
Tome nota e cuidado especial para implementar esses recursos opcionais da documentação do SDK. As etapas podem variar ligeiramente dependendo da estrutura que você está usando.
Implementar propriedades globais
Passe o Segment AnonymousId para uma Propriedade Global Singular. Isso associará o Segment AnonymousId aos dados de nível de dispositivo do SDK. Fornecer esse valor para o Singular no objeto Singular Config no momento da inicialização do SDK do Singular também permitirá que o Singular envie um postback de instalação para o Segment quando o UserId for desconhecido.
A Singular SÓ pode fornecer as informações de atribuição ao Segment a partir da Instalação do aplicativo usando o valor Segment AnonymousId e/ou Segment UserId. Consulte as Propriedades globais da Singular[iOS][Android] como exemplos de como isso é configurado.
A Propriedade Global deve ser configurada ao inicializar o SDK da Singular com a chave: segment_anonymous_id e o valor do Segment anonymousId recuperado do SDK da Segment. O Segment AnonymousID pode ser obtido a partir do Segment SDK utilizando este método.
Analytics.with(context).getAnalyticsContext().traits().anonymousId()
Exemplo de configuração de SDK singular
func getConfig() -> SingularConfig? {
// (Optional) Get 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
let thirdPartyKey = "segment_anonymous_id"
let thirdPartyValue = SEGAnalytics.shared().getAnonymousId()
// Singular Config Options
guard let config = SingularConfig(apiKey: Constants.APIKEY,
andSecret: Constants.SECRET)
else {
return nil
}
...
// Using Singular Global Properties feature to capture third party identifiers
config.setGlobalProperty(thirdPartyKey,
withValue:thirdPartyValue, overrideExisting: true)
...
return config}
- (SingularConfig *)getConfig {
// Get the 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
NSString* thirdPartyKey = @"segment_anonymous_id";
NSString* thirdPartyValue = [[SEGAnalytics sharedAnalytics] getAnonymousId];
// Singular Config Options
SingularConfig* config = [[SingularConfig alloc]
initWithApiKey:APIKEY andSecret:SECRET];
...
// Using Singular Global Properties feature to capture 3rd-party identifiers
[config setGlobalProperty:thirdPartyKey
withValue:thirdPartyValue overrideExisting:YES];
...
return config;}
// (Optional) Get 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
String thirdPartyKey = new String("segment_anonymous_id");
String thirdPartyValue = new String(Analytics.with(context).getAnalyticsContext().traits().anonymousId());
// Singular Config Options
SingularConfig config = new SingularConfig("SDK KEY", "SDK SECRET")
.withGlobalProperty(thirdPartyKey, thirdPartyValue, true);
Implementar ID de utilizador personalizado
Passe o Segment UserId para o método Singular Custom User ID. Isso associará o Segment UserId aos dados de nível de dispositivo do SDK. Fornecer esse valor ao Singular no objeto Singular Config no momento da inicialização do SDK do Singular também permitirá que o Singular envie o UserId no postback da instalação para o Segment. Leia mais para obter a documentação da estrutura do SDK que você está usando para a integração do Singular. Exemplo de[iOS][Android]
Além disso, o UserID será associado a qualquer evento in-app acionado nativamente pelo SDK do Singular.
Para os eventos "Cloud-Mode" recebidos, a Singular mapeou a ID de usuário personalizada para o valor da ID de usuário do segmento. Certifique-se de seguir as etapas aqui para configurar para: iOS, Android.
Configurar a configuração do parceiro Singular
Você precisará habilitar o Segment na página Configuração do parceiro para passar os dados de instalação de volta para o Segment.
Na Plataforma Singular:
- Navegue até "Atribuição > Configuração de parceiros" e clique no botão "Adicionar parceiro".
- Procurar por Segment
- Selecione a aplicação e o site
- Clique em Salvar
Perguntas frequentes e solução de problemas
O Facebook impõe restrições ao acesso aos dados e aos dados no nível do usuário, o que pode dificultar a transmissão precisa dos dados de atribuição para o Segment.
Quando as instalações são enviadas para o Segment através do evento "Instalar", as restrições do Facebook podem impedir a passagem de dados ao nível do utilizador com precisão. Como resultado, embora essas mesmas instalações possam aparecer atribuídas ao Facebook nos relatórios agregados da Singular, elas podem ser classificadas como "Não atribuídas" no Segment.