Device Groups

Device Groups é uma capacidade de Edge Application que permite identificar os dispositivos que enviam requisições à sua aplicação e categorizá-los em grupos. Você pode usar Device Groups para definir comportamentos personalizados e definir políticas de cache com base nos grupos que você criar.

Usuários que acessam aplicações criadas com o Real-Time Manager (RTM) enviam dados para a Azion através de HTTP request headers, ou cabeçalhos de requisição. O cabeçalho User-Agent guarda informações sobre o navegador do usuário, sistema operacional, versão e fabricante. O cabeçalho possui a seguinte sintaxe:

User-Agent: <product>/<product-version> <comment>

Onde:

  • product: identificador de produto.
  • product-version: versão do produto.
  • comment: informação sobre o sistema, plataformas e extensões.

Por exemplo, o seguinte cabeçalho User-Agent aponta para um acesso de um sistema operacional Windows usando o navegador Mozilla Firefox:

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

O Device Groups funciona fazendo a correspondência do conteúdo do cabeçalho User-Agent com a expressão regular que você definiu para o grupo de dispositivos.

Por exemplo, você pode criar um grupo chamado Mobile cuja expressão regular deve corresponder ao conteúdo dentro do cabeçalho User-Agent que identifica dispositivos móveis. A seguinte expressão pode ser utilizada para identificar a maioria dos dispositivos móveis existentes:

(Mobile|iP(hone|od)|BlackBerry|IEMobile)
EscopoRecurso
Primeiros passos de Edge ApplicationPrimeiros passos
Sobre Rules EngineRules Engine
Sobre Adaptive DeliveryAdaptive Delivery

Quando você cria uma regra, você pode utilizar a variável ${device_group} no Rules Engine para definir quais comportamentos sua aplicação deve executar para os grupos que você criou. Para fazer referência a um grupo de dispositivos, você pode adicionar seu nome à seção de argumentos depois de selecionar o operador de comparação desejado.

Para usar esta variável, você deve habilitar Application Acceleration.

O seguinte critério identifica se a requisição do usuário vem de um dispositivo que corresponda a um grupo de dispositivos chamado Mobile:

VariávelOperador de comparaçãoArgumento
If${device_group}is equal toMobile

O Rules Engine também pode ser usado para identificar dispositivos utilizando a variável ${http_user_agent} diretamente, adicionando uma string ou expressão regular como argumento. Dessa forma, você pode identificar dispositivos específicos sem ter que dedicar um grupo de dispositivos a eles.

Os seguintes critérios identificam se a requisição do usuário vem de um dispositivo iPhone:

VariávelOperador de comparaçãoArgumento
If${http_user_agent}matches(?i)iPhone

Saiba mais sobre o Rules Engine.


Você pode referenciar um grupo de dispositivos existente para Adaptive Delivery. Você pode escolher um ou mais grupos para aplicar as mesmas políticas de Adaptive Delivery.

Saiba mais sobre Adaptive Delivery

Device Groups priorizam combinações em sequência, independentemente da ordem dentro do cabeçalho User-Agent da requisição. Dada a seguinte lista de grupos:

Device GroupExpressão regular
Mobile`(Mobile
Tablet`(iPad
Desktop`(Chrome

Se a requisição for feita por um dispositivo que contenha Android Tablet Mobile (Mozilla Firefox) em seu cabeçalho, as palavras Android e Mobile corresponderão ao grupo Mobile.

Para uma requisição de um dispositivo iPad Apple Webkit Mobile, ele também será identificado como Mobile devido à presença de Mobile dentro da requisição, apesar do iPad corresponder ao grupo de dispositivos Tablet.

Ao estabelecer suas regras, lembre-se que cabeçalhos User-Agent para dispositivos diferentes podem conter as mesmas palavras. Por exemplo: Google Chrome Android provavelmente identifica um dispositivo móvel enquanto Google Chrome Symbian é um cabeçalho que identifica um computador; ambos utilizaram a mesma aplicação Google Chrome para acessar a aplicação. Certifique-se de ser preciso ao criar grupos de dispositivos.


Contribuidores