Introdução ao Vungle - iOS SDK v. 5.1 ou posterior (Swift)

Conteúdo

Antes de começar

  • O SDK Vungle para iOS v. 5.1.0 tem suporte somente para iOS 8+.
  • O SDK Vungle para iOS v. 5.1.0 suporta aplicativos de 32 e 64 bits.
  • A integração requer que você tenha uma conta Vungle. Se você ainda não tem uma conta, crie uma antes de continuar.
  • Nosso SDK iOS (a partir da v. 4.0.8) mais recente foi lançado como suporte ao novo Xcode 8.0. Certifique-se de usar o Xcode 8.0 ou superior para garantir uma integração perfeita.
  • O código-fonte mencionado aqui está disponível em nosso repositório do GitHub público.

Passo 1. Adicione o framework Vungle ao seu projeto Xcode

Adicione o VungleSDK.framework ao seu projeto

Há duas maneiras de adicionar o Vungle a seu projeto do Xcode: usando Cocoapods ou integração manual.

Cocoapods

O SDK Vungle está disponível pelo Cocoapods. Adicione o Vungle ao seu projeto por adicionar a seguinte linha ao podfile do seu projeto.

 pod "VungleSDK-iOS", "5.1.0"

Depois disso, uma execução rápida do pod install deve atualizar seu projeto com a versão mais recente de nosso SDK para iOS. Neste ponto, você pode ir para “Passo 2. Remova a barra de status do iOS”.

Integração manual

Baixe o Vungle SDK v5.1.0. Se você estiver fazendo a atualização a partir de uma versão anterior do SDK Vungle, remova primeiro todo o diretório VungleSDK.framework antes de adicionar o novo SDK. Depois localize os arquivos extraídos e arraste e solte o diretório VungleSDK.framework no Xcode em Frameworks. Certifique-se de adicionar a pasta VungleSDK.framework como um grupo (pasta amarela) e não como uma referência (pasta azul).

Adicione outros frameworks necessários

O SDK Vungle requer que você vincule alguns outros frameworks nativos ao seu projeto em Navegador do projeto e vá para Geral → Frameworks e bibliotecas vinculados. Muitos desses frameworks já estão inclusos, porque são padrão para a maioria dos projetos do Xcode, mas certifique-se de adicionar os que ainda não estão inclusos:

  • AdSupport.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CFNetwork.framework
  • CoreGraphics.framework
  • CoreMedia.framework
  • Foundation.framework
  • libz.dylib or libz.tbd
  • libsqlite3.dylib or libsqlite3.tbd
  • MediaPlayer.framework
  • QuartzCore.framework
  • StoreKit.framework
  • SystemConfiguration.framework
  • UIKit.framework
  • WebKit.framework

Certifique-se de que o framework VungleSDK apareça em Frameworks e bibliotecas vinculados.

Adicione a flag de vinculação “-ObjC”

Clique no seu projeto em Navegador do projeto​ e vá para Configurações de build → Vinculação → Outras flags de vinculação​. Adicione -ObjC​ em Outras flags de vinculação​.

Passo 2. Remova a barra de status do iOS

Embora este passo não seja necessário, recomendamos que você remova a barra de status do iOS para garantir que a interação e apresentação de anúncios do Vungle funcione perfeitamente. Para remover a barra de status, abra seu Info.plist, adicione a chave Aparência de barra de status de visualização baseada em controle​ e defina-a como Não.

Passo 3. Adicione o código

Crie um arquivo Bridging Header

  1. Crie um novo arquivo Objective C em seu projeto (Arquivo  Novo  Arquivo [Arquivo Objective-C]).
  2. O Xcode vai perguntar se você deseja criar um arquivo Bridging Header entre o Objective C e o Swift. Aceite esta solicitação.
  3. Exclua o novo arquivo Objective-C (${YOURPROJ}-Bridging-Header.m), mas retenha o arquivo Bridging Header ${YOURPROJ}-Bridging-Header.h.
  4. No arquivo Bridging Header, importe o Vungle SDK adicionando o seguinte:
    #import <VungleSDK/VungleSDK.h>
    

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. Você precisará do ID do aplicativo para todos os IDs de referência de posicionamento que você deseja usar no seu aplicativo (ativos e inativos) para inicializar o SDK. Você pode encontrar esses IDs no painel do Vungle (consulte Configuração de posicionamentos no painel do Vungle).

- (BOOL)startWithAppId:(nonnull NSString *)appID placements:(nonnull NSArray *)placements error:(NSError **)error;

Exemplo de código:

let appID = "Your_AppID_Here";
var placementIDsArray:Array<String> = ["<Your_PlacementID_1>", "<Your_PlacementID_2>", "<Your_PlacementID_3>"];

var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk.start(withAppId: appID, placements: placementIDsArray)
}
catch let error as NSError {
print("Error while starting VungleSDK : \(error.domain)")
return;
}

Uma vez que o SDK tenha sido inicializado com sucesso, o seguinte método de retorno de chamada é chamado:

- (void)vungleSDKDidInitialize;

Consulte a seção “Delegar retornos de chamada” neste artigo.

Você também pode verificar o status da inicialização do SDK com a seguinte propriedade:

@property (atomic, readonly, getter=isInitialized) BOOL initialized;

Depois que o SDK é inicializado, ele automaticamente coloca em cache um anúncio no posicionamento que você selecionou em 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 método de retorno de chamada vungleAdPlayabilityUpdate é 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.)

Carregue um anúncio para um posicionamento

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

var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk.loadPlacement(withID: <Your_PlacementID>)
}
catch let error as NSError {
print("Unable to load placement with reference ID :\(<Your_PlacementID>), Error: \(error)")

return
}

Consulte a seção “Verificar a disponibilidade de anúncio para um posicionamento” deste artigo.

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 método de retorno de chamada é chamado:

- (void)vungleAdPlayabilityUpdate:(BOOL)isAdPlayable placementID:(nullable NSString *)placementID; 

Exemplo de código:

func vungleAdPlayabilityUpdate(_ isAdPlayable: Bool, placementID: String?) {
       if (placementID == <Your_PlacementID>) {
           self.playButtonPlacement1.enabled = isAdPlayable;
       }
   }

Nota: para o posicionamento armazenado em cache automaticamente, este método de retorno de chamada é chamado apenas quando um anúncio fica disponível. O SDK ficará solicitando um anúncio para o posicionamento armazenado em cache automaticamente. Para todos os outros posicionamentos, este método de retorno de chamada é chamado em caso de “Falha de carregamento” (isAdPlayable retorna ‘NÃO’ neste caso). Você também pode verificar a disponibilidade de anúncio para um posicionamento com a seguinte propriedade:

- (BOOL)isAdCachedForPlacementID:(nonnull NSString *)placementID;

Reproduzir um anúncio

Depois que você tiver se certificar que um anúncio esteja pronto para um posicionamento, você pode reproduzir o anúncio com o seguinte método:

- (BOOL)playAd:(UIViewController *)controller options:(nullable NSDictionary *)options placementID:(nullable NSString *)placementID error:( NSError *__autoreleasing _Nullable *_Nullable)error;

Exemplo de código:

var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk.playAd(self, options: nil, placementID: kVungleTestPlacementID01)
}
catch let error as NSError {
print("Error encountered playing ad: + \(error)");
}

Delegar retornos de chamada

Você pode receber retornos de chamada do SDK com VungleSDKDelegate. Existem quatro métodos de retorno de chamada na delegação nos quais você recebe notificação em eventos do SDK.

Você pode anexar e desanexar sua delegação com:

var sdk:VungleSDK = VungleSDK.shared()
// Attach
sdk.delegate = <yourDelegateInstance> as VungleSDKDelegate
// Detach
sdk.delegate = nil

Nota: Para evitar vazamentos de memória, lembre-se de limpar a delegação registrada quando esta não é mais necessária.

O seguinte método é chamado quando o SDK está prestes a reproduzir um anúncio de vídeo. Isto é ideal para pausar jogos, efeitos sonoros, animações etc.

- (void)vungleWillShowAdForPlacementID:(nullable NSString *)placementID;

O seguinte método é chamado quando o SDK está prestes a fechar um anúncio. Isso é ideal para recompensar seu usuário e retomar jogos, efeitos sonoros, animações, etc.

- (void)vungleWillCloseAdWithViewInfo:(VungleViewInfo *)info placementID:(NSString *)placementID;

VungleViewInfo inclui as seguintes propriedades a verificar como resultado de uma reprodução de anúncio:

@interface VungleViewInfo : NSObject 
//Representa um BOOL independentemente de o vídeo poder ou não ser considerado uma visualização completa.
@property (nonatomic, readonly) NSNumber *completedView;
//O tempo em segundos que o usuário assistiu ao vídeo.
@property (nonatomic, readonly) NSNumber *playTime;
//Representa um BOOL independente de se o usuário clicou ou não o botão para baixar.
@property (nonatomic, readonly) NSNumber *didDownload;
@end

O seguinte método é chamado quando o SDK alterou o status de disponibilidade do anúncio. O booliano isAdPlayable denota a nova habilidade de reproduzir um placementID específico.

- (void)vungleAdPlayabilityUpdate:(BOOL)isAdPlayable placementID:(NSString *)placementID;

Consulte a seção “Verificar a disponibilidade de anúncio para um posicionamento” deste artigo.

O seguinte método é chamado quando o SDK é inicializado com sucesso:

- (void)vungleSDKDidInitialize;

Opções de personalização

Use essas opções para personalizar a experiência de reprodução de anúncio.

Chaves de opção

Valor/tipo padrão

Descrição

VunglePlayAdOptionKeyOrientations

autorotate

UIInterfaceOrientationMaskAll

Um NSString representando uma máscara de bit com orientações

Define a orientação do anúncio. Recomendamos que você permita que os anúncios girem automaticamente, mesmo se o aplicativo estiver em modo de retrato. Assim, o usuário terá a opção de assistir a vídeos em tela cheia, resultando em uma melhor experiência. Você pode obter isso definindo a orientação em um nível de controlador de visualização (em vez de um nível de projeto).

VunglePlayAdOptionKeyUser

nil

NSString

Defina seu ID de usuário. O valor é passado ao servidor Vungle e então enviado para o seu servidor através do sistema de retorno de chamada servidor-a-servidor se um posicionamento é definido como "Premiado".

VunglePlayAdOptionKeyIncentivizedAlertTitleText

nil

NSString

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

VunglePlayAdOptionKeyIncentivizedAlertBodyText

"Deseja mesmo pular este anúncio? Se pular, pode não ganhar sua recompensa"

NSString

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

VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText

"Fechar"

NSString

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.

VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText

"Continuar"

NSString

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.

Exemplo de código:

let options: NSDictionary = NSDictionary(dictionary: [VunglePlayAdOptionKeyUser: "test_user_id",
VunglePlayAdOptionKeyIncentivizedAlertBodyText: "If the video isn't completed you won't get your reward! Are you sure you want to close early?",
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText: "Close",
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText: "Keep Watching",
VunglePlayAdOptionKeyIncentivizedAlertTitleText: "Careful!"])
do {
try self.sdk.playAd(self, options: (options as! [AnyHashable : Any]), placementID: PlacementID)
}
catch let error as NSError {
print("Error encountered playing ad: + \(error)");
}

Opção de silenciar

A instância do SDK Vungle oferece a opção de reproduzir anúncios com o sim desabilitado. Você pode definir a propriedade de silenciar como verdadeira antes de emitir um playAd().

Exemplo de código:

var sdk:VungleSDK = VungleSDK.shared()
sdk.muted = true

Nota: Esta opção aplica-se apenas ao tipo padrão de anúncio. A opção silenciado para anúncios de modelo dinâmico está disponível no painel para configuração.

Debug

Se você precisa de informações sobre o SDK, você pode obtê-las usando esta propriedade:

- (NSDictionary *)debugInfo;

Se você deseja que o SDK gere logs, use o seguinte método:

- (void)setLoggingEnabled:(BOOL)enable;

VungleSDKLogger Protocolo

@protocol VungleSDKLogger 
- (void)vungleSDKLog:(NSString*)message;
@end

O singleton VungleSDK envia eventos de criação de log para qualquer classe anexa, seguindo o protocolo VungleSDKLogger. O evento de log contém o valor de NSString, que também é exibido no console (se a criação de logs estiver ativada). Para anexar o seu gerador de logs, use:

- (void)attachLogger:(id<VungleSDKLogger>)logger;

Como mencionado acima, é importante limpar os geradores de logs anexos do SDK Vungle. Os geradores de logs podem ser desanexados com:

- (void)detachLogger:(id<VungleSDKLogger>)logger;

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

Comentários