O campo permissions
no app manifest controla o acesso do app a várias API sensíveis no dispositivo (também conhecidas por WebAPIs). As permissões são descritas nas tabelas a seguir.
- Apps hospedadas (hosted): têm um nível básico de permissões não tendo acesso às APIs privilegiadas ou certificadas.
- Apps privilegiadas (privileged): têm todas as permissões das hospedadas (hosted) e outras mais. Apps hospedadas não podem ser privilegiadas - para isto devem ser empacotadas
- Apps certificadas (certified): têm todas as permissões das privilegiadas e armazenadas e outras mais.
Para mais informações sobre os tipos acima veja Tipos de apps empacotados.
Nota: Se você usa o App Manager para testar sua app, ele demonstrará uma tabela de fácil leitura das permissões que são permitidas (allowed), negadas (denied), ou requerem uma confirmação (require prompt) no dispositivo ou simulador atual ao qual está conectado.
Permissões de apps hosted
e privileged
Manifesto | Nome da API | Descrição | Modelo de App requerido | Acesso a propriedade |
Default granted | Plataform |
---|---|---|---|---|---|---|
alarms |
Alarm | Agenda uma notificação, ou uma aplicação para ser iniciada. | hosted | none | Allow |
FxOS |
audio-capture |
GetUserMedia | Obtém um canal de mídia (MediaStream) de dispositivos de entrada de áudio, ex. Microfone | hosted | none | Prompt (mesmo para Apps certificados) |
FxOS |
audio-channel-alarm |
Audio Policy | Alarmes de data / hora. | privileged | none | Allow |
FxOS |
audio-channel-content |
Audio Policy | Música, video. | hosted | none | Allow |
FxOS |
audio-channel-normal |
Audio Policy | Sons da interface, conteúdo Web, música, rádio. | hosted | none | Allow |
FxOS |
audio-channel-notification |
Audio Policy | Novo email ou sms. | privileged | none | Allow |
FxOS |
browser |
Browser | Habilita o app para implementar um browser em um iframe . |
privileged | none | Allow |
FxOS |
contacts |
Contacts | Adicionar, ler ou modificar contatos da lista no dispositivo e ler contatos do SIM. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt para todos tipos de apps instalados. |
FxOS |
desktop-notification |
mozNotification for Gecko <22, Notification for Gecko 22+ | Mostra uma notificação no desktop do usuário. Note que para Gecko <22 (Firefox OS <1.2) deve ser utilizado mozNotification , enquanto para Gecko 22+ (Firefox 1.2+) deve-se utilizar Notification . |
hosted | none | Prompt para conteúdo Web. Allow para todos os tipos de Apps instalados. |
FxOS, Android, Desktop |
device-storage:music |
Device Storage | Adicionar, ler ouo modificar arquivos de música armazenados no dispositivo. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS |
device-storage:pictures |
Device Storage | Adicionar, ler ouo modificar arquivos de imagens armazenados no dispositivo. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS |
device-storage:sdcard |
Device Storage | Adicionar, ler ouo modificar arquivos armazenados no cartão SD do dispositivo. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS |
device-storage:videos |
Device Storage | Adicionar, ler ouo modificar arquivos de vídeo armazenados no dispositivo. | privileged | readonly , readwrite , readcreate , or createonly |
Prompt |
FxOS |
fmradio |
FM Radio | Controlar o rádio FM. | hosted | none | Allow |
FxOS |
geolocation |
Geolocation | Obter a localização atual do usuário. | hosted | none | Prompt (mesmo para Apps certificados) |
FxOS, Desktop, Android |
keyboard |
Keyboard | Permite o app atuar como um teclado virtual verificando os eventos de troca de foco em outros apps. | Hospedado | none | Allow |
FxOS |
mobilenetwork |
Mobile Network | Obter informações da rede móvel (MCC, MNC, etc.). | privileged | none | Allow |
FxOS |
push |
Simple Push | Habilita um app a acordar para receber uma notificação. | hosted | none | Allow |
FxOS |
storage |
Storage | Utilizar armazenamento (appcache, pinned apps, IndexedDB) sem limitação de tamanho. Veja appcache, IndexedDB. | hosted | none | Allow |
FxOS, Desktop |
systemXHR |
SystemXHR | Permite cross-origin XHR (sem cookies) anônimo sem o site alvo ter CORS habilitado. Similar a API Socket TCP mas restrita a XHR, não somente raw sockets, então o risco é bem menor. Veja XMLHttpRequest. | privileged | none | Allow |
FxOS |
tcp-socket |
TCP Socket | Cria sockets TCP e comunica com eles. | privileged | none | Allow |
FxOS, Desktop |
Permissões de apps certificadas
As permissões a seguir requerem um app certificado e são permitidas sem solicitar confirmação ao usuário. A maioria dos desenvolvedores não serão capazes de utilizar estas permissões, pois elas são direcionadas a apps a nível de sistema.
Manifest permission | Nome da API | Descrição | Minimum app type required | Propriedade de Acesso |
Plataform |
---|---|---|---|---|---|
attention |
Attention Screen | Permite um conteúdo abrir uma janela acima de todos os outros conteúdos. Utilizado pelo telefone e SMS. | certified | none | FxOS |
audio-channel-ringer |
Audio Policy | Chamadas entrantes do telefone. | certified | none | FxOS |
audio-channel-telephony |
Audio Policy | Ligações telefone e VoIP. | certified | none | FxOS |
audio-channel-publicnotification |
Audio Policy | Sons do obturador da câmera. | certified | none | FxOS |
background-sensors |
Background Sensor | Habilidade para monitorar em background eventos do sensor de proximidade. (Todos apps recebem estes eventos em foreground ) |
certified | none | FxOS |
backgroundservice |
Background Services | Habilita um app para rodar em background e realizar tarefas como sincronizia ou responder a mensagens entrantes. |
certified | none | FxOS |
bluetooth |
Acesso de baixo nível ao hardware Bluetooth. | certified | none | FxOS | |
camera |
Camera |
Tirar fotos, filmar e controlar a câmera. Nota: A razão da câmera estar limitada a apps certificadas é que a sandbox, na qual as apps rodam, evita o acesso ao hardware da câmera. Nosso objetivo é torná-la disponível a aplicações de terceiros, porém não temos tempo de fazer nesta liberação inicial. |
certified | none | FxOS |
cellbroadcast |
Dispara um evento quando um tipo específico de mensagem de rede celular é recebida. (uma notificação de emergência em rede). | certified | none | FxOS | |
device-storage:apps |
Device Storage | Adicionar, ler ou modificar arquivos armazenados no local de apps do dispositivo. | certified | read |
FxOS |
embed-apps |
Embed Apps | Habilidade para embedar apps em mozApp frames. |
certified | none | FxOS |
idle |
Idle | Notifica o app se o usuário está ocioso. | certified | none | FxOS |
mobileconnection |
Mobile Connection | Obter informação sobre a atual conexão móvel de voz e dados. | certified | none | FxOS |
network-events |
Network Events | Monitorar uploads e downloads da rede. | certified | none | FxOS |
networkstats-manage |
Network Stats Manage | Obter estatísticas de uso de dados por interface. | certified | none | FxOS |
open-remote-window |
Open out-of-process windows | Permite chamadas window.open normais, mas a janela resultante é aberta em um novo processo. |
certified | none | FxOS |
permissions |
Permissions | Permite um app a gerenciar permissões de outros aplicativos. | certified | none | FxOS |
power |
Power Management | Liga ou desliga a tela, controla CPU, energia do aparelho etc. Monitora e inspeciona eventos de travamento de recursos. | certified | none | FxOS |
settings |
Settings | Alterar ou ler as configurações do dispositivo. | certified | readonly or readwrite |
FxOS |
sms |
WebSMS | Mandar e receber mensagens SMS. | certified | none | FxOS |
telephony |
WebTelephony | Acessar toda API relacionada a telefonia para fazer e receber chamadas. | certified | none | FxOS |
time |
TimeManager | Setar a hora atual. Informação de time zone é controlada pla API Settings. Antigamente chamada de systemclock . |
certified | none | FxOS |
voicemail |
Voicemail | Acessar correio de voz. | certified | none | FxOS |
webapps-manage |
Open Webapps | Obter acesso a API navigator.mozApps.mgmt para gerenciar Open Web Apps instaladas. |
certified | none | FxOS, Desktop, Android |
wifi-manage |
WiFi Management | Enumerar redes WiFi disponíveis, verificar a força do sinal, conectar à rede. | certified | none | FxOS |
wappush |
WAP Push | Receber mensagens WAP Push. | certified | none | FxOS |
Veja também
A tabela de permissões é onde as permissões são definidas no código Firefox.
Muitas destas APIs estão em desenvolvimento e outras virão no futuro. Para maiores informações no andamento veja a página WebAPI na MozillaWiki.