Introdução ao Vungle SDK v. 6 - Unity

Conteúdo

 

Antes de começar

  • O plugin Vungle Unity para iOS suporta:
    • iOS 8
    • Unity 4 e Unity 5.4.1 ou superior
    • É obrigatório vincular o framework WebKit.framework ao seu projeto aos usar o Vungle SDK. Se estiver desenvolvendo para o IOS 7, você deve definir este framework como 'Optional'. Para isso, clique no projeto em Project Navigator e vá para GeneralLinked Frameworks and Libraries. Selecione WebKit.framework e defina o Status como 'Optional'.

  • O plugin Vungle Unity para Android:
    • requer Java 1.7 para Android
    • suporta tanto o Unity 4 quanto o Unity 5.3.2 e superior

  • O plugin Vungle Unity para Windows:
  • Faça download do nosso aplicativo de exemplo https://github.com/Vungle/Unity-Plugin/tree/sdk6.

 

Etapa 1. Configurar o projeto Unity com o plugin Vungle Unity

Adicione o plugin Vungle Unity ao seu projeto Unity

Com seu projeto aberto em Unity, dê um duplo clique no arquivo VunglePlugin.unitypackage baixado e adicione o plugin Vungle Unity ao seu aplicativo. Quando a janela Importação do pacote Unity abrir, clique em Todos para selecionar tudo antes da importação.

 

Direcione para a plataforma correta em suas definições de compilação

Para evitar erros de compilação durante a próxima etapa, certifique-se de que as Build Settings (cmd + Shift + B) do seu projeto estejam direcionadas para a plataforma iOS ou Android.

Amazon Appstore

O Vungle SDK para Android é compatível com Amazon OS 5.4 e superior. Você pode enviar o Android APK à Amazon Appstore, com a definição adicional da configuração da Unity Amazon Appstore. Consulte as instruções do Unity no seguinte link: https://docs.unity3d.com/Manual/UnityIAPAmazonConfiguration.html.

Google Play Services

Se incluir os Google Play Services no seu projeto, você permite que o Vungle ofereça ao usuário final uma experiência de anúncios mais personalizada, mas isso não é obrigatório. Recomendamos o uso da versão 11.0.1 ou mais recente.

Para incluir os Google Play Services, convém usar o Guia de configuração do Google que se encontra no portal em http://developer.android.com/google/play-services/setup.html#Setup. Em seu aplicativo, verifique se o dispositivo tem uma versão suficientemente atualizada do Google Play Services. O Vungle SDK pode usar a API de localização e anúncios do Google Play Services.

  • android.gms:play-services-location:11.0.1
  • android.gms:play-services-ads:11.0.1
  • Para play-services 7.8.0 e anteriores: mantenha a biblioteca de suporte
  • Para play-services 8.4.0 e superior: a biblioteca de suporte não é obrigatória

Compilamos com sucesso nosso SDK autônomo para compilação com as seguintes versões do Google Play Services: 7.8.0, 8.4.0, 9.8.0, 10.2.4 e 11.0.1.

Depois de adicionar o Google Play Services, adicione as seguintes permissões a AndroidManifest.xml. A Vungle usa essas informações para personalizar a melhor experiência de anúncio para cada usuário:

  • <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 

Adicionando aceleração de hardware (somente Android)

A aceleração de hardware está ativada por padrão se o nível da API de destino estiver definido como 14 ou superior. Essa opção deve estar ativada para que o SDK exiba corretamente os anúncios em Dynamic Template e Flex Native. Certifique-se de que seu projeto não tem essa opção definida como "false".

Exemplo de código:

<application android:hardwareAccelerated="true" ...>

 

Etapa 2. Adicionar código

Nesta apresentação, inicializamos todo o código relacionado com Vungle em um script anexado ao objeto Jogo principal. Você pode chamar o plugin Vungle Unity de quaisquer scripts que você julgue apropriado.

 

Inicialize o SDK

Nota: Um posicionamento padrão é automaticamente criado para cada aplicativo. Você deve fornecer seu ID de referência de posicionamento nesta etapa de inicialização, independentemente se planeja ou não aproveitar a funcionalidade de posicionamentos. Se criar múltiplos posicionamentos, forneça todos os IDs de referência.

Inicialize o SDK assim que o seu aplicativo iniciar de modo a dar ao SDK tempo suficiente para colocar em cache um anúncio para o posicionamento armazenado automaticamente em cache. Para inicializar o SDK, você precisará:

  • todos os IDs do aplicativo para todas as plataformas para as quais você precisa de suporte
  • todos os ID de referência de posicionamento que você deseja usar em seu aplicativo para todas as plataformas (ativos e inativos)

Você pode encontrar estes IDs no painel do Vungle (consulte "Configuração e relatório sobre posicionamentos").

Exemplo de código:

public class VungleScript : MonoBehaviour { string appID = "";
string iosAppID = "ios_app_id";
string androidAppID = "android_app_id";
string windowsAppID = "windows_app_id"; #if UNITY_IPHONE appID = iosAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "ios_placement_id_1", false }, { "ios_placement_id_2", false }, { "ios_placement_id_3", false } }; #elif UNITY_ANDROID appID = androidAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "android_placement_id_1", false }, { "android_placement_id_2", false }, { "android_placement_id_3", false } }; #elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO appID = windowsAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "windows_placement_id_1", false }, { "windows_placement_id_2", false }, { "windows_placement_id_3", false } }; #endif string[] array = new string[placements.Keys.Count]; placements.Keys.CopyTo(array, 0); Vungle.init(appID, array);
}

Uma vez que o SDK é inicializado com sucesso, ele chama o seguinte evento:

public static event Action onInitializeEvent;

Consulte a seção “Tratamento de evento” neste artigo.

Depois que o Vungle SDK é inicializado, ele automaticamente pede um anúncio no posicionamento que você selecionou como Armazenado automaticamente em cache no painel Vungle. Recomendamos que você selecione o posicionamento mais visualizado como sua seleção de armazenado em cache automaticamente.

Assim que o anúncio é armazenado em cache, o evento adPlayableEvent é chamado com o ID de referência de posicionamento correspondente ao seu posicionamento Armazenado automaticamente em cache. (Consulte a seção “Verificar a disponibilidade de anúncio para um posicionamento” deste artigo.)

 

Carregar um anúncio para um posicionamento

Para outros posicionamentos além do posicionamento armazenado automaticamente em cache, chame o método loadAd para carregar um anúncio.

public static void loadAd(string placementID)

Certifique-se de que você esteja usando o placementID vinculado à plataforma correta.

Exemplo de código:

string placementID; #if UNITY_IPHONE placementID = "ios_placement_id"; #elif UNITY_ANDROID placementID = "android_placement_id"; #elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO placementID = "windows_placement_id"; #endif Vungle.loadAd(placementID);

 

Verificar a disponibilidade do anúncio para um posicionamento

Uma vez que o SDK finalize o armazenamento em cache de um anúncio para um posicionamento, o seguinte evento é chamado:

public static event Action<string, bool> adPlayableEvent;

Exemplo de código:

Vungle.adPlayableEvent += (placementID, adPlayable) => { if(placementID == "ios_placement_id") { playButtonPlacement1.enabled = adPlayable; } };

Nota: Para posicionamento armazenado em cache automaticamente, este evento é chamado apenas quando um anúncio se torna disponível. O SDK ficará solicitando um anúncio para o posicionamento armazenado em cache automaticamente. Para todos os outros posicionamentos, este evento de retorno de chamada é também chamado em caso de "Falha de carregamento" (adPlayable retorna false neste caso).

Você também pode verificar a disponibilidade de anúncio para um posicionamento com o seguinte método:

public static bool isAdvertAvailable(string placementID);

Reproduzir um anúncio

Importante: Não reproduza um anúncio até a função adPlayableEvent descrita acima retorne 'true'. Se tentar reproduzir um anúncio antes que a função adPlayableEvent retorne 'true', a experiência do usuário será prejudicados enquanto o anúncio tenta ser carregado. Se estiver implantando no Android, use o valor retornado de isAdvertAvailable() para garantir que o anúncio esteja disponível (visto que o adPlayableEvent não retornará false quando não houver nenhum anúncio disponível).

Quando um anúncio está pronto para um posicionamento, você pode reproduzir o anúncio com o seguinte método:

public static void playAd(string placementID);

Exemplo de código:

Vungle.playAd (placementID);

 

Tratamento de evento

Você pode configurar manipuladores de eventos para os cinco eventos do Vungle SDK desta apresentação de anúncio.

  • O seguinte evento é lançado quando o SDK começa a reproduzir um anúncio de vídeo. Isto é ideal para pausar jogos, efeitos sonoros, animações, etc.
    public static event Action onAdStartedEvent;
  • O seguinte evento é lançado quando o SDK fecha um anúncio. Isso é ideal para recompensar seu usuário e retomar jogos, efeitos sonoros, animações, etc.
    public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;

    O tipo de código AdFinishedEventArgs é composto pelas seguintes propriedades para verificar o resultado da reprodução do anúncio:
    public class AdFinishedEventArgs : EventArgs { //Representa um BOOL independente de se o usuário clicou ou não o botão para baixar. public bool WasCallToActionClicked{ get; set;} //Representa um bool independentemente de o vídeo poder ou não ser considerado uma visualização completa. public bool IsCompletedView{ get; set;} }
  • O seguinte evento é lançado quando o SDK alterou o status de disponibilidade do anúncio. O booliano isAdPlayable denota a nova habilidade de reproduzir um placementID específico.
    public static event Action<string, bool> adPlayableEvent;
    Consulte a seção "Verificar a disponibilidade do anúncio em um posicionamento" deste artigo para obter mais detalhes.

  • O seguinte evento é lançado quando o SDK é inicializado com sucesso.
    public static event Action onInitializeEvent;

Exemplo de código:

void initializeEventHandlers() { Vungle.onAdStartedEvent += (placementID) => { DebugLog ("Ad " + placementID + " is starting! Pause your game animation or sound here."); }; Vungle.onAdFinishedEvent += (placementID, args) => { DebugLog ("Ad finished - placementID " + placementID + ", was call to action clicked:" + args.WasCallToActionClicked + ", is completed view:" + args.IsCompletedView); }; Vungle.adPlayableEvent += (placementID, adPlayable) => { DebugLog ("Ad's playable state has been changed! placementID " + placementID + ". Now: " + adPlayable); }; Vungle.onInitializeEvent += () => { adInited = true; DebugLog ("SDK initialized"); }; }

 

Funcionalidade OnPause e OnResume

A funcionalidade onPause e onResume permitem a um anúncio pausado quando um aplicativo foi para segundo plano voltar a ser reproduzido.

void OnApplicationPause(bool pauseStatus) { if (pauseStatus) { Vungle.onPause(); } else { Vungle.onResume(); } }

 

Opções de personalização

O método playAd também pode aceitar um dicionário de opções para personalizar a experiência de reprodução de anúncios.

public static void playAd(Dictionary<string,object> options, string placementID);

Observação: Anúncios com recompensa são, às vezes, chamados de anúncios incentivados; ambos os termos sempre referem-se ao mesmo tipo de anúncio. No código do SDK e em nossa API de relatórios, usamos o termo "incentivado".

O dicionário de opções aceita as seguintes chaves:

Chave

Descrição

orientation

Define a orientação do anúncio.

  • No iOS, use VungleAdOrientation:
    public enum VungleAdOrientation { Portrait = 1, LandscapeLeft = 2, LandscapeRight = 3, PortraitUpsideDown = 4, Landscape = 5, All = 6, AllButUpsideDown = 7 }
  • No Android, defina como true para matchVideo e como false para autoRotate.

userTag

String da chave do usuário que é passada para identificar usuários na chamada S2S (se houver algum).

alertTitle

String usada como título da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente uma experiência de anúncio incentivado.

alertText

String usada como texto de corpo da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente uma experiência de anúncio incentivado.

closeText

Título da string do texto do botão de fechamento da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente uma experiência de anúncio incentivado.

continueText

Título da string do texto do botão de fechamento da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente uma experiência de anúncio incentivado.

immersive

Booleano que define o Modo Imersivo (força a ocultação da barra de navegação e da barra de status). (Somente Android)

flexCloseSec

Inteiro que determina o número de segundos após o qual o anúncio Flex View pode ser ignorado automaticamente. Essa configuração afeta apenas os anúncios Flex View. (Somente iOS)

 

RGPD: Implementação recomendada

O Regulamento Geral sobre a Proteção de Dados (RGPD) entrou em vigor na União Europeia em 25 de maio. Para entrar em conformidade com o RGPD, desenvolvedores têm duas opções.

  • Opção 1 (recomendado): O distribuidor controla o processo de consentimento do RGPD do usuário e comunica as escolhas do usuário à Vungle. Para isso, os desenvolvedores podem coletar o consentimento do usuário usando seus próprios mecanismos, usando a seguir as APIs da Vungle para atualizar ou enviar uma consulta do status de consentimento do usuário. Consulte a seção "Instruções de implementação recomendadas para RGPD" para obter detalhes.

  • Opção 2: A Vungle pode lidar com as exigências, exibindo uma caixa de diálogo de consentimento antes de exibir um anúncio para um usuário europeu, e lembrará o consentimento ou rejeição do usuário em anúncios subsequentes.

Instruções para implementação do RGPD através da API

Para usar as APIs da Vungle para atualizar ou consultar o status de consentimento do usuário conforme recomendado na Opção 1, use o enumerador Vungle.Consent e defina o valor atual com as duas funções abaixo.

// The Consent enum is used to represent the user's current GDPR opt-in status public enum Consent { Undefined = 0, Accepted = 1, Denied = 2 } // Sets the user's consent status void updateConsentStatus(Vungle.Consent consent); // Gets the user's consent status Vungle.Consent getConsentStatus(); 

 

Anúncios Flex View

Para iOS

Para fechar programaticamente um anúncio Flex View, use a função closeAd:

Vungle.closeAd(placementID);

Esta função não funciona no Android.

Para Android

O Flex View não funciona da mesma maneira no Unity Android que no Unity iOS ou Android nativo. Devido à uma limitação em como o Unity lida com as atividades, o Flex View não permite que um usuário interaja com o jogo básico enquanto um anúncio Flex View é exibido. Em um anúncio Flex View, a atividade subjacente é suspensa enquanto uma atividade ocorre na parte superior. Se o usuário sair do aplicativo enquanto um anúncio Flex View estiver visível e, em seguida, retornar ao aplicativo mais tarde, o anúncio ainda será exibido, mas o jogo em segundo plano será exibido em preto. Isso acontece porque a atividade básica é suspensa até que o anúncio Flex View seja descartado.

Por essa razão, evite anúncios Flex View no Unity Android.

Para Windows

Os anúncios Flex View não são suportados no Windows.

 

Anúncios Flex Feed

Os anúncios Flex View não são suportados ao integrar com o Vungle por meio do plugin Unity.

Tem mais dúvidas? Envie uma solicitação

Comentários