Baixe e integre o Chartboost SDK para Adobe AIR

Última atualização:

 

Adicione seu jogo móvel à rede Chartboost com apenas 10 linhas de código!

 


 

O que há na caixa? Nosso pacote de SDK vem repleto de recursos.

Anúncios em vídeo de alta qualidade feitos sob medida para os jogos para recompensar os seus jogadores!

Intersticiais personalizáveis que dão aos jogadores uma experiência incorporada no jogo!

Um conjunto de análises robusto para direcionar para o melhor público possível para você!

Ver notas completas da versão do SDK ▶

 


 

Pronto para integrar o Chartboost SDK? Vamos lá!

 


 

 

Antes de começar:

Adicionar o plug-in AIR aos seus jogos é fácil e rápido. Você só precisa de alguns ingredientes:

  • Uma conta do Chartboost
  • Um app em seu painel
  • O plug-in AIR mais recente
  • Uma campanha de publicação ativa
  • O plug-in Chartboost Adobe AIR está atualmente em beta.
  • O plug-in usa iOS SDK v6.4.7 e Android SDK v6.4.2
  • O plug-in Chartboost AIR suporta iOS 6 e posterior e Android 2.3 e posterior.
  • Requer -swf-version 33 compiler flag. No Flash Builder, isso é inserido em Project properties > Flex Compiler > Additional compiler arguments.
  • Requer AIR SDK versão 22 ou posterior.

 

 

Importe a extensão nativa do Chartboost em seu app AIR.

Recomendamos a criação de um diretório em seu projeto para extensões nativas, onde você pode copiar Chartboost.ane e Chartboost.swc. Assim, (se estiver usando Flash Builder) você poderá simplesmente adicionar esse diretório como extensão nativa nas suas configurações do projeto.

 


 

Adicione a declaração <extensionID> ao elemento <application> da raiz do descritor do seu aplicativo AIR.

<extensions>
    <extensionID>com.chartboost.plugin.air</extensionID>
</extensions>

Se estiver compilando para Android, você também deve adicionar estas adições de manifesto ao arquivo descritor do seu aplicativo AIR (lembre-se de trocar em seu ID de app e assinatura de app do Chartboost):

<manifestAdditions><![CDATA[
 <manifest android:installLocation="auto">
        <!-- Esta permissão é necessária para o Chartboost. -->
        <uses-permission android:name="android.permission.INTERNET"/>

        <!-- Estas permissões são recomendadas para o Chartboost. -->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 
 <application>
            <!-- O ID do app e assinatura para a versão do Android do seu app AIR devem ser colocados aqui. -->
            <meta-data android:name="__ChartboostAir__AppID" android:value="ANDROID_APP_ID" />
 <meta-data android:name="__ChartboostAir__AppSignature" android:value="ANDROID_APP_SIGNATURE" />
            
            <!-- Também necessário para o Chartboost SDK. -->
            <activity android:name="com.chartboost.sdk.CBImpressionActivity"
 android:excludeFromRecents="true" 
 android:hardwareAccelerated="true"
 android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
 android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" />

            <!-- Para Google Play Services (exigido pelo Chartboost) -->
            <meta-data android:name="com.google.android.gms.version"
 android:value="@integer/google_play_services_version" />
 </application>
 </manifest>
]]></manifestAdditions>

Desenvolvedores Android: note que se você estiver usando outro plug-in que inclui Google Play Services, talvez receba um erro ao compilar. Use o ANE fornecido que é isento do Google Play Services para evitar esse conflito.

 


 

Importe as classes do Chartboost.

import com.chartboost.plugin.air.*;

 


 

Ative o Chartboost.

Chame o método startWith() com o cenário do aplicativo AIR e seu ID do app e assinatura do app do Chartboost. Você provavelmente precisará chamar o método condicionalmente para diferentes plataformas, então fornecemos algumas funções auxiliares para você usar:

if (Chartboost.isAndroid()) {
    Chartboost.startWith(stage, "ANDROID_APP_ID", "ANDROID_APP_SIGNATURE");
} else if (Chartboost.isIOS()) {
    Chartboost.startWith(stage, "IOS_APP_ID", "IOS_APP_SIGNATURE");
}
Você precisa inicializar o Chartboost para podermos registrar ativações do seu jogo. Se não inicializar o Chartboost, você não estará qualificado para executar campanhas de publicidade.

 


 

Para exibir um anúncio intersticial estático ou em vídeo:

Chartboost.showInterstitial(CBLocation.DEFAULT);
  • Você pode usar a classe de interface CBLocation para obter uma lista de constantes de local padrão e também definir as suas.  Quando um local é usado, ele é adicionado ao seu painel, onde você pode personalizar suas configurações.
  • Para o controle personalizado de como os anúncios se comportam em seu jogo, o Chartboost SDK também oferece mais recursos, como cache, métodos delegados e locais nomeados.
  • Saiba mais sobre anúncios em vídeo do Chartboost ▶
Não chame showInterstitial diretamente após cacheInterstitial para o mesmo local, senão o SDK falhará silenciosamente.
Nós recomendamos que você coloque seus intersticiais em cache antes de exibi-los. Saiba mais sobre cache ▶

 

Para exibir um anúncio de vídeo de recompensa:

Chartboost.showRewardedVideo(CBLocation.DEFAULT);
  • Você pode usar a classe de interface CBLocation para obter uma lista de constantes de local padrão e também definir as suas.  Quando um local é usado, ele é adicionado ao seu painel, onde você pode personalizar suas configurações.
  • Para o controle personalizado de como os anúncios se comportam em seu jogo, o Chartboost SDK também oferece mais recursos, como cache, métodos delegados e locais nomeados.
  • Saiba mais sobre anúncios em vídeo do Chartboost ▶
Não chame showRewardedVideo diretamente após cacheRewardedVideo para o mesmo local, senão o SDK falhará silenciosamente.
Nós recomendamos que você coloque seus intersticiais em cache antes de exibi-los. Saiba mais sobre cache ▶

 

Para chamar métodos do Chartboost:

Em /actionscript/src/com/chartboost/plugin/air/Chartboost.as, você encontra os métodos de AIR para nativo usados para interagir com o plug-in Chartboost:

/** Inicializa o plug-in Chartboost */
public static function startWith(stage:Stage, appID:String, appSignature:String):void

/** Ouve um evento delegado da classe ChartboostEvent. Veja a documentação
* do evento que você escolher para os argumentos e o valor de retorno da função que você fornecer. */
public static function addDelegateEvent(eventName:String, listener:Function):void

/** Coloca em cache um intersticial. */
public static function cacheInterstitial(location:String):void

/** Mostra um intersticial. */
public static function showInterstitial(location:String):void

/** Verifica se há um intersticial em cache. */
public static function hasInterstitial(location:String):Boolean

/** Coloca a página MoreApps em cache. */
public static function cacheMoreApps(location:String):void

/** Mostra a página MoreApps. */
public static function showMoreApps(location:String):void

/** Verifica se a página MoreApps está em cache. */
public static function hasMoreApps(location:String):Boolean

/** Coloca o vídeo de recompensa em cache. */
public static function cacheRewardedVideo(location:String):void

/** Mostra o vídeo de recompensa. */
public static function showRewardedVideo(location:String):void

/** Verifica se o vídeo de recompensa está em cache. */
public static function hasRewardedVideo(location:String):Boolean

/** Coloca em cache um anúncio in-play. */
public static function cacheInPlay(location:String):void

/** Acesse o anúncio InPlay em cache.
* Esta é uma operação assíncrona, então em vez de retornar um objeto CBInPlay,
*  ela é passada para a Função fornecida quando está pronta.
* Se não houver um anúncio in-play disponível, a Função fornecida não será chamada.
* A função fornecida deve ter um argumento, um objeto CBInPlay. Veja o app de amostra fornecido para uma demonstração de utilização. */
public static function getInPlay(location:String, fn:Function):void

/** Verifica se há um anúncio in-play em cache. */
public static function hasInPlay(location:String):Boolean

/** Chama isto como um resultado da UI que você mostrar em resposta ao
* método delegado didPauseClickForConfirmation() */
public static function didPassAgeGate(pass:Boolean):void

/** Configurações personalizadas */
public static function setCustomID(customID:String):void
public static function getCustomID():String

/** Definir se os intersticiais serão solicitados na primeira sessão do usuário */
public static function setShouldRequestInterstitialsInFirstSession(shouldRequest:Boolean):void

/** Definir se o recurso de restrição de idade deve ser usado.
* Chamar Chartboost.didPassAgeGate() para fornecer a resposta do seu usuário. */
public static function setShouldPauseClickForConfirmation(shouldPause:Boolean):void

/** Definir se a página MoreApps terá exibição carregando em tela cheia. */
public static function setShouldDisplayLoadingViewForMoreApps(shouldDisplay:Boolean):void

/** Definir se o conteúdo de vídeo é pré-carregado */
public static function setShouldPrefetchVideoContent(shouldPrefetch:Boolean):void

/** Controlar se os anúncios são colocados em cache automaticamente quando possível (padrão: verdadeiro). */
public static function setAutoCacheAds(shouldCache:Boolean):void
public static function getAutoCacheAds():Boolean

/** Análise de compras no aplicativo Chartboost */
public static function trackIOSInAppPurchaseEvent(receipt:String, title:String, description:String, price:Number, currency:String, productID:String):void
public static function trackGooglePlayInAppPurchaseEvent(title:String, description:String, price:String, currency:String, productID:String, purchaseData:String, purchaseSignature:String):void
public static function trackAmazonStoreInAppPurchaseEvent(title:String, description:String, price:String, currency:String, productID:String, userID:String, purchaseToken:String):void

/** Análises pós-instalação do Chartboost */
public static function trackLevelInfoEvent(eventLabel:String, eventField:CBLevelType, mainLevel:int, subLevel:int, description:String):void

/** Somente iOS: defina como o Chartboost interage quando a barra de status está presente. (padrão: Ignorar). */
public static function setStatusBarBehavior(statusBarBehavior:CBStatusBarBehavior):void

/** Identificar se algum anúncio está visível na tela. */
public static function isAnyViewVisible():Boolean

/** Fechar qualquer impressão que estiver aberta. Retorna se houver êxito no iOS, sempre retorna verdadeiro no Android. */
public static function closeImpression():Boolean

/** Returna se as compras no aplicativo são acompanhadas automaticamente. Somente iOS. */
public static function getAutoIAPTracking():Boolean

/** Retorna se webview está ativado (configuração de servidor). Somente Android. */
public static function isWebViewEnabled():Boolean

/** Define se a interface do sistema é oculta durante impressões. Somente Android. */
public static function setShouldHideSystemUI(shouldHide:Boolean):void

/** Somente para incorporadores: define o serviço de mediação utilizado */
public static function setMediation(mediator:CBMediation, version:String):void

 


 

Escutar eventos do Chartboost:

O Chartboost aciona vários eventos diferentes para informar sobre o status das impressões. Para reagir a estes eventos, você deve escutá-los explicitamente. O melhor lugar para fazer isso é o código de inicialização para a sua tela ativa:

// em algum código de inicialização
chartboost.addDelegateEvent(ChartboostEvent.DID_CLICK_INTERSTITIAL, function (location:String):void {
 trace( "Chartboost: on Interstitial clicked: " + location );
});

Em /actionscript/src/com/chartboost/plugin/air/ChartboostEvent.as, você encontrará todos os eventos disponíveis para escuta:

/** Dispara após o SDK ter sido inicializado com êxito. Implemente para ser notificado quando o processo de inicialização estiver concluído.
* Argumentos: (status:Booleano) */
public static const DID_INITIALIZE:String = "didInitialize";

/** Dispara quando um intersticial não é carregado.
* Argumentos: (location:String, error:CBLoadError) */
public static const DID_FAIL_TO_LOAD_INTERSTITIAL:String = "didFailToLoadInterstitial";

/** Dispara quando um intersticial deve ser exibido. Retorna informando se deve ou não.
* Argumentos: (location:String)
* Retorna: Booleano */
public static const SHOULD_DISPLAY_INTERSTITIAL:String = "shouldDisplayInterstitial";

/** Dispara quando um intersticial é encerrado por qualquer método.
* Isso sempre será emparelhado com um evento de fechar ou clique.
* Argumentos: (location:String) */
public static const DID_CLICK_INTERSTITIAL:String = "didClickInterstitial";

/** Dispara quando um intersticial é fechado
* (por exemplo: ao tocar em X ou no botão voltar do Android).
* Argumentos: (location:String) */
public static const DID_CLOSE_INTERSTITIAL:String = "didCloseInterstitial";

/** Dispara quando um intersticial é clicado.
* Argumentos: (location:String) */
public static const DID_DISMISS_INTERSTITIAL:String = "didDismissInterstitial"; 

/** Dispara quando um intersticial entra em cache.
* Argumentos: (location:String) */
public static const DID_CACHE_INTERSTITIAL:String = "didCacheInterstitial";

/** Dispara quando um intersticial é exibido.
* Argumentos: (location:String) */
public static const DID_DISPLAY_INTERSTITIAL:String = "didDisplayInterstitial";

/** Dispara quando a página MoreApps deixa de carregar.
* Argumentos: (location:String, error:CBLoadError) */
public static const DID_FAIL_TO_LOAD_MOREAPPS:String = "didFailToLoadMoreApps";

/** Dispara quando a página MoreApps deve ser exibida. Retorna informando se deve ou não.
* Argumentos: (location:String) */
public static const SHOULD_DISPLAY_MOREAPPS:String = "shouldDisplayMoreApps";

/** Dispara quando a página MoreApps é encerrada por qualquer método.
* Isso sempre será emparelhado com um evento de fechar ou clique.
* Argumentos: (location:String)
* Retorna: Booleano */
public static const DID_CLICK_MORE_APPS:String = "didClickMoreApps";

/** Dispara quando a página MoreApps é fechada
* (por exemplo: ao tocar em X ou no botão voltar do Android).
* Argumentos: (location:String) */
public static const DID_CLOSE_MORE_APPS:String = "didCloseMoreApps";

/** Dispara quando um anúncio na página MoreApps é clicado.
* Argumentos: (location:String) */
public static const DID_DISMISS_MORE_APPS:String = "didDismissMoreApps";

/** Dispara quando a página MoreApps entra em cache.
* Argumentos: (location:String) */
public static const DID_CACHE_MORE_APPS:String = "didCacheMoreApps";

/** Dispara quando a página MoreApps é exibida.
* Argumentos: (location:String) */
public static const DID_DISPLAY_MORE_APPS:String = "didDisplayMoreApps";

/** Dispara após um clique ser registrado, mas o usuário não é encaminhado para a IOS App Store.
* Argumentos: (location:String, error:CBClickError) */
public static const DID_FAIL_TO_RECORD_CLICK:String = "didFailToRecordClick";

/** Dispara quando um vídeo de recompensa entra em cache.
* Argumentos: (location:String) */
public static const DID_CACHE_REWARDED_VIDEO:String = "didCacheRewardedVideo";

/** Dispara quando um vídeo de recompensa é clicado.
* Argumentos: (location:String) */
public static const DID_CLICK_REWARDED_VIDEO:String = "didClickRewardedVideo";

/** Dispara quando um vídeo de recompensa é fechado.
* Argumentos: (location:String) */
public static const DID_CLOSE_REWARDED_VIDEO:String = "didCloseRewardedVideo";

/** Dispara quando um vídeo de recompensa termina.
* Argumentos: (location:String, reward:int) */
public static const DID_COMPLETE_REWARDED_VIDEO:String = "didCompleteRewardedVideo";

/** Dispara quando um vídeo de recompensa é dispensado.
* Argumentos: (location:String) */
public static const DID_DISMISS_REWARDED_VIDEO:String = "didDismissRewardedVideo";

/** Dispara quando um vídeo de recompensa não é carregado.
* Argumentos: (location:String, error:CBLoadError) */
public static const DID_FAIL_TO_LOAD_REWARDED_VIDEO:String = "didFailToLoadRewardedVideo";

/** Dispara quando um vídeo de recompensa deve ser exibido. Retorna informando se deve ou não.
* Argumentos: (location:String)
* Retorna: Booleano */
public static const SHOULD_DISPLAY_REWARDED_VIDEO:String = "shouldDisplayRewardedVideo";

/** Dispara logo após a exibição de um vídeo de recompensa.
* Argumentos: (location:String) */
public static const DID_DISPLAY_REWARDED_VIDEO:String = "didDisplayRewardedVideo";

/** Dispara quando um vídeo está prestes a ser exibido.
* Argumentos: (location:String) */
public static const WILL_DISPLAY_VIDEO:String = "willDisplayVideo";

/** Dispara se o plug-in Chartboost pausar ações de clique aguardando confirmação do usuário.
* Argumentos: Nenhum */
public static const DID_PAUSE_CLICK_FOR_COMFIRMATION:String = "didPauseClickForConfirmation";

/** Somente iOS: dispara quando a folha da App Store é dispensada ao mostrar a folha do app incorporado.
* Argumentos: Nenhum */
public static const DID_COMPLETE_APP_STORE_SHEET_FLOW:String = "didCompleteAppStoreSheetFlow";

 


 

Teste sua integração.

Para testar a configuração, inicie uma campanha de publicação, adicione o app que está você integrando com o plug-in à campanha e depois compile seu projeto para um dispositivo.

Se você consegue ver os intersticiais de teste do Chartboost onde os chamou em seu código, está tudo certo! Desabilite o Modo Teste (na página Configurações do app ) para poder ver os anúncios da rede:

 


 

u00u! Você integrou o Chartboost SDK em seu app!

Agora você pode começar uma campanha ▶

 


 

Confira mais recursos do Chartboost SDK

  • Cache: Acelere os tempos de carregamento para anúncios e páginas MoreApps armazenando-os localmente nos dispositivos.
  • Chartboost Vídeo: Acrescente lindos anúncios em vídeo de alta qualidade para dar a melhor experiência no jogo aos jogadores.
  • Locais nomeados: Ajuste o direcionamento da campanha e frequência de anúncios a partir do painel.
  • MoreApps: Crie uma página personalizada "veja mais jogos" em seu app para anunciar seus jogos ou publicar anúncios de outros desenvolvedores.
  • Análises pós-instalação: Para jogos com compras no aplicativo. Desbloqueie dados úteis sobre o comportamento de compra do jogador para otimizar campanhas ou redirecionar.
  • Mediação: Mostre seus anúncios em diversas outras redes de alta qualidade.

 


 

Você também pode se interessar...