-3

Descobrindo se o usuário está acessando seu site de um celular

criado por PorKaria em 19/04/2010 3:19pm
O projeto IsMobile é uma classe para identificar se o usuário que está acessando a sua aplicação está utilizando um dispositivo móvel. O projeto é escrito em PHP, seguindo o Coding Standards do PEAR, interface para implementação de Log, suporte nativo aos dispositivos móveis mais populares no mercado e usa a licença BSD.

No pacote que vem a classe tem um arquivo com exemplos de utilização, vou criar outro exemplo para esse artigo, identificando se o usuário está usando um celular da Nokia ou um iPad.

<?php
require_once "caminho/ate/a/classe/ismobile.class.php";
 
$agents_test = array("Nokia6600/1.0 (4.09.1) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0",       
        "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10");
 
$ismobiuser = new isMobile($agents_test[rand(0,1)]);
 
if ($ismobiuser->CheckMobile()) {
    $mobileDevice = $ismobiuser -> GetMobileDevice();
 
    switch ($mobileDevice) {
        case "Nokia":
            echo "User Agent do seu Nokia é " . $ismobiuser -> GetUserAgent();
            break;
        case "iPad":
            echo "Você está usando um iPad";
            break;
    }
}
?>

Note que estou utilizando a string $agents_test no lugar da variável pré-definida $_SERVER['HTTP_USER_AGENT'], é essa variável que devemos passar para o construtor da classe IsMobile.

Para baixar a IsMobile acesse a página do projeto: http://www.phpmobile.com.br/ismobile

Lá você vai encontrar todas as instruções para sua utilização.

Referência:

http://www.porkaria.com.br/2010/04/19/identificando-qual-celular-esta-acessando-site/

Comentários:

Mostrando 1 - 2 de 2 comentários
PorKaria disse:
A função get_browser é atualizado através de um arquivo chamado browscap.ini

E você precisa de acesso ao servidor ou um bom contato com o suporte do seu host, para ele autorizar que a configuração do seu PHP faça uma chamada a um arquivo externo.

Sem contar que, o projeto é mantido por aqui: http://browsers.garykeith.com/downloads.asp

E não guarda a capacidade dos celulares.
27/04/2010 9:01pm (~14 anos atrás)

PorKaria, não é melhor usar a função get_browser?

Ela devolve o atributo "ismobiledevice". Não cheguei a ver o quão bem a função detecta este tipo de dispositivo, mas a vantagem é que o arquivo INI pode ser atualizado periodicamente (e automaticamente).

http://br.php.net/manual/pt_BR/function.get-browser.php
27/04/2010 8:58pm (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)