
-
Mejora la seguridad infantil con PermissionKit
Descubre cómo PermissionKit te ayuda a mejorar la comunicación segura para niños en tu app. Te mostraremos cómo usar esta nueva estructura para crear experiencias de comunicación apropiadas para cada edad y aprovechar Compartir en Familia para obtener las aprobaciones de los padres. Aprenderás a crear solicitudes de permisos que se integren perfectamente en Mensajes, manejar respuestas de los padres y adaptar tu IU a usuarios infantiles. Para aprovechar al máximo esta sesión, recomendamos ver primero “Ofrece experiencias apropiadas para la edad en tu app” de WWDC25.
Capítulos
- 0:00 - Introducción
- 2:40 - Conoce PermissionKit
- 3:26 - Adapta tu IU para los niños
- 4:38 - Crea una experiencia de “preguntas”
- 7:02 - Respuestas de padres o tutores
- 10:27 - Más formas de mantener seguros a los niños
Recursos
- Declared Age Range
- Design safe and age‑appropriate experiences for your apps and games
- PermissionKit
Videos relacionados
WWDC25
-
Buscar este video…
Hola, soy Andrew, ingeniero del equipo familiar. Esto es “Mejora la seguridad infantil con PermissionKit”. La principal tarea de los padres es mantener seguros a sus hijos. En un entorno digital, mantener a los niños seguros comienza con una conversación entre el niño y sus padres y tutores.
Esto es cierto cuando se trata de con quién se comunica el niño en línea. Iniciar esa conversación desde una app puede ser difícil e implica una importante cantidad de trabajo técnico. El mejor lugar para la comunicación entre padres e hijos es el lugar en el que se están comunicando: Mensajes. En iOS, iPadOS y macOS 26, puedes ayudar a iniciar una conversación por Mensajes entre un niño y sus padres mediante PermissionKit.
Con PermissionKit, los niños pueden pedirles a sus padres que se comuniquen con alguien nuevo.
En este video, comenzaré presentándoles la nueva estructura PermissionKit.
Te mostraré cómo puedes adaptar la IU de la app teniendo en cuenta la seguridad infantil mediante el uso de esta nueva API.
Explicaré cómo crear una pregunta de permiso de comunicación que un niño puede preguntar a sus padres y tutores directamente en Mensajes.
Por último, te mostraré cómo escuchar y responder a las respuestas de los padres y tutores. Este video asume que la app tiene la funcionalidad de comunicación y que ya tiene una forma de determinar la edad o el rango de edad de cada uno de sus usuarios. La API de PermissionKit que estoy a punto de mostrar solo debe usarse cuando se sabe que el usuario es un niño. Si aún no dispones de tus propios sistemas de cuentas para determinar si el usuario es un niño, utiliza la nueva API de rango de edad declarado.
Los padres pueden permitir que sus hijos compartan el rango de edad asociado con sus cuentas infantiles, lo que puede solicitarse por la API de rango de edad declarado. Para obtener más detalles, consulta “Ofrece experiencias apropiadas la edad en tu app” de la WWDC25.
Esta son algunas otras cosas a tener en cuenta al momento de decidir si PermissionKit es adecuado para tu app.
PermissionKit aprovecha el grupo Compartir en Familia de los usuarios para conectar a los niños con sus padres y tutores.
Esto significa que los usuarios deben ser parte de un grupo Compartir en Familia para aprovechar todo el potencial de PermissionKit. Si el niño no es parte de un grupo Compartir en Familia cuando se realiza una solicitud, la API devolverá una respuesta predeterminada. Además, los padres o tutores deberán habilitar los Límites de comunicación para el niño. La API devolverá una respuesta predeterminada si los Límites de comunicación no están habilitados.
Comencemos con la presentación de PermissionKit. PermissionKit es una nueva estructura que te brinda una forma rápida y sencilla de crear experiencias de permisos consistentes y de primera clase entre un solicitante y las autoridades de permisos. En iOS, iPadOS y macOS 26, puedes ayudar a mantener a los niños seguros en línea adoptando PermissionKit. PermissionKit se puede utilizar para iniciar una conversación por Mensajes entre un niño y los padres y tutores de su grupo de Compartir en Familia. En tu app, los niños pueden solicitar comunicarse con alguien nuevo a través de Mensajes. Los padres tienen la oportunidad de aprobar o rechazar la solicitud de su hijo de comunicarse directamente en la conversación de Mensajes resultante.
Hablaré sobre cómo adoptar PermissionKit, comenzando por cómo hacer que la IU sea apropiada para cada edad. Landmarks es una app para ver y aprender todo sobre los puntos de referencia. Repasaré un ejemplo de cómo agregar una nueva función de chat a la app, para que los usuarios puedan hablar entre ellos sobre sus favoritos. Landmarks es una app diseñada para todas las edades, por lo que es perfecta para PermissionKit.
Para los niños, la app debe ocultar el contenido de remitentes desconocidos. Algunos ejemplos incluyen una vista previa de un mensaje, imágenes de perfil y cualquier otro contenido potencialmente sensible no apto para niños.
Una forma de lograr esto es esperar el método knownHandles(in:) del elemento individual CommunicationLimits. Dado un conjunto de identificadores, esta API realizará una búsqueda optimizada y devolverá un subconjunto de aquellos identificadores que conoce el sistema. Esto podría complementarse con información de tus bases de datos. No es necesario empezar de nuevo si estos datos ya están disponibles en tus propios sistemas. Determina si el identificador o el grupo de identificadores con los que el niño intenta interactuar contiene solo identificadores conocidos. Solo muestra el contenido subyacente si se conocen los identificadores.
A continuación te mostraré cómo crear y enviar una pregunta para que el niño pueda pedir permiso a sus padres. PermissionKit proporciona una abstracción de preguntas, que contiene todos los detalles de la solicitud de permiso de un niño. Cada pregunta tiene un tema que describe con más detalle la pregunta que se formula. Por ejemplo, un tema de comunicación agrupa toda la información sobre una persona o grupo de personas con las que un niño intenta comunicarse. Esta información incluye un nombre de usuario para la persona, en particular, su número de teléfono, dirección de correo electrónico o algún otro identificador, como un nombre de usuario.
Vamos a sumergirnos en el código. Crea una pregunta de permiso, pasando los identificadores desconocidos.
Puedes agregar metadatos sobre identificadores específicos. Prefiero agregar la mayor cantidad de metadatos posible. El sistema mostrará a los padres y tutores todos los metadatos proporcionados y podrán utilizarse para ayudarlos a aprobar o rechazar la solicitud de tu hijo. Para ello, crea una CommunicationTopic.
CommunicationTopic utiliza PersonInformation.
PersonInformation tiene opciones para el identificador, nombre e imagen. Puedes configurar opcionalmente acciones sobre el tema.
Las acciones elegidas deben corresponder a cómo el niño intenta comunicarse con las personas especificadas.
Dependiendo de las acciones que elijas, el sistema utilizará un texto específico al mostrar la solicitud a los padres para su revisión.
En este ejemplo, utilizo mensajes, pero también puedes proporcionar llamadas, videos y otros.
Por último, inicializa la PermissionQuestion con tu CommunicationTopic personalizado.
Ahora, mediante la PermissionQuestion que creaste, inicializa un CommunicationLimitsButton dentro de la vista SwiftUI.
Cuando el niño toque su botón, recibirá un mensaje del sistema que le permitirá elegir enviar la pregunta a sus padres y tutores por Mensajes. Para las apps UIKit, utiliza el elemento único CommunicationLimits para iniciar el flujo de preguntas en el dispositivo del niño. Necesitarás pasar UIViewController, que el sistema usará para presentar la IU.
Puedes utilizar el elemento único CommunicationLimits para iniciar el flujo de preguntas en el dispositivo del niño para las apps AppKit. Solo necesitarás proporcionar una NSWindow.
Eso es todo en cuanto a la experiencia de preguntar. Ahora sólo queda gestionar las respuestas elegidas por los padres y tutores. Cuando un padre responde dentro de Mensajes, tu app se iniciará en segundo plano en los dispositivos del niño. Necesitarás gestionar estas respuestas a medida que las reciba.
Poco después de que se inicie la app, obtén un AsyncSequence del elemento único CommunicationLimits y repítelo en una tarea en segundo plano para que tu app siempre esté informada de las actualizaciones de permisos. Cuando se recibe una respuesta, es una oportunidad para actualizar la IU o publicar nuevos datos en sus propias bases de datos.
Eso es todo. En realidad. Lo pondré todo junto y repasaremos cómo funciona en Landmarks. El dispositivo de la izquierda es el del niño y el dispositivo de la derecha es el del padre. Aquí, en Landmarks en el dispositivo del niño, estamos en la nueva vista de chats que agregué.
Las vistas previas de los mensajes de todos los identificadores desconocidos están ocultas para el niño de manera predeterminada.
Al acceder a una conversación, se ve que el contenido del mensaje está oculto para el niño y que no puede responder sin pedir primero permiso a sus padres o tutores.
Cuando el niño toca el botón de límites de comunicación, se muestra una alerta. Esta alerta les permite confirmar que desean enviar un mensaje a sus padres y tutores. Sino, pueden obtener la aprobación de sus padres o tutores en persona usando el código de acceso de Tiempo en Pantalla. Si el niño toca la opción Preguntar en la alerta, se presenta una ventana para redactar mensajes, con los padres y tutores del grupo Compartir en Familia previamente completados en el campo Para y la pregunta presentada en la vista de texto.
El niño puede agregar un nombre para esta persona tocando el botón Agregar o Editar nombre. Si proporcionas metadatos para la persona a través de la API PermissionQuestion analizada anteriormente, esos metadatos aparecerán aquí. Estos metadatos se mostrarán a los padres y tutores cuando revisen la solicitud en sus dispositivos.
Una vez que el niño toque el botón de enviar, la pregunta se enviará a sus padres y tutores como cualquier otro iMessage.
Al dirigir la atención al dispositivo principal, el padre recibió la pregunta de su hijo en Mensajes.
Los padres pueden rechazar directamente desde la burbuja o pueden optar por revisar esta solicitud.
Si la revisan, verán contexto adicional sobre esta solicitud y podrán elegir aprobarla o rechazarla.
Independientemente de lo que elija el padre, el niño recibirá automáticamente una notificación informándole de la elección de sus padres. En el momento en que se envía la notificación al niño, la elección del padre también se enviará directamente a la app en segundo plano. Responde a esta elección, por ejemplo, actualizando la IU y los cachés locales, o publicando información en sus servidores.
Ahora que el padre lo aprobó, el niño puede ver y responder los mensajes de esta persona en Landmarks. Ahora que sabe cómo adoptar PermissionKit, aquí hay algunas otras cosas a considerar para mejorar la seguridad infantil en la app.
Usa PermissionKit como launchpad para agregar experiencias similares fuera de las plataformas de Apple, como el sitio web de tu app, al conservar la información obtenida de PermissionKit en tus propios servidores. Y no te detengas en PermissionKit. Determine si la app es adecuada para nuestras otras ofertas de API de seguridad familiar e infantil. Por ejemplo, aquí hay más formas de que los niños esté seguros usando nuestras API. La nueva API Sensitive Content Analysis amplía la seguridad de las comunicaciones para proteger a los niños al detectar y bloquear la desnudez en las videollamadas en vivo. La nueva API Declared Age Range te permite crear experiencias seguras y apropiadas para la edad de los niños.
La estructura Screen Time te brinda las herramientas para ayudar a los padres y tutores a supervisar el uso que hacen sus hijos de la web. Y la estructura Family Controls ayuda a las apps a proporcionar sus propios controles parentales.
Ahora que ya sabes cómo mejorar la seguridad infantil en tu app mediante PermissionKit, esto es lo que debes hacer a continuación. Comienza por determinar el rango de edad de cada uno de sus usuarios, ya sea mediante datos de tus servidores o la nueva API Declared Age Range. Adapta la IU de la app teniendo en cuenta a los niños. A partir de ahí, adopta PermissionKit. Crea las preguntas para hacer y responder a las respuestas de los padres y tutores.
Gracias por dejar que te presente PermissionKit.
-
-
4:03 - Tailor your UI for children
import PermissionKit let knownHandles = await CommunicationLimits.current.knownHandles(in: conversation.participants) if knownHandles.isSuperset(of: conversation.participants) { // Show content } else { // Hide content }
-
5:15 - Create a question
import PermissionKit var question = PermissionQuestion(handles: [ CommunicationHandle(value: "dragonslayer42", kind: .custom), CommunicationHandle(value: "progamer67", kind: .custom) ])
-
5:38 - Create a question - additional metadata
import PermissionKit let people = [ PersonInformation( handle: CommunicationHandle(value: "dragonslayer42", kind: .custom), nameComponents: nameComponents, avatarImage: profilePic ), PersonInformation( handle: CommunicationHandle(value: "progamer67", kind: .custom) ) ] var topic = CommunicationTopic(personInformation: people) topic.actions = [.message] var question = PermissionQuestion(communicationTopic: topic)
-
6:25 - Ask a question - SwiftUI
import PermissionKit import SwiftUI struct ContentView: View { let question: PermissionQuestion<CommunicationTopic> var body: some View { // ... CommunicationLimitsButton(question: question) { Label("Ask Permission", systemImage: "paperplane") } } }
-
6:43 - Ask a question - UIKit
import PermissionKit import UIKit try await CommunicationLimits.current.ask(question, in: viewController)
-
6:54 - Ask a question - AppKit
import PermissionKit import AppKit try await CommunicationLimits.current.ask(question, in: window)
-
7:19 - Parent/guardian responses
import PermissionKit import SwiftUI struct ChatsView: View { @State var isShowingResponseAlert = false var body: some View { List { // ... } .task { let updates = CommunicationLimits.current.updates for await update in updates { // Received a response! self.isShowingResponseAlert = true } } } }
-
-
- 0:00 - Introducción
PermissionKit es una nueva estructura para iOS, iPadOS y macOS 26 que agiliza las solicitudes de permisos y facilita las conversaciones de Mensajes entre menores y sus padres o tutores para nuevas aprobaciones de comunicación.
- 2:40 - Conoce PermissionKit
Con PermissionKit, los menores pueden solicitar permiso a sus padres o tutores dentro de la app Mensajes para comunicarse con nuevas personas en línea. La estructura aprovecha los grupos de Compartir en Familia y requiere que se active Límites de comunicación. Está diseñado para ayudar a los desarrolladores a crear experiencias de comunicación más seguras para los menores dentro de las apps, al facilitar conversaciones abiertas entre los menores y sus padres sobre las interacciones en línea.
- 3:26 - Adapta tu IU para los niños
PermissionKit ayuda a que las apps sean apropiadas para cada edad. En la app de ejemplo Landmarks, una nueva funcionalidad de chat oculta a los menores el contenido procedente de remitentes desconocidos. Utiliza el método knownHandles(in:) de Límites de comunicación para verificar si el sistema o tu base de datos reconocen los identificadores y solo muestran contenido a los elementos secundarios de los identificadores conocidos.
- 4:38 - Crea una experiencia de “preguntas”
Crea preguntas de permiso para que los menores las envíen a sus padres. Estas preguntas incluyen temas como la comunicación, que detallan la persona con la que el menor quiere comunicarse (identificador, nombre, imagen) y el método de comunicación (mensaje, llamada, video). Inicializa una PermissionQuestion con un CommunicationTopic y, luego, crea un CommunicationLimitsButton para activar un mensaje del sistema, lo que permitirá que el menor envíe la solicitud a sus padres para su aprobación a través de Mensajes. Las apps UIKit y AppKit pueden iniciar el flujo ask en el dispositivo del menor con el elemento individual Límites de comunicación.
- 7:02 - Respuestas de padres o tutores
Al recibir una respuesta de los padres en Mensajes, la app se inicia en segundo plano en el dispositivo del menor. Luego, la app obtiene una AsyncSequence del elemento individual Límites de comunicación para monitorear las actualizaciones de permisos. Cuando el sistema recibe una respuesta, la app actualiza su IU o sus bases de datos en consecuencia. En el ejemplo de la app Landmarks, la app oculta a los menores las vistas previas de los mensajes y el contenido proveniente de usuarios desconocidos hasta que se les otorga el permiso de los padres. Los menores pueden solicitar permiso para comunicarse con nuevos contactos y los padres pueden revisar y aprobar o rechazar estas solicitudes desde la app Mensajes. Luego, la app del menor recibe una notificación de la decisión de los padres, lo que le permite ver y responder a los mensajes si se aprueba.
- 10:27 - Más formas de mantener seguros a los niños
Hay nuevas API y estructuras para mejorar la seguridad infantil en las apps al detectar desnudez en transmisiones en vivo, verificar la edad de los usuarios y activar los controles parentales. Determina las edades de los usuarios, adapta las IU de las apps e implementa PermissionKit para crear experiencias seguras y apropiadas para la edad de los menores.