Unreal Engine SDK: Opções avançadas

 

Criação de links curtos de referência

Observação: essa funcionalidade está disponível na versão 2.0.6+ do SDK.

Use links curtos para transformar links singulares longos e cheios de parâmetros em links mais curtos e mais seguros que sejam convenientes para compartilhamento.

Normalmente, você deseja criar links curtos dinamicamente para que os usuários do seu aplicativo possam compartilhá-los com amigos e convidá-los a usar o aplicativo.

Para criar um link curto, você precisa de:

  • Um Singular Link que leve ao download do aplicativo (consulte as Perguntas frequentes sobre Singular Links).
  • Quaisquer parâmetros que você queira adicionar ao link dinamicamente (consulte Parâmetros do link de rastreamento para obter a lista de opções).
  • O nome e o ID do usuário de referência, se você quiser rastrear as novas instalações do aplicativo até o usuário que compartilhou o link.

Para habilitar links curtos, primeiro adicione esse código ao construtor do caractere principal:

if (AUnrealTestAppCharacter::singularDelegates == NULL) {
    AUnrealTestAppCharacter::singularDelegates =
      CreateDefaultSubobject<USingularDelegates>(TEXT("SingularShortLinksHandler"));
      singularDelegates->OnSingularShortLinksResolved.AddDynamic(this, &AUnrealTestAppCharacter::SingularShortLinksResolved);
  }
      
  void AUnrealTestAppCharacter::SingularShortLinksResolved(const FSingularShortLinkParams& linkParams) {
    const FString shortLinkURL = linkParams.SingularShortLinksParams["data"];
    const FString errorMessage = linkParams.SingularShortLinksParams["error"];

/* Adicione sua lógica de compartilhamento aqui. Se houver um erro, adicione lógica para tentar novamente/abortar/modificar os parâmetros passados para a função, com base na causa do erro.*/ }

Em seguida, use o método CreateReferrerShortLink para criar um link curto, como no exemplo abaixo.

  // Adicione parâmetros ao link (se eles ainda não existirem no URL longo do link)
  TMap<FString, FString> params;
  params.Add(TEXT("channel"), TEXT("sms"));
  params.Add(TEXT("anotherparam"), TEXT("paramvalue"));
  
  /* Crie o link curto com base no URL do link singular original com um nome de referência, ID de referência e parâmetros adicionais opcionais*/
  USingularSDKBPLibrary::CreateReferrerShortLink(
      "https://sample.sng.link/B4tbm/v8fp?_dl=https%3A%2F%2Fabc.com",
      "referrer name",
      "referrer ID", 
      params
  );

Rastreamento de desinstalações

Observação: o rastreamento de desinstalação está disponível apenas para clientes Enterprise.

Rastreamento de desinstalação do Android

Para ativar o rastreamento de desinstalação para seu aplicativo Android, primeiro configure o aplicativo na plataforma Singular, conforme detalhado em Configuração do rastreamento de desinstalação e, em seguida, siga as instruções abaixo.

Observação: o Google descontinuou as APIs do GCM em abril de 2018. Use o FCM para rastreamento de desinstalação.

Como ativar o rastreamento de desinstalação usando o Firebase Cloud Messaging (FCM)

1. Faça a integração com o FCM:

Para rastrear desinstalações, você pode usar os serviços da plataforma Firebase Cloud Messaging (FCM). Se ainda não estiver usando o FCM, siga as instruções do Google sobre como configurar um aplicativo cliente do Firebase Cloud Messaging no Android.

Requisitos do FCM(fonte)

Os clientes FCM exigem dispositivos com Android 4.1 ou superior que também tenham o aplicativo Google Play Store instalado ou um emulador com Android 4.1 com APIs do Google. Observe que você não está limitado a implantar seus aplicativos Android por meio da Google Play Store.

Os usuários/dispositivos que não estiverem executando versões compatíveis do Android não estarão disponíveis para o rastreamento de desinstalação da Singular.

2. Atualize o arquivo AndroidManifest.xml:

Atualize seu arquivo AndroidManifest.xml para adicionar o filtro de intenção necessário para seu aplicativo (substitua MyFirebaseMessagingService por sua classe que implementa o Firebase Service):

<service android:name=".java.MyFirebaseMessagingService" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".java.MyFirebaseMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service>

3. Registre e envie o token de dispositivo FCM:

Por fim, defina o token do dispositivo FCM depois que seu SingularConfig for inicializado em OnCreate(), como segue:

Singular.setFCMDeviceToken(String fcmDeviceToken);

Rastreamento de desinstalação do iOS

O rastreamento de desinstalação no iOS é baseado na tecnologia de notificação por push da Apple. Se o seu aplicativo não for compatível com notificações por push, consulte o guia da Apple. Se o seu aplicativo já for compatível com notificações por push, tudo o que você precisa fazer é passar o token do dispositivo retornado do APNS usando o método RegisterDeviceTokenForUninstall, depois que o SDK for inicializado.

Método SetUninstallToken do SingularSDK
Descrição Passa o token de dispositivo retornado do APNS/FCM. Observe que o token do APNS/FCM geralmente é um dado binário na forma nativa, mas você precisa passá-lo como uma cadeia de caracteres.
Assinatura
public static void SetUninstallToken(FString token)
Exemplo de uso
// passe o token como uma string hexadecimal
USingularSDKBPLibrary::SetUninstallToken("ba85ab31a7c7f5c2f012587f29fb0e596d4b67e7b7b2838fa1a8582c1f7dbdee");

Conformidade com as leis de privacidade de dados

A Singular fornece a funcionalidade de proteção da privacidade para ajudá-lo a cooperar com quaisquer parceiros que possam estar em conformidade com as leis de privacidade do consumidor, como GDPR e CCPA(California Consumer Privacy Act). Esses parceiros querem ser notificados se o usuário final consentiu em compartilhar suas informações privadas.

Limite o compartilhamento de dados

Se você tiver implementado uma forma de solicitar o consentimento dos usuários para compartilhar suas informações, use o método limitDataSharing para notificar a Singular sobre a escolha do usuário:

  • Use limitDataSharing:NO para indicar que o usuário consentiu (optou por participar) em compartilhar suas informações.
  • Use limitDataSharing:YES se o usuário não consentiu.

A Singular usa LimitDataSharing em"Postbacks de privacidade do usuário", bem como repassa essas informações a parceiros que as exigem para cumprir os regulamentos relevantes. Consulte"Privacidade do usuário e Limite de compartilhamento de dados" para obter mais informações.

Observação: o uso do método é opcional, mas pode haver informações de atribuição que o parceiro compartilhará com a Singular somente se for especificamente notificado de que o usuário optou por participar.

Método LimitDataSharing do SingularSDK
Assinatura public void LimitDataSharing(bool shouldLimitDataSharing)
Descrição Notifica a Singular sobre o consentimento do usuário (opt-in) para o compartilhamento de dados privados.
Exemplo de uso
// o usuário optou por compartilhar dados
USingularSDKBPLibrary::LimitDataSharing(false);

 

Métodos adicionais para conformidade com o GDPR

O Singular SDK fornece vários métodos para ajudá-lo a cumprir as políticas do GDPR e informar a Singular sobre o consentimento ou não consentimento do usuário para rastreamento.

Método TrackingOptIn do SingularSDK
Descrição Notifica a Singular sobre o consentimento do usuário (opt-in) para rastreamento.
Exemplo de uso
USingularSDKBPLibrary::TrackingOptIn();
Método StopAllTracking do SingularSDK
Descrição Interrompe todas as atividades de rastreamento para este usuário neste aplicativo.
Observação: a chamada desse método desativa efetivamente o SDK, mesmo após a reinicialização do aplicativo (o estado é persistente)! A única maneira de reativar o rastreamento é chamar resumeAllTracking().
Exemplo de uso
USingularSDKBPLibrary::StopAllTracking();
Método ResumeAllTracking do SingularSDK
Descrição Retoma o rastreamento para esse usuário neste aplicativo.
Exemplode uso
USingularSDKBPLibrary::ResumeAllTracking();
Método IsAllTrackingStopped do SingularSDK
Descrição Verifica o status de rastreamento desse usuário neste aplicativo. Retorna true se o rastreamento tiver sido interrompido usando StopAllTracking() e não tiver sido retomado.
Exemplo de uso
USingularSDKBPLibrary::IsAllTrackingStopped();