Una vez un equipo indie ha terminado un juego o está en la fase de desarrollo y tiene claro los datos clave del juego como el modelo de negocio, plataformas, ventana de lanzamiento y un roadmap bien definido es momento de pensar como querréis lanzar su juego . Evidentemente la auto publicación es una opción, pero obliga al equipo a derivar recursos (tiempo, conocimientos y dinero) en entender como se debe lanzar un juego para que este funcione o al menos recuperemos lo invertido. Como desarrollador de juegos indie, conocer el funcionamiento de los publishers es crucial para decidir si trabajar con uno puede ayudarte a lanzar y comercializar tu juego de manera más efectiva. El punto clave para ello es evaluar lo que necesitamos de él (porting, marqueting, localización, etc.), analizar que recoup tendremos (dinero que habrá que devolver al publisher) y con que condiciones. El recoup (o recoupment) es el proceso por el cual un publisher recupera el dinero invertido en un juego antes d...
Cuando diseñamos un juego móvil con la intención de monetizarlo y obtener unos ingresos hay que tener en cuenta elementos de diseño así como tener las herramientas para implementar la campaña publicitaria en nuestra aplicación.
En la Unity AsseStore hay varios productos que nos permiten gestionar de una manera fácil los servicios externos que nos permiten socializar nuestro juego. Hay algunos que sólo permiten gestionar los anuncios otros que además permiten utilizar los servicios de juegos de Google Play, las recompensas, guardar configuraciones en la nube, etc.
Easy Mobile es uno de los productos mas completos para Unity y permite tener una gestión completa de los servicios en la nube tanto para iOS y para Android.
Para utilizar la parte de Advertising (anuncios) en primer lugar debemos decidir que plataforma queremos utilizar para crear nuestra campaña publicitaria. En el mercado existen muchas plataformas diferentes, con tipos de anuncios diferentes, enfocados a diferentes mercados o a tipos específicos de aplicaciones. Los mas usuales son:
donde cada una puede mostrar determinados tipos de anuncios. Otro aspecto a tener en cuenta es la rentabilidad de cada red. No todas las redes pagan igual por cada clic (CPC) ni por la muestra de cada mil anuncios (RPM). Algunas redes se han especializado en mercados específicos (USA, China, Korea, el mundo) o tipos de aplicaciones específicas (juegos, gestión, ...). Dependiendo a que mercado queramos acceder o gestionar podemos utilizar unas o otras redes.
En nuestro ejemplo voy a utilizar AdMob, la red publicitaria de Google, que permite crear campañas genéricas para aplicaciones de una manera fácil. En primer lugar necesitamos registrarnos a AdMob a través de nuestra cuenta google y definir una nueva aplicación con Admob. A partir de aquí podemos crear bloques de anuncios parametrizables. Cada vez que creamos un bloque de anuncio Admod nos crea un identificador del anuncio (ID) que tiene este formato:
ca-app-pub-3940256099942544/6300978111
Este ID será el que utilizaremos para referenciar en nuestro proyecto de Unity nuestro bloque de anuncio y así indicar a google que anuncio debe mostrar en nuestra aplicación.
Easy Mobile simplifica mucho el trabajo de crear este enlace y aporta multitud de opciones para ajustar los anuncios a nuestras necesidades.
Así mismo la manea más fácil de manejar los anuncios en Unity es la llamada y visualización a través de código:
Inicialización
void Awake()
{
if (!RuntimeManager.IsInitialized())
RuntimeManager.Init();
}
Banner
//Load Ad Banner;
Advertising.ShowBannerAd(BannerAdPosition.Bottom);
Interticial
//Ad Insterticial
Advertising.LoadInterstitialAd();
bool isReady = Advertising.IsInterstitialAdReady();
if (isReady)
{
Advertising.ShowInterstitialAd();
}
Advertising.LoadInterstitialAd();
Vídeo reward
void OnEnable()
{
Advertising.RewardedAdCompleted += RewardedAdCompletedHandler;
Advertising.RewardedAdSkipped += RewardedAdSkippedHandler;
}
private void Start()
{
fileName = Path.Combine(Application.persistentDataPath, "data");
fileName = Path.Combine(fileName, configFileName + ".txt");
}
// Unsubscribe events
void OnDisable()
{
Advertising.RewardedAdCompleted -= RewardedAdCompletedHandler;
Advertising.RewardedAdSkipped -= RewardedAdSkippedHandler;
}
// Event handler called when a rewarded ad has completed
void RewardedAdCompletedHandler(RewardedAdNetwork network, AdPlacement location)
{
Debug.Log("Rewarded ad has completed. The user should be rewarded now.");
// Action...
}
// Event handler called when a rewarded ad has been skipped
void RewardedAdSkippedHandler(RewardedAdNetwork network, AdPlacement location)
{
Debug.Log("Rewarded ad was skipped. The user should NOT be rewarded.");
}
public void RewardVideo()
{
bool isReady = Advertising.IsRewardedAdReady();
if (isReady)
{
Advertising.ShowRewardedAd();
}
}
Comentarios
Publicar un comentario