Rudderstack - Destino Singular (Modo Dispositivo)

Documento

O RudderStack é uma plataforma de dados de clientes (CDP) de código aberto que permite às empresas recolher, unificar e encaminhar dados de clientes para vários destinos. Fornece uma plataforma centralizada para a gestão de pipelines de dados de clientes, permitindo às organizações recolher facilmente dados de várias fontes, tais como websites, aplicações móveis, servidores e serviços na nuvem.

O Singular SDK está disponível como um plug-in para Rudderstack, referido como um destino "Device-Mode". As instruções abaixo ilustram como adicionar o Destino Singular no Rudderstack.

Esteja ciente de que essa integração é criada e mantida pelo Rudderstack. Consulte o Rudderstack se ocorrerem problemas durante a implementação.

Guia para Equipas de engenharia
Pré-requisitos Este artigo pressupõe que você já tenha o SDK do Rudderstack para iOS, Android, React Native ou Cordova integrado ao seu aplicativo. Consulte a documentação do Rudderstack para obter mais detalhes sobre o modo de dispositivo e os SDKs móveis.

Para usar essa integração, você deve estar usando o SDK móvel do Rudderstack para: iOS (Native Obj-C ou Swift), Android (Java ou Kotlin), React Native ou Cordova. Esta integração NÃO é compatível com qualquer outra estrutura!

O que é suportado
  1. Atribuição de instalação básica
  2. Suporte para SkAdNetwork
  3. Atribuição de anúncios de pesquisa da Apple
  4. Rastreamento de eventos personalizados no aplicativo
  5. Rastreamento de receita
  6. ID de utilizador personalizado
O que não é suportado
  1. Atribuição de referenciador da instalação META
  2. Ligação profunda
  3. Suporte limitado de partilha de dados

Se necessitar de suporte para outras Frameworks ou quiser "Funcionalidade completa" oferecida pelo Singular SDK, deve implementar o Singular SDK independentemente do Rudderstack. Veja as opções de SDK e Frameworks AQUI.

Como começar

  1. A partir do seu painel RudderStack, adicione a fonte. Em seguida, na lista de destinos, selecione Singular.
  2. Atribua um nome ao seu destino e clique em Continuar.

Definições de ligação

Para configurar com êxito o Singular como um destino, é necessário configurar as seguintes definições:



  • Chave de API: Introduza aqui a sua "Chave SDK" do Singular. Este é um campo obrigatório.
  • Segredo: Introduza o seu segredo Singular. Este é um campo obrigatório e é necessário para integrações de modo de dispositivo com os SDKs iOS e Android do RudderStack.

    Obtenha sua "SDK KEY" Singular, encontrada no Painel Singular em "Ferramentas de Desenvolvedor > Integração SDK > SDK Keys".


    Nota: Para a integração "Cloud-Mode", irá introduzir o valor da API Key (SDK Key).
    Deixe o "Segredo" em branco.

  • Nome do evento da sessão: Esta definição só é aplicável ao envio de eventos através do modo de nuvem.
  • Utilizar o modo de dispositivo para enviar eventos: Ao utilizar as plataformas Android ou iOS, pode ativar esta definição para enviar eventos através do modo de dispositivo. Em seguida, siga o guia Modo de dispositivo Singular para obter etapas sobre como adicionar o Singular ao seu projeto.

    Ao enviar eventos através do modo de dispositivo, o RudderStack também lhe permite especificar quais os eventos que devem ser descartados ou autorizados a fluir. Para obter mais informações, consulte o guia Filtragem de eventos do lado do cliente.

Adicionando integração do modo de dispositivo

Depois de configurar o Singular como um destino no RudderStack, siga estas etapas para adicioná-lo ao seu projeto, dependendo da sua plataforma de integração.

iOS iOS v2 Android React Native Cordova

Para adicionar o Singular ao seu aplicativo iOS, siga estas etapas:

  1. No seu Podfile, adicione as seguintes dependências:

    ruby

    pod 'Singular-SDK', '11.0.4'
    pod 'Rudder-Singular', '1.0.0'
  2. Depois de adicionar as dependências seguidas do comando pod install, adicione as seguintes importações ao seu ficheiro AppDelegate.m:

    Obj-C

    //Objective-C
    #import <rudder> #import <ruddersingularfactory.h>
  3. Inicialize o seu RSClient:

    Obj-C

    //Objective-C
    RSConfigBuilder *configBuilder = [[RSConfigBuilder alloc] init]; [configBuilder withDataPlaneUrl:<data_plane_url>]; [configBuilder withFactory:[RudderSingularFactory instance]]; RSClient *rudderClient = [RSClient getInstance:<write_key> config:[configBuilder build]];

Identificar

Para integrações de modo de dispositivo, o SDK Singular usa o método de identificação do RudderStack para mapear a ID do usuário para sua ID de usuário personalizada. O RudderStack usa a API setCustomUserId do Singular para encaminhar o ID de usuário identificado para o Singular.

Um exemplo de chamada de identificação para os SDKs Android e iOS é mostrado abaixo:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] identify:@"1hKOmRA4el9Zt1WSfVJIVo4GRlm"];

Rastrear

A chamada track permite capturar quaisquer ações do usuário e as propriedades associadas a elas. Cada ação do utilizador é considerada um evento.

Acompanhamento de eventos personalizados

Uma chamada de rastreamento personalizada permite rastrear eventos personalizados à medida que eles ocorrem em seus aplicativos. O RudderStack envia essas chamadas para o Singular, onde elas são processadas como eventos personalizados pós-instalação e são disponibilizadas nos relatórios relevantes.

Um exemplo de chamada de rastreamento personalizado para os SDKs Android e iOS é mostrado abaixo:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Product Reviewed" properties:@{
        @"product_id" : @"345676543",
        @"review_id" : @"123454387"
    }];

Rastreamento de receita

O Singular suporta o rastreamento de eventos de receita. Ele implementa o rastreamento de receita sempre que um evento contendo a propriedade receita é enviado (incluindo um valor zero). Opcionalmente, também é possível passar o campo de moeda como um código ISO.

A moeda padrão é definida como USD.

Um exemplo de chamada de rastreio de receitas é apresentado abaixo:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Order Completed" properties:@{
        @"revenue" : @1251,
        @"currency" : @"INR"
    }];

Ecrã

O método screen permite-lhe registar sempre que um utilizador vê o ecrã do telemóvel, juntamente com quaisquer propriedades opcionais associadas. Esta chamada é semelhante à chamada de página para as aplicações Web, mas exclusiva para o seu dispositivo móvel.

Segue-se um exemplo de chamada de ecrã para os SDK Android e iOS:

iOS (Obj-C) Android (Kotlin)
[[RSClient sharedInstance] screen:@"Home" properties:@{
    @"category" : @"launcher"
}];

No excerto acima, o RudderStack captura todas as informações relacionadas com o ecrã visualizado, juntamente com quaisquer informações adicionais sobre o ecrã.

O RudderStack envia o evento de ecrã para o Singular como um evento personalizado.

Reiniciar

O método reset redefine a identidade do utilizador atual e cria uma nova sessão anónima. Deve ser chamado quando um utilizador termina a sessão.

RudderStack chama o método unsetCustomUserId do Singular para redefinir a identidade de um usuário.

Um exemplo de chamada de redefinição para os SDKs Android e iOS é mostrado abaixo:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] reset];

Implementação do suporte SKAdNetwork (SKAN)

Adicione o código a seguir antes da inicialização do SDK do iOS para dar o controle ao Singular para sua integração com a SKAdNetwork:

Importante:

  • Definir manualSkanConversionManagement = true exigirá que você atualize manualmente seus próprios valores de conversão. Isso NÃO permitirá que o modelo SKAN da Singular atualize os valores de CV em seu nome. Defina esta opção como "false" para ativar o modo "gerido".
  • A configuração de waitForTrackingAuthorizationWithTimeoutInterval só deve ser usada se seu aplicativo usar o prompt iOS App Tracking Transparency (ATT). Se estiver a apresentar ATT, deve ser definido para um valor de 300.

Obj-C

[RudderSingularIntegration setSKANOptions:YES
        isManualSkanConversionManagementMode:NO
withWaitForTrackingAuthorizationWithTimeoutInterval:@300
        withConversionValueUpdatedHandler:^(NSInteger conversionValue){
    // Receive a callback whenever the Conversion Value is updated
    NSLog(@"SKAN handler %ld",conversionValue);
}];