View in English

  • Global Nav Open Menu Global Nav Close Menu
  • Apple Developer
Search
Cancel
  • Apple Developer
  • News
  • Discover
  • Design
  • Develop
  • Distribute
  • Support
  • Account
Only search within “”

Quick Links

5 Quick Links

Vídeos

Abrir menu Fechar menu
  • Coleções
  • Tópicos
  • Todos os vídeos
  • Sobre

Mais vídeos

  • Sobre
  • Resumo
  • Transcrição
  • Código
  • Proporcione experiências adequadas para cada idade no seu app

    Saiba como proporcionar experiências apropriadas para cada idade no seu app com a nova API Declared Age Range. Abordaremos como os pais podem permitir que seus filhos compartilhem a faixa etária com um app para garantir uma experiência segura que proteja a privacidade. Também vamos explorar como esse framework pode ajudar a personalizar o conteúdo e os recursos do seu app com base na idade do usuário e mostrar como implementar limites de idade, entender o funcionamento do cache e respeitar a privacidade dos usuários enquanto cria experiências mais seguras e envolventes.

    Capítulos

    • 0:00 - Introdução
    • 0:34 - Ajudar a proteger crianças online
    • 2:25 - Framework Declared Age Range
    • 7:00 - Solicitar uma faixa etária
    • 12:22 - Mais formas de manter as crianças seguras

    Recursos

    • Declared Age Range
    • Design safe and age‑appropriate experiences for your apps and games
    • Helping Protect Kids Online
      • Vídeo HD
      • Vídeo SD

    Vídeos relacionados

    WWDC25

    • Aumente a segurança das crianças com o PermissionKit
  • Buscar neste vídeo...

    Olá. Esta é a sessão “Criar experiências adequadas à idade no app”. Meu nome é Austin. Sou Engineering Manager na equipe iCloud Family. Neste vídeo, abordarei três tópicos. Primeiro, proteção das crianças na internet. Depois, o framework Declared Age Range. Por fim, vou mostrar como solicitar uma faixa etária e criar uma ótima experiência adequada à idade. Vou começar repassando o contexto que nos levou a criar o framework Declared Age Range. O objetivo na Apple é criar tecnologias que melhorem e enriquecem a vida das pessoas e as ajudar a permanecer seguras online e proteger sua privacidade. Queremos que pessoas de todas as idades tenham experiências excelentes e seguras com os produtos e serviços.

    Em fevereiro de 2025, a Apple lançou o artigo técnico “Ajudar a proteger as crianças internet”. Proteger menores contra ameaças online, sejam crianças, pré-adolescentes ou adolescentes, requer esforços constantes.

    O mundo digital está cada vez mais complexo, e os riscos para famílias não param de mudar. Com base no compromisso da Apple com a privacidade e a segurança, continuamos aprimorando as ferramentas desenvolvidas para ajudar os pais a proteger seus filhos, sempre com foco na privacidade. Em março de 2025, a Apple lançou um fluxo simplificado de configuração para crianças. Ele oferece ajustes padrão adequados a crianças, assim os pais podem concluir o ajuste da conta do filho depois. No iOS 26, o Apple oferece aos pais a possibilidade de corrigir a idade associada à conta dos filhos caso ela tenha sido configurada incorretamente. No iOS 26, as classificações etárias globais da App Store mudaram para oferecer mais granularidade. Existem agora cinco categorias: 4+, 9+, 13+, 16+, 18+. Elas adicionam mais informações úteis nas páginas de produtos e dão aos pais mais insights sobre as experiências dos filhos. E, por último, foi lançada a nova API Declared Age Range, o foco deste vídeo. Depois vou abordar as especificidades do framework Declared Age Range. Em uma experiência adequada à idade, o app pode pedir uma faixa etária. A solicitação em si é personalizada com base no que o app solicita e na idade do usuário. Os usuários podem compartilhar ou não. Com base nessa decisão, o app pode adaptar sua experiência. Aqui, o app pergunta se o usuário tem 16 anos ou mais. Para preservar a privacidade, o app fornece um conjunto de idades importantes para a experiência. A API retornará uma faixa etária, que é um conjunto de dois números. Assim a data de nascimento fica privada. O usuário só precisa revelar o necessário para obter a experiência adequada. Agora, vou analisar como os usuários podem declarar as faixas etárias. Aqui, o app pergunta sobre idades de 13 e 16 anos.

    Olivia tem 14, então ela pode declarar que está na faixa de 13 a 15.

    Emily tem 9, pode declarar que tem 12 anos ou menos.

    Ann tem 42 e pode declarar que tem 16 ou mais. Em cada caso, a data de nascimento não é revelada. O framework Declared Age Range é voltado para crianças e adolescentes. Assim, a API definirá um número máximo regional para a idade. O máximo será sempre a idade de um adulto naquela região. Os apps têm seus próprios requisitos. Cada app pode especificar até três idades em uma solicitação, o que resulta em quatro faixas. Cada faixa deve ter pelo menos dois anos.

    Decidir quais faixas etárias são adequadas envolve considerar que experiências o app deve oferecer ou restringir para usuários de diferentes idades.

    Alguns apps podem basear isso em requisitos regionais ou que é necessário para a melhor experiência. Durante a integração da criança, os pais podem saber mais sobre a faixa etária declarada, confirmar a idade da criança e escolher a opção de compartilhamento apropriada. Os pais podem gerenciar isso acessando Família em Ajustes, tocando no nome da criança e acessando Conta Apple e Senha e Age Range for Apps.

    É possível gerenciar isso no dispositivo da criança acessando Conta Apple em Ajustes e tocando em Informações Pessoais. Age Range for Apps será exibido. Há três ajustes diferentes para essa API. Esse usuário selecionou Always. Always retorna automaticamente a faixa etária solicitada pelo app. Uma notificação é exibida quando novas informações são declaradas.

    Este usuário selecionou Ask First.

    Ask First exibe uma solicitação para escolher se deseja compartilhar ou não.

    Este usuário selecionou Never. Essa opção recusa o compartilhamento. Nada é mostrado quando um app solicita a idade do usuário. Proteger as datas de nascimento é essencial.

    Por isso, há medidas adicionais no framework Declared Age Range para garantir a privacidade. Por padrão, Ask First só perguntará de novo após um ano da resposta original.

    Por padrão, Always só divulgará informações da nova idade após um ano da resposta original.

    Aqui está um exemplo. Se uma criança fizer 13 anos e pular para uma nova faixa, a API ainda considerará 12 anos ou menos por um ano inteiro.

    Depois, no aniversário da declaração original, mediante solicitação, a API compartilhará automaticamente ou solicitará o compartilhamento.

    Isso evita que os usuários revelem a data de nascimento.

    Por fim, um usuário também pode permitir que o app solicite a idade atual. Por exemplo, no fim de semana após o aniversário, o usuário quer ter acesso a recursos para crianças mais velhas imediatamente. Ele não precisa esperar até a solicitação. Em Age Range for Apps em Ajustes, é possível forçar a limpeza do cache acessando o app e tocando em Share Age Range.

    Isso fornecerá ao app a faixa etária atualizada na próxima vez que a idade for solicitada.

    Criar uma experiência adequada à idade trata de modificar os recursos no app para garantir que sejam próprios para os usuários. Para ilustrar, vou mostrar como criar a experiência apropriada para a idade que mostrei anteriormente.

    Agora, apps podem alterar a experiência de acordo com a idade do usuário. Nesse caso, o compartilhamento de fotos só será disponibilizado depois que o app Landmarks confirmar a faixa etária e determinar que é adequado à idade.

    Para começar, você precisará adicionar o recurso Declared Age Range ao seu projeto. Acesse a aba Signing and Capabilities no destino do projeto e clique no botão de adição.

    Selecione Declared Age Range.

    Vou entrar na interface de exemplo para codificar. Aqui está o app Landmarks. Ele mostra pontos de referência. Tocando aqui, vejo uma descrição detalhada.

    Esta é a visualização de detalhes. Vou adicionar aqui o recurso de compartilhamento de fotos.

    Adiciono uma variável que acompanhará se ele está ativado ou não. Vou incluir uma variável de ambiente para informar à API em qual janela exibir um alerta. Isso é útil em casos de uso em que há várias janelas para seu app, por exemplo, no iPad ou Mac. Depois, adiciono um botão que verifica se deve ser ativado. Por padrão, ele fica desativado.

    Agora vou falar do requestAgeRangeHelper.

    Esse método contém toda a lógica para solicitar e receber uma resposta da API.

    A API permite aos apps definir idades no tempo de execução. Para cada região ou caso de uso, especifique as idades que se aplicam ao seu app no contexto. Vou incluir um comentário para implementar depois o código para verificar a região do usuário.

    Solicite a faixa etária com o método requestAgeRange. E forneça as idades relevantes. Aqui quero saber se o usuário tem 16 anos ou mais.

    Já posso implementar o código que manipula a resposta. A resposta retornará um enum que aceitará ou recusará o compartilhamento.

    Se o enum for sharing, significa que o usuário compartilhou e um limite inferior e superior será retornado. Isso representa a faixa etária retornada pela API. Se o enum for declinedSharing, significa que o usuário optou por não compartilhar.

    Agora vou verificar se o limite inferior é maior ou igual a 16.

    Se for verdadeiro, então o limite superior é nulo.

    Os valores de limite superior e inferior podem ser nulos. Isso é usado para representar intervalos como 12 ou menos ou que não têm um limite superior, como 16 ou mais.

    Para 16 anos ou mais, ativo o botão de compartilhamento de fotos. Para 15 anos ou menos, o botão permanecerá desativado. Se a faixa etária for compartilhada, você receberá um valor ageRangeDeclaration.

    Para as crianças, o valor será sempre guardianDeclared. Para adolescentes que estão em uma família no iCloud, será guardianDeclared. Se não estiverem, será selfDeclared.

    Para adultos, o valor será selfDeclared. Agora, de volta ao código. A API também pode gerar um erro. Vou adicionar o código para lidar com isso. invalidRequest é um erro gerado pelo desenvolvedor. Ele indica que algo está errado com o pedido em si. Por exemplo, há uma faixa etária que não tem dois anos de duração. notAvailable indica um problema de ajuste no dispositivo que precisa ser resolvido pelo app. Por exemplo, o usuário não iniciou sessão no dispositivo com uma Conta Apple. Agora, vou juntar tudo e demonstrar a experiência do usuário.

    Quando abro a visualização de detalhes do Landmarks, ele pergunta se quero compartilhar que tenho 16 anos ou mais. Digo que sim. A experiência de compartilhamento de fotos já está disponível.

    Há mais alguns detalhes para saber. Como a API será chamada com frequência, o sistema armazenará as respostas em cache para evitar repetições. Você não precisará se preocupar se os apps enviarão solicitações repetitivas ao usuário se a API for chamada.

    Respostas em cache são sincronizadas entre dispositivos. Por exemplo, uma faixa etária em cache no iPhone será sincronizada com o Mac.

    É possível gerenciar respostas em cache em Ajustes.

    Se o limite superior de uma faixa etária estiver abaixo da maioridade, a API retornará um conjunto de controles parentais extras que os pais configuraram. Aqui, tenho um código que verifica se restrições de comunicação estão ativas.

    Para saber mais, confira “Melhorar a segurança infantil com PermissionKit”. Os apps usam esse framework permitem que os pais controlem com quem uma criança pode se comunicar em experiências de terceiros.

    E essa é a nova API. Vamos ver outros recursos que você pode usar para proteger os usuários.

    Com a API Sensitive Content Analysis, os apps oferecem uma experiência mais segura detectando e alertando os usuários sobre nudez em imagens e vídeos antes de exibi-los.

    E, no iOS 26, a API Sensitive Content Analysis foi expandida para detectar e bloquear nudez em chamadas de vídeo ao vivo.

    O framework Screen Time fornece as ferramentas necessárias para ajudar pais e responsáveis a supervisionar o uso da internet de seus filhos. E Family Controls ajuda os apps a fornecer os próprios controles parentais.

    Agora você já entendeu as experiências adequadas à idade. Aqui está o que você precisa fazer a seguir. Confira as ferramentas de segurança infantil da Apple em developer.apple.com, inclua experiências adequadas à idade, se necessário, e use o framework Declared Age Range para adaptar a experiência por idade.

    Agradeço por adicionar experiências adequadas à idade ao seu app.

    • 8:03 - Request an age range

      // Request an age range
      
      import SwiftUI
      import DeclaredAgeRange
      
      struct LandmarkDetail: View {
          // ...
          @State var photoSharingEnabled = false
          @Environment(\.requestAgeRange) var requestAgeRange
          
          var body: some View {
              ScrollView {
                  // ...
                  Button("Share Photos") {}
                      .disabled(!photoSharingEnabled)
              }
              .task {
                  await requestAgeRangeHelper()
              }
          }
      
          func requestAgeRangeHelper() async {
              do {
                  // TODO: Check user region
                  let ageRangeResponse = try await requestAgeRange(ageGates: 16)
                  switch ageRangeResponse {
                  case let .sharing(range):
                       // Age range shared
                      if let lowerBound = range.lowerBound, lowerBound >= 16 {
                          photoSharingEnabled = true
                      }
                      // guardianDeclared, selfDeclared
                      print(range.ageRangeDeclaration)
                  case .declinedSharing:
                      // Declined to share
                      print("Declined to share")
                  }
              } catch AgeRangeService.Error.invalidRequest {
                  print("Handle invalid request error")
              } catch AgeRangeService.Error.notAvailable {
                  print("Handle not available error")
              } catch {
                  print("Unhandled error: \(error)")
              }
          }
      }
    • 11:49 - Communication Limits

      // Request an age range
      
      func requestAgeRangeHelper() async {
          do {
              // TODO: Check user region
              let ageRangeResponse = try await requestAgeRange(ageGates: 16)
              switch ageRangeResponse {
              case let .sharing(range):
                  if range.activeParentalControls.contains(.communicationLimits) {
                      print("Communication Limits enabled")
                  }
                  // ...
              case .declinedSharing:
                  // Declined to share
                  print("Declined to share")
              }
          } catch {
              // ...
          }
      }
    • 0:00 - Introdução
    • Saiba mais sobre o framework Declared Age Range e como você pode solicitar faixas etárias para criar experiências adequadas à idade nos apps.

    • 0:34 - Ajudar a proteger crianças online
    • A Apple lançou um artigo técnico em fevereiro de 2025 que descreve o compromisso de proteger as crianças nos ambientes online. Na sequência, a Apple lançou um fluxo simplificado de navegação infantil. A partir do iOS 26, os pais podem corrigir as idades das contas das crianças, enquanto as classificações etárias globais da App Store agora são mais específicas (4+, 9+, 13+, 16+, 18+).

    • 2:25 - Framework Declared Age Range
    • O framework Declared Age Range foi criado para ajudar a proteger a privacidade dos usuários, principalmente de crianças e adolescentes. Quando um app solicita uma idade, o framework apresenta opções de faixa etária para escolher, em vez de solicitar a data exata de nascimento. Cada app pode especificar até três idades em uma solicitação, o que resulta em quatro faixas etárias, cada uma com pelo menos dois anos de duração. Os pais podem selecionar entre três configurações de compartilhamento: Sempre Compartilhar, Perguntar Primeiro e Nunca Compartilhar. O framework também conta com configurações regionais de idade máxima e frequências de solicitação padrão para minimizar a divulgação das informações pessoais. Os pais podem gerenciar as configurações de faixa etária de seus filhos durante a integração ou no app Configurações.

    • 7:00 - Solicitar uma faixa etária
    • Agora é possível criar experiências adequadas à idade modificando os recursos com base na idade do usuário. Para isso, o app deve ativar o recurso “Faixa Etária Declarada”. Depois, adicione o código para solicitar a faixa etária do usuário por meio da API DeclaredAgeRange. A API responde com um enum que indica se o usuário compartilhou sua idade e, caso tenha compartilhado, os limites inferior e superior da faixa etária. O app então ativa ou desativa recursos específicos, como um botão de compartilhamento de fotos, de acordo com a necessidade. O sistema armazena as respostas em cache para evitar solicitações frequentes do usuário, e essas respostas em cache são sincronizadas entre os dispositivos. As pessoas podem gerenciar as respostas armazenadas em cache no app Configurações. E se o usuário for menor de idade, a API vai retornar um conjunto de configurações adicionais de controle parental.

    • 12:22 - Mais formas de manter as crianças seguras
    • A Apple oferece APIs e frameworks para ajudar os desenvolvedores a proteger os usuários, principalmente as crianças, contra nudez em imagens, vídeos e transmissões ao vivo. Você pode analisar as ferramentas de segurança infantil da Apple em developer.apple.com.

Developer Footer

  • Vídeos
  • WWDC25
  • Proporcione experiências adequadas para cada idade no seu app
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • App Store
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Fonts
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Open Source
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Sample Code
    • Tutorials
    • Downloads
    • Forums
    • Videos
    Open Menu Close Menu
    • Support Articles
    • Contact Us
    • Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Get the Apple Developer app.
    Copyright © 2025 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines