Como criar device groups
Agrupe usuários finais com base em seus dispositivos, sistemas operacionais ou navegadores com informações fornecidas pelo cabeçalho de requisição HTTP User-Agent
. Ao usar Device Groups para categorizar requisições, você pode tornar sua aplicação mais responsiva.
Com este guia, você irá criar e ativar um novo device group para identificar dispositivos móveis que acessam sua aplicação.
- Acesse o Real-Time Manager (RTM).
- No canto superior esquerdo da página, abra o Products menu, representado por três linhas horizontais, e selecione Edge Application.
- Clique na edge application para a qual você deseja criar um novo device group.
- Selecione a aba Device Groups.
- Clique no botão Add Device Group.
- Nomeie seu device group. O nome do seu device group não pode conter espaços e deve ter apenas caracteres alfanuméricos. Por exemplo:
Mobile
. - No campo User Agent, especifique uma expressão regular que atenda aos critérios desejados. Por exemplo:
(Mobile|iPhone|Android)
. - Clique no botão Save.
Agora que seu device group está configurado, você pode usar o Rules Engine para determinar qual ação deve ser tomada se a expressão for correspondida a um cabeçalho User-Agent
. Neste caso, um cabeçalho personalizado Device-Is
será recebido na resposta:
- Navegue até a aba Rules Engine.
- Clique em Add Rule e selecione Response Phase.
- Dê um nome à sua regra. Por exemplo:
Device Group: Mobile
. - Na seção Criteria, selecione a variável
${device_group}
. - Selecione o operador is equal.
- Adicione o nome do device group conforme configurado nas instruções anteriores. Por exemplo:
Mobile
. - Na seção Behavior, selecione o comportamento Add Response Header.
- Como argumento, adicione
Device-Is: Mobile
. - Clique no botão Save.
- Aguarde alguns minutos para que as alterações se propaguem pelo edge.
Se o seu navegador atual enviar um cabeçalho User-Agent
semelhante ao exemplo, você pode testar se a requisição passou acessando sua aplicação de um dispositivo móvel ou injetando o cabeçalho e seu valor à requisição usando o seguinte comando:
curl -I https://xxxxxxxxxx.map.azionedge.net/ -H "User-Agent: iPhone Android"
Você deve receber uma lista de cabeçalhos incluindo o cabeçalho personalizado adicionado pela regra: device-is: Mobile
. Agora que você verificou que os dispositivos estão sendo corretamente categorizados, você pode personalizar o comportamento desejado usando a mesma regra.
- Acesse o Azion Console > Edge Application.
- Clique na edge application para a qual você deseja criar um novo device group.
- Selecione a aba Device Groups.
- Clique no botão + Device Group.
- Nomeie seu device group. O nome do seu device group não pode conter espaços e deve ter apenas caracteres alfanuméricos. Por exemplo:
Mobile
. - No campo Match to User-Agent, especifique uma expressão regular que atenda aos critérios desejados. Por exemplo:
(Mobile|iPhone|Android)
. - Clique no botão Save.
Agora que seu device group está configurado, você pode usar o Rules Engine para determinar qual ação deve ser tomada se a expressão for correspondida a um cabeçalho User-Agent
. Neste caso, um cabeçalho personalizado Device-Is
será recebido na resposta:
- Navegue até a aba Rules Engine.
- Clique em + Rule.
- Dê um nome à sua regra. Por exemplo:
Device Group: Mobile
. - Selecione Response Phase.
- Na seção Criteria, selecione a variável
${device_group}
. - Selecione o operador is equal.
- Adicione o nome do device group conforme configurado nas instruções anteriores. Por exemplo:
Mobile
. - Na seção Behavior, selecione o comportamento Add Response Header.
- Como argumento, adicione
Device-Is: Mobile
. - Clique no botão Save.
- Aguarde alguns minutos para que as alterações se propaguem pelo edge.
Se o seu navegador atual enviar um cabeçalho User-Agent
semelhante ao exemplo, você pode testar se a requisição passou acessando sua aplicação de um dispositivo móvel ou injetando o cabeçalho e seu valor à requisição usando o seguinte comando:
curl -I https://xxxxxxxxxx.map.azionedge.net/ -H "User-Agent: iPhone Android"
Você deve receber uma lista de cabeçalhos incluindo o cabeçalho personalizado adicionado pela regra: device-is: Mobile
. Agora que você verificou que os dispositivos estão sendo corretamente categorizados, você pode personalizar o comportamento desejado usando a mesma regra.
- Execute a seguinte requisição
POST
no seu terminal, substituindo[TOKEN VALUE]
pelo seu personal token e a variável<edge_application_id>
pelo ID da sua aplicação edge:
curl --location 'https://api.azionapi.net/edge_applications/<edge_application_id>/device_groups' \--header 'Accept: application/json; version=3' \--header 'Content-Type: application/json' \--header 'Authorization: Token [TOKEN VALUE]' \--data '{ "name": "Mobile", "user_agent": "(Mobile|iPhone|Android)"}'
Chave | Descrição |
---|---|
name | O nome do device group. Deve ser alfanumérico. |
user_agent | A expressão regular que deve ser correspondida ao conteúdo do cabeçalho User-Agent da requisição. |
- Você receberá uma resposta semelhante a esta:
{ "results": { "id": <device_group_id>, "name": "Mobile", "user_agent": "(Mobile|iPhone|Android)" }}
- Execute a seguinte requisição
POST
no seu terminal, substituindo[TOKEN VALUE]
pelo seu personal token, a variável<edge_application_id>
pelo ID da sua aplicação edge, e a variávelinput_value
pelo nome do seu device group:
curl --location 'https://api.azionapi.net/edge_applications/<edge_application_id>/rules_engine/response/rules' \--header 'Accept: application/json; version=3' \--header 'Content-Type: application/json' \--header 'Authorization: Token [TOKEN VALUE]' \--data '{ "name": "DG - Mobile", "behaviors": [ { "name": "add_response_header", "target": "Device-Is: Mobile device" } ], "criteria": [ [ { "variable": "${device_group}", "operator": "is_equal", "conditional": "if", "input_value": "Mobile" } ] ]}'
- Você receberá uma resposta semelhante a esta:
{ "results": { "id": <rule_id>, "name": "DG - Mobile", "phase": "response", "behaviors": [ { "name": "add_response_header", "target": "Device-Is: Mobile device" } ], "criteria": [ [ { "variable": "${device_group}", "operator": "is_equal", "conditional": "if", "input_value": "Mobile" } ] ], "is_active": true, "order": 3, "description": "" },}
- Aguarde alguns minutos para que as alterações se propaguem para os edge nodes.
- Execute a seguinte requisição cURL manipulando o cabeçalho
User-Agent
para corresponder ao device group:
curl -I https://xxxxxxxxxx.map.azionedge.net/ -H "User-Agent: Android"
- Se você receber uma resposta semelhante à seguinte, seu device group foi categorizado com sucesso:
HTTP/2 200content-type: text/html; charset=utf-8content-length: 9593device-is: Mobile device
Agora você pode desativar a regra ou criar uma regra diferente para ajustar as configurações da aplicação às suas necessidades.
Contribuidores