Introdução ao Vungle SDK v. 5 - 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:
    • Atualmente, o Vungle SDK não suporta o Unity 2017 no Windows.
    • O Windows (Universal 8.1 ou Phone 8.1) suporta Unity 4 e Unity 5.3.2 ou posterior
    • O Windows 10 UWP é compatível com Unity 5*.3*.2+
    • Antes de continuar lendo o resto deste artigo, primeiro siga as instruções em "Preparando o Vungle Windows SDK v.2.0 ou posterior para o plugin Unity". Depois, volte aqui e complete as etapas restantes.

  • Baixe nosso aplicativo de amostra: https://github.com/Vungle/Unity-Plugin/tree/sdk5.

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 build

Para evitar erros de compilação durante a próxima etapa, certifique-se de que as Definições de build (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 aqui.

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. 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 serviços play 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" />

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.

Inicializar 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);

Verifica a disponibilidade de 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 == ) { layButtonPlacement1.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 callback é também chamado em caso de "Falha de carregamento" (adPlayable retorna 'NÃO' 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é que 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á prejudicada enquanto o anúncio tenta ser carregado.

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 ();

Tratamento de eventos

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;
  • O seguinte evento é lançado quando o SDK emite os registros.
    public static event Action onLogEvent;

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.onLogEvent += (log) => { DebugLog ("Log: " + log); }; 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 }
  • Para Android, defina como verdadeiro para matchVideo e como falso para autoRotate.

userTag

A chave do usuário que é passada para identificar usuários na chamada S2S (se existir algum).

alertTitle

String usada como título da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente um anúncio com incentivo.

alertText

String usada como texto da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente um anúncio com incentivo.

closeText

String de título para o texto do botão de fechar da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente um anúncio com incentivo.

continueText

String de título para o texto do botão de fechar da caixa de diálogo de alerta, apresentada quando um usuário fecha prematuramente um anúncio com incentivo.

immersive

Ligue o modo imersivo para Android.

flexCloseSec

Esse é o número de segundos após o qual o anúncio do Flex View pode ser descartado automaticamente. Isso está disponível apenas para anúncios do Flex View (não do Flex Feed) e somente no iOS.

 

Anúncios Flex View

Para iOS

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

Vungle.closeAd(placementIdList[1]);

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.

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

Comentários