Spanish Sugerencia de modelo de negocios para tu App.

Discussion in 'Spanish Forum' started by vbmundo, Jun 21, 2016.

  1. vbmundo

    vbmundo Well-Known Member Licensed User

    Amigos,

    Quiero en esta oportunidad dejar un consejo, producto de mil preguntas que me he hecho acerca de como aprovechar al máximo nuestras APPs y ganar dinero.

    He descartado el uso de AddMoB, por varios motivos..

    1. el SDK de Google Admob pesa muchísimo, haciendo nuestra APP muy pesada.
    2. Luego de mis mas de 8 años en el mundo de la publicidad Online (fui dueño de una Adnetwork por 5 años) se que a no ser de que tu App tenga millones de usuarios, no harás gran cantidad de dinero.
    3. La demora de carga de la publicidad a veces espanta a los Usuarios o terminan saliendo de la misma sin que sea cargado el Banner.
    4. La publicidad que comunmente aparece nada tiene que ver con la temática de nuestra App.
    Debes determinar si tu App será gratuita o de pago..

    Mi modelo preferido es una App Gratuita y luego lanzar una versión PRO con muchas mas funcionalidades pero de Pago.

    Pero como puedes hacer para que tus usuarios FREE se enteren desde tu APP FREE que has lanzado una versión PRO ?

    Es simple... y esto que explicaré no solo sirve para promocionar nuestra APP PRO, sino que sirve para todo tipo de acuerdo publicitario o hasta para publicitar otra aplicación nuestra FREE, etc.

    Que haremos ?

    Adicionaremos un ImageView al Activity que deseemos.

    Le daremos un tamaño de 300x90 y lo llamaremos Banner

    Necesitamos un Servidor remoto que nos provea de una Base MySQL (puede ser gratuito o pago)

    Necesitaremos usar algunos controles que descargaremos desde este foro.

    Por ejemplo el ImageDownloader

    https://www.b4x.com/android/forum/threads/imagedownloader-the-simple-way-to-download-images.30875/

    Necesitaremos crear el archivo php (se puede copiar y pegar el que Erel incluye como ejemplo en el siguiente link)

    https://www.b4x.com/android/forum/threads/connect-android-to-mysql-database-tutorial.8339/#content

    Crearemos una Tabla en nuestra BD y la llamaremos como deseemos, le incluiremos 3 campos..

    • Banner_Id (Int )
    • Banner_Nombre (Varchar 50)
    • Banner_Link (Varchar 100)
    Crearemos en el servidor remoto, una carpeta por cada aplicación que tengamos y queramos incluir nuestro banner.. y dentro un archivo PHP con los datos de conexión a nuestra BD y crearemos un JPG con el banner que queremos mostrar.

    La idea es que nuestra aplicación, detecte el JPG remotamente y con el ImageDownloader baje ese JPG a nuestro ImageView

    Pero ese ImageView debe ejecutar un llamado a una URL cuando le hagamos Click, así que para eso nos sirve la conexión a la BD remota.. para simplemente capturar a que URL tiene que dirigir cuando nuestros usuarios hagan click.

    Que se hace de esta forma

    Code:
    Sub Banner_Click
          
    Dim p as PhoneIntents
          p.OpenBrowser(miLink)
    End Sub
    Y listo...

    VENTAJAS DE ESTE MODELO

    1. Nos permite remotamente impactar con nuevos banners en aplicaciones que ya fueron descargadas hace mucho tiempo , sin que el usuario tenga que instalar nuevas versiones de la misma.
    2. La carga del ImageView es extremadamente mas rápida que la publicidad convencional sin demorar la App.
    3. Nos permite llegar a todos nuestros usuarios, de una o varias Apps. mostrándoles el contenido que nosotros determinemos, pudiendo también aprovecharse con Promociones CPA con Link Directo... (ej. Podremos mostrar una Promoción de Juegos CPA si sabemos que el publico de nuestra aplicación es Afin a los Juegos).
    4. Podemos hacer nuestro ImageView Invisible simplemente quitando el Link de nuestra BD (ej. If miLink.text.length=0 then Banner.visible=False )
    5. Imagina que tienes 10 Apps y entre todas sumas 100.000 Instalaciones, puedes promocionar el mismo contenido en todas, en solo 1 minuto.
    6. El peso de tu APP no sufre alteraciones, ya que no se instalan pesados SDKs y la calidad de tu aplicación no decae al no aparecer publicidad NO DESEADA.

    SI un % considerable de tu version FREE termina comprando tu versión PRO, habrás ganado muy bueno dinero.. pero para que eso ocurra, los usuarios FREE deben enterarse de tus nuevas versiones.

    Saludos




     
    desof, asales, Javier Donayre and 3 others like this.
  2. rscheel

    rscheel Well-Known Member Licensed User

    Esta buena la explicación, la pregunta es por que no usar un webview?
     
  3. vbmundo

    vbmundo Well-Known Member Licensed User

    Estéticamente no es lo mismo. ademas, el Webview no tiene evento CLICK.

    La carga es mucho mas pesada con un WebView y los clicks que hagas dentro solo recargaran ese pequeño recuadro.. no es lo mismo que un ImageView que se cargará muy rapido... el mio carga una imagen de 6.5 kb en 1 segundo..

    Pero básicamente tienes que entender que al no tener evento CLICK se complica.

    Saludos
     
  4. cpedgarbm

    cpedgarbm Member Licensed User

    Excelente aportación vbmundo muchas gracias.
     
  5. rscheel

    rscheel Well-Known Member Licensed User

    Hay una librería que se llama si no me equivoco webview extras.
     
  6. vbmundo

    vbmundo Well-Known Member Licensed User

    Creeme esta solución es el Santo Grial.. tendrás el poder absoluto de todas tus publicaciones y con solo cambiar un JPG y un Link en tu tabla de MySQL ya estarás ONLINE con tus usuarios
     
    rscheel likes this.
  7. rscheel

    rscheel Well-Known Member Licensed User

    Voy a probar haber como me va, ahí te cuento.

    Gracias.
     
  8. vbmundo

    vbmundo Well-Known Member Licensed User

    Cualquier duda con el código, puedo subir un proyecto de ejemplo.
     
  9. Dadaista

    Dadaista Member Licensed User

    Hola
    El imageview cuando lo muestras? Hay que utilizar un timer no? y sacarlo cada cierto tiempo.... Se cierra solo?

    Puedes poner codigo de ejemplo por favor?... esto es muy interesante para promocionar cualquier cosa, no solo apps :rolleyes:
     
  10. vbmundo

    vbmundo Well-Known Member Licensed User

    Voy a dejar el código completo y explicado para que puedan comprenderlo.

    En primer lugar, deben crear en una BD remota, la tabla necesaria. en este caso yo la he llamado ANDROID

    [​IMG]


    Luego en tu Servidor creas las carpetas que consideres correctas para separar esto del resto de tu sitio web y así poder administrar mas eficientemente.

    En mi caso , y al ser mi primera aplicación, le asigné el numero 1.

    [​IMG]


    Entonces, que es lo que tiene ese archivo PHP que ejecutaremos desde nuestra Aplicación ?

    Code:
    <?

    $databasehost = 
    "<tus datos>";
    $databasename = 
    "<tus datos>";
    $databaseusername =
    "<tus datos>";
    $databasepassword = 
    "<tus datos>";

    $con = mysql_connect($databasehost,$databaseusername,$databasepassword) 
    or die(mysql_error());
    mysql_select_db($databasename) 
    or die(mysql_error());
    mysql_query(
    "SET CHARACTER SET utf8");
    $query = file_get_contents(
    "php://input");
    $sth = mysql_query($query);

    if (mysql_errno()) {
        header(
    "HTTP/1.1 500 Internal Server Error");
        echo $query.
    '\n';
        echo mysql_error();
    }
    else
    {
        $rows = array();
        while($r = mysql_fetch_assoc($sth)) {
            $rows[] = $r;
        }
        print json_encode($rows);
    }
    ?>
    Este Web Service es el que invocarás desde tu APP y le correrás la Sentencia SQL que leerá la Tabla capturando el link de destino de tu Banner.

    Ahora vamos a la APP B4A.

    Debes tener las siguientes librerías en tu proyecto.

    [​IMG]

    Y meter este código en tu Activity (donde meterás el Banner)

    Code:
    Sub ExecuteRemoteQuery(Sentencia As String, JobName As String)
        
    Dim job As HttpJob
        job.Initialize(JobName, Me)
        job.PostString(
    "http://www.vb-mundo.com/BannerAndroid/SuperMySQL/1.php", Sentencia) ' Aqui reemplazas mi archivo php por la URL de tu PHP
    End Sub

    Sub JobDone(Job As HttpJob)
        
    ProgressDialogHide
        
    If Job.Success Then
        
    Dim res As String
            res = Job.GetString
            
    Log("Response from server: " & res)
            
    Dim parser As JSONParser
            parser.Initialize(res)
            
    Dim Links As List
            Links = parser.NextArray 
    'returns a list with maps
            Dim m As Map
            m = Links.Get(
    0)
            Starter.LinkBanner=m.Get(
    "Android_Link")
        
    End If
        Job.Release
    End Sub
    Estas rutinas, conectarán con tu Base de Datos, y básicamente una vez que las has incorporado, no necesitarás modificarlas.

    Pero ahora vamos a la parte donde le pasamos la Sentencia SQL a esas rutinas, para poder leer el valor del LINK de URL de Destino.

    Code:
    Sub Activity_Resume
        ExecuteRemoteQuery(
    "SELECT Android_Link FROM android WHERE Android_AppId=1", Link)
        
    If Starter.LinkBanner.Trim.Length>0 Then CargoBanner
    End Sub
    Ahi tienes un dato revelador !!!

    SI UN DIA QUIERES BORRAR TU BANNER Y QUE INSTANTANEAMENTE DESAPAREZCA DE TODAS LOS MOVILES QUE EJECUTEN TU APP.. SIMPLEMENTE PONES EN BLANCO EL CAMPO "ANDROID_LINK" para la APP 1.



    Y ahora, debes usar otras librerias y un modulo de clase para que tu IMAGEVIEW se cargue con el archivo que has subido al servidor (en mi caso 1.jpg)

    [​IMG]

    Yo lo he definido de 300x90 para que sea un Banner Standard y pueda verse tanto en un Movil como en una Tablet. y además para que no pese tanto.

    Si te fijas, solo pesa 6 Kb.

    Pero vamos a las Rutinas del ImageDownloader.

    debes descargarte el archivo desde este link
    https://www.b4x.com/android/forum/t...-simple-way-to-download-images.30875/#content

    Y luego en tu Aplicación, "Add Existing Modules" incorporando ese archivo .BAS a tu proyecto

    En la APP incluyes estos SUBS

    Code:
    Sub CargoBanner
        
    Dim m As Map
        Banner.Visible=
    True
        m.Initialize
        m.Put(Banner,
    "http://www.vb-mundo.com/BannerAndroid/SuperMySQL/1.jpg"' Aqui la URL de tu archivo JPG para la APP nr.1
        CallSubDelayed2(ImageDownloader, "Download", m)
    End Sub

    Sub Banner_Click
    Dim p As PhoneIntents
        
    StartActivity(p.OpenBrowser(Starter.LinkBanner))
    End Sub
    Como verás en conclusión...

    Tu remotamente eres el DIOS que decide cuando y que imagen verán los usuarios, a que URL serán redirigidos, y sobre todo.. no necesitarán instalar una nueva versión cuando decidas cambiar... impactará instantaneamente a todos los que tengan tu APP instalada.

    Y tu decides cuando el Banner aparecerá o no.. simplemente quitando o colocando una URL en el campo ANDROID_LINK de tu Base de Datos.

    Espero que haya sido claro..

    Y si te ha gustado... DEJAME UN LIKE !!!

    Saludos
     
    CSesma, angel_, asales and 2 others like this.
  11. rscheel

    rscheel Well-Known Member Licensed User

    Estimado un concejo no utilice mysql para conexiones a bd desde php, utlice MYSQLI o PDO, ya que mysql esta obsoleto en las nuevas versiones de php.
     
  12. vbmundo

    vbmundo Well-Known Member Licensed User

    Ok, gracias

    Por ahora mis bases soportan PHP, pero es bueno el dato para quienes tengan nuevas versiones de PHP.

    Saludos
     
  13. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola Pablo, buen aporte.

    Yo empleo otro sistema que hace que la App no gaste datos en consultar si hay publicidad (o lo que quieras), y no necesitas de bases de datos, php... solo un servidor que aloje las imagenes que incluso puede estar en la nube.
    Para actualizar esa publicidad se lo digo por mensajeria instantanea (GCM), y cuando el usuario entra en la aplicación se baja la imagen o imágenes, ya que tambien puedo hacer un carrusel. Pero como se dice aqui: "cada maestrillo tiene su librillo".

    Dos apuntes:

    Con respecto a lo que te apuntó Rscheel sobre el Webview y que tu respondiste:
    Si el problema es por el evento Click, te recuerdo que si pones un panel transparente encima del WebView podras capturar los eventos Click, LongClick y Touch ;)

    Este apunte es para que te lo apuntes con el resto del foro que te ayuda .... :D
    Si miras esto quizas lo entiendas mejor:
    https://www.b4x.com/android/forum/threads/mejorar-el-foro-“spanish-forum”.39799/#post-275269

    Y dos Post después tambien.

    Saludos
     
    CSesma likes this.
  14. vbmundo

    vbmundo Well-Known Member Licensed User

    Entiendo amigo

    Pero tengo 14 años como Administrador de un foro y se lo que los usuarios son capaces, por eso de pedir "Gracias" nada.. ya me resigné de haber ayudado y contestado a miles y miles por un "NADA"

    Al menos un LIKE no se le niega a nadie y solo cuesta un CLICK !! jaja
     
  15. Carlos marin

    Carlos marin Active Member Licensed User

    Amigo muchas gracias por este gran aporte ! ;)
     
    vbmundo likes this.
  16. vbmundo

    vbmundo Well-Known Member Licensed User

    Espero lo disfruten y si tienen dudas me preguntan.
     
  17. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola

    Pues ya sabes, predica con el ejemplo :D

    Saludos
     
    vbmundo likes this.
  18. dar2o3

    dar2o3 Active Member Licensed User

    Jajajajaja. Creo que este es el único foro donde soy un poquito activo, soy un poco ermitaño, para que vale tener likes? yo lo utilizo como medio para reconocerle a alguien la molestia de compartir sus conocimientos para ayudar a alguien pero... ¿tiene alguna otra finalidad?
     
    bgsoft likes this.
  19. vbmundo

    vbmundo Well-Known Member Licensed User

    Costumbres que uno adquiere cuando fue tocado por el mundo del Marketing.

    Tuve por 5 años una ADNETWORK muy premiada.. luego tuve que venderla. y la Publicidad es todo.

    Los Likes te dan una medalla que ante la vista de algunos, te da un prestigio..y si en tu firma luego quieres promocionar tus APPs, los Likes ayudan.

    No es algo muy notorio, es mas bien SUTIL, pero todo suma..

    Confia en el lado oscuro de la fuerza !!

    Saludos
     
  20. vbmundo

    vbmundo Well-Known Member Licensed User

    Tienes razón amigo... ahi te envie un LIKE
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice