Introdução ao SDK do Vungle 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
    • O SDK do Vungle exige que você vincule a estrutura WebKit.framework ao seu projeto. Se você estiver desenvolvendo para IOS 7, deverá definir essa estrutura como "Opcional". Para fazer isso, clique no seu projeto em Project Navigator e acesse GeneralLinked Frameworks and Libraries. Selecione WebKit.framework e defina o Status como "Opcional".

  • O plugin Vungle Unity para Android:
    • requer Java 1.7 para Android
    • é compatível com Unity 4 e Unity 5.3.2 e superior

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

Passo 1. Defina seu 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 o próximo passo, 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 SDK do Vungle 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 SDK do Vungle 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" />

Passo 2. Adicione o 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 neste passo de inicialização independente de se você planeja ou não aproveitar a funcionalidade de posicionamentos. Se você 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 SDK Vungle é 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 article.)

Carregue 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 retorno de chamada é também chamado em caso de "Falha de carregamento" (adAvailable 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

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 evento

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

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

    A classe AdFinishedEventArgs consiste das seguintes propriedades para que você verifique o resultado de uma reprodução de 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 é emitido quando o SDK alterou o status de disponibilidade do anúncio. O booleano isAdPlayable denota a nova habilidade de reproduzir um placementID.
    específico.
    public static event Action<string, bool> adPlayableEvent;
    Consulte a seção “Verificação de disponibilidade de anúncio para um posicionamento” neste artigo para mais detalhes.

  • O seguinte evento é emitido quando o SDK é inicializado com sucesso:
    public static event Action onInitializeEvent;
  • O seguinte evento é emitido quando o SDK gera logs.
    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 premiados 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.

  • Para 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.

 

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

Comentários