[ios4] Determine si existe una aplicación e inicie esa aplicación en iOS



2 Answers

Hay un script como el siguiente.

<script type="text/javascript">
function startMyApp()
{
  document.location = 'yourAppScheme://';
  setTimeout( function()
  {
      if( confirm( 'You do not seem to have Your App installed, do you want to go download it now?'))
      {
        document.location = 'http://itunes.apple.com/us/app/yourAppId';
      }
  }, 300);
 }
</script>

Llamando a este script desde la web ( <a href="#" onclick="startMyApp()">Try to start MyApp</a> ), puedes determinar si tu aplicación con el esquema "yourAppScheme" está instalada en el dispositivo o no. .

La aplicación se ejecutará si está instalada en el dispositivo y "yourAppScheme" está registrado en ella. Si la aplicación no está instalada, puede sugerir al usuario que instale esta aplicación desde iTunes.

Question

¿Hay alguna manera de verificar iOS para ver si se ha instalado y lanzado otra aplicación? Si la memoria me sirve, esto no fue posible en las primeras versiones, ¿pero ha cambiado esto?




Luché con esto recientemente, y aquí está la solución que se me ocurrió. Tenga en cuenta que todavía no existe una forma segura de detectar si la aplicación se inició o no.

Sirvo una página de mi servidor que redirige a una variante específica de iPhone al detectar el User-Agent. Los enlaces a esa página solo se pueden compartir a través de correo electrónico / SMS o Facebook.

La página presenta una versión mínima del documento al que se hace referencia, pero luego automáticamente intenta abrir la aplicación tan pronto como se carga, utilizando un <iframe> oculto (AJAX siempre falla en esta situación; no puede usar jQuery o XMLHttpRequest para esto) )

Si el esquema de URL está registrado, la aplicación se abrirá y el usuario podrá hacer todo lo que necesite. De cualquier manera, la página muestra un mensaje como este en la parte inferior: "¿Se lanzó la aplicación? De lo contrario, probablemente aún no lo haya instalado ..." con un enlace a la tienda.




Oculta el mensaje de error si la aplicación no está instalada

En Branch utilizamos un formulario del código a continuación: tenga en cuenta que el iframe funciona en más navegadores. Simplemente sustitúyalo en el URI de su aplicación y en el enlace de la App Store.

<!DOCTYPE html>
<html>
    <body>
        <script type="text/javascript">
            window.onload = function() {
                // Deep link to your app goes here
                document.getElementById("l").src = "my_app://";

                setTimeout(function() {
                    // Link to the App Store should go here -- only fires if deep link fails                
                    window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8";
                }, 500);
            };
        </script>
        <iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
    </body>
</html>

Hay una segunda posibilidad que se basa primero en las cookies y la redirección de JavaScript solo como una alternativa. Aquí está la lógica:

Cuando un usuario sin la aplicación primero toca un enlace a su aplicación, se le redirige directamente a la App Store. Esto se logra mediante un enlace a su aplicación que realmente es una página generada dinámicamente en sus servidores con la redirección. Usted crea una cookie y registra una "huella digital" de la dirección IP, sistema operativo, versión del sistema operativo, etc. en su back-end.

Cuando el usuario instala la aplicación y la abre, usted recopila y envía otra "huella digital" a su servidor. Ahora su backend sabe que el enlace está instalado En cualquier visita posterior a los enlaces asociados con su aplicación, sus servidores se aseguran de que la página de redirección generada dinámicamente conduzca a la aplicación, no a la App Store, en función de la cookie enviada con la solicitud.

Esto evita la fea redirección pero implica mucho más trabajo.




Related