Quantcast

Tensiones de compra | Ayuda

Aitor Sánchez - Blog - Mar. 26, 2024, 12:19 p.m.

Quieres ganar más dinero con tus apps. Como todos. ¿o no?

Pues mira,

no se si esta será la mejor manera, eso es cuestión de prioridades.

o la más atractiva, es va en los gustos.

Pero lo que no va ni en los gustos, ni en las prioridades, es que te estás dejando pasta por el camino si aún no haces esto.

 

Atiende:

Las tensiones de compras son, bajo mi experiencia, la mejor manera de incentivar a que un usuario compre suscripciones en tu aplicación.

Imagina que estás leyendo un artículo sobre como integrar los anuncios de Admob en tus apps y te encuentras con esto:

 

...

Y si te das de alta antes del domingo recibirás, a parte del contenido que has pagado, un audio donde te explico cuál es la manera que mejor me funciona para colocar los anuncios de mis apps y que con solo cambiarla, si no lo haces ya, vas a duplicar tus ingresos como hice yo cuando lo descubrí.

Después del domingo no podrás conseguirla nunca más.

...

 

Acto seguido, estás sacando la cartera para pagarme por mi audio, que no por el contenido. Eso ya va implícito y lo sabes.

Pero, lo que ha hecho que saques la cartera tan de repente, que ni Billie el niño, es la tensión generada por entender qué si no lo haces ya, te vas a quedar sin ese bonus.

Otros lo tendrán,

tú no,

otros lo aprovecharán,

tú no,

ellos ganarán más dinero,

tú no.

¿Ves cómo funciona?

 

Bien, entendido este concepto ¿cómo puedes utilizar esto en tus apps?

 

0) Explicación

Toda esta sección de la aplicación se ha construido basándonos en este principio.

Con la idea de que tu puedas vender más suscripciones y compras in app mediante un flujo en el que tu entregarás X cosa (un PDF, un audio, o lo que quieras) a tu usuario por realizar una acción.

Tu haces,

yo te entrego esto,

simple.

 

Parte del panel de control

 

1) Creando un recurso de tensión de compra

Pulsamos sobre el botón "+" que hay en la parte inferior derecha de la pantalla.

Una vez dentro del asistente, tenemos que ir rellenando los siguientes datos:

  1. Datos básicos del recurso:
    1. Nombre del recurso: Será el nombre con el que se identificará el recurso dentro de la plataforma, pero que podrá ser recuperado desde el objeto de la api.
    2. Descripción del recurso: Un texto que bien lo podemos utilizar para escribir un mensaje de ventas del recurso, o lo que necesites escribir. Se podrá recuperar desde la api.
  2. Días que el recurso estará disponible:
    • A través de un selector de rango de fechas vamos a seleccionar el día que el recurso empezará a mostrarse y el día que dejará de mostrarse.
      • Fuera de las fechas seleccionadas en el rango, la api no devolverá el recurso. Los datos sobre el recurso sí que estarán accesibles desde el panel de IApplication.
  3. Recurso a utilizar:
    • Sera el recurso que quieras entregar. Puede ser una imagen, un PDF o un archivo .mp3. (Se está evaluando la posibilidad de implementar también video)
  4. App asociada al recurso:
    • Será la app asociada al recurso. Solo se extraerán los detalles de las tensiones cuando envíes el "app-package-name" correspondiente a la aplicación que elijas aquí.

 

2) Opciones disponibles

Con el recurso ya creado, podemos realizar lo siguiente:

  • Pulsando sobre la baldosa, en una parte en blanco, se desplegará un gráfico debajo que nos informará de la cantidad de descargas que ha tenido el recurso. (Las descargas del principal y de los localizados serán conjuntas)
  • Colocando el ratón sobre el icono de información, a la izquierda, podrás conocer a qué aplicación está asociado ese recurso.
  • Pulsando en el icono del ojo, podrás visualizar el recurso en sí mismo.
  • Pulsando en el lapicero, podrás editar el recurso y cambiarle los detalles que hemos visto en su creación.
  • Pulsando sobre la papelera, podrás eliminar el recurso.
  • Pulsando sobre el globo terráqueo pasará algo que explico a continuación. En la sección de localización.

 

3) Localización

A diferencia de un contenido ofrecido en la web, la localización de nuestra aplicación es una parte muy importante.

De esta manera, y ajustándonos a los idiomas disponibles que tenemos en Google Play, puedes agregar recursos hijos, asociados al recurso padre, para cada uno de estos idiomas.

Entra en la sección de localización, selecciona un idioma y rellena los detalles.

Es un proceso más corto, porque hay detalles que selecciona desde el padre.

Ahora, en la sección de la solicitud, veremos cómo podemos recuperar cada uno de manera individual. Pero te adelanto que vas a poder recuperar cada uno dependiendo del idioma.

Una vez seleccionado el idioma, puedes ver el recurso in situ pulsando sobre el ojo que hay al lado del selector de idioma.

Cuando hayas rellenado un idioma, un mensaje de (completo) aparecerá al lado del nombre del idioma en el listado.

 

Parte de la aplicación cliente

Ahora vas a ver como extraer los datos desde una instalación de un cliente.

Como es un detalle pequeño, y la api es muy escueta, no tengo intención de preparar una página de documentación para ello, te explico cómo se hace, y todos los posibles cases, y es suficiente para trabajar con ella.

Más adelante, en caso de que sea necesario, si que prepararé una página de documentación.

 

1) Como obtener la información de los recursos

Lo primero que tenemos que entender, no me cansaré de decirlo, es que tienes que incluir en la solicitud las siguientes dos cabeceras:

  • Authorization: Bearer <tu api key>
  • app-package-name: <El ID de aplicación registrado en la plataforma>

 

La solicitud será una solicitud sencilla mediante el método GET a esta url:

https://ia-pplication.com/apps/v1/get-assets-by-lang?locale=<locale  del usuario>

* Nota: Todos los locales soportados por IApplication son los mismos que tienes disponibles al rellenar una ficha de Google Play.

 

403: El API Key enviado no es válido, o no tienen ninguna app asociada.

{ "R0": 403,  "R1": "Prohibido",  "R2": ""}

 

404: No se ha enviado la cabecera app-package-name o el parámetro locale.

{"R0": 404, "R1": "No se ha podido completar, faltan datos", "R2": ""}

 

 

404: La app solicitada en la cabecera app-package-name no existe, el locale no existe, la tensión de compra solicitada no existe.

{"R0": 404, "R1": "No existe", "R2": ""}

 

200: Todo ha ido bien y aquí están los datos.

{
    "R0": 200,
    "R1": [
        {
            "located": {
                "id": 140,
                "id_asset_id": 7,
                "id_lang_id": 1,
                "id_app_id": 5,
                "name": "Prueba de descarga",
                "description": "RXN0byBlcyBwYXJhIHByb2JhciBzaSBzZSByZWFsaXphIGxhIGRlc2NhcmdhLg==",
                "path": "",
                "available_until": 1711839600,
                "created_at": 1711303196,
                "updated_at": 1711303196,
                "is_deleted": 0,
                "available_from": 1711234800,
                "uuid": "cXNlYy1ES0wwU1FraGtmRHpmZm9OMzBucVd0M2l4V0xPMEdJR1RCUl9kRT0="
            },
            "asset": {
                "id": 7,
                "id_app_id": 5,
                "name": "Habla, escribe y comunícate con precisión",
                "description": "RXN0byBlcyBwYXJhIHByb2JhciBzaSBzZSByZWFsaXphIGxhIGRlc2NhcmdhLg==",
                "path": "",
                "available_until": 1711839600,
                "created_at": 1710507677,
                "updated_at": 1710507677,
                "is_deleted": 0,
                "available_from": 1710457200
            }
        }
    ],
    "R2": ""
}


El "R0" siempre informará del código.

El "R1" llevará la respuesta.  Si te fijas, siempre llevará el asset general y el locale. En caso de que no haya locale, solo llegará el general.

El "R2" llevará contenido adicional si fuese necesario. Ahora mismo no hay ninguna respuesta que lo lleve en esta solicitud.

Recuerda: Los recursos fuera de fecha no llegarán. Tanto si aún no ha empezado, como si ya ha terminado la fecha de disponibilidad.

 

2) Como descargar los recursos

Como en todas las solicitudes, necesitamos las dos cabeceras:

  • Authorization: Bearer <tu api key>
  • app-package-name: <El ID de aplicación registrado en la plataforma>

La URL de la solicitud será:

http://192.168.1.150:8000/apps/v1/download-asset

El método POST.

Parámetros adicionales:

  • id_asset: El ID del asset a descargar. Puede ser del asset general, o del locale.

 

Ahora vamos con las respuestas:

403: El API Key enviado no es válido, o no tienen ninguna app asociada.

{ "R0": 403,  "R1": "Prohibido",  "R2": ""}

 

404: No se ha enviado la cabecera app-package-name o el parámetro locale.

{"R0": 404, "R1": "No se ha podido completar, faltan datos", "R2": ""}

 

404: La app solicitada en la cabecera app-package-name no existe, la tensión de compra no existe.

{"R0": 404, "R1": "No existe", "R2": ""}

 

200: Todo ha ido bien, aquí tienes tu archivo

Devuelve el archivo mismo en la respuesta.

El nombre del archivo llegará en la cabecera: "filename" por si necesitas hace uso de él.

Lo que tienes que hacer para recuperarlo es cómo si descargases una imagen, o un archivo de audio, desde una URL.

El archivo estará en el cuerpo de la respuesta.

 

Y el tutorial ha terminado. Cómo he explicado en otros casos, haré un video donde explicaré todo de una manera más visible para que puedas implementar todo más visualmente.