Correcto, cuando la app se registra en el servicio de notificaciones recibe un identificador y ese identificador se lo pasas al servidor para que lo guarde en la base de datos y pueda recuperarlo cuando necesite enviarle una notificación a ese usuario.
Sobre tener apps principal y visor siempre puedes tener la misma donde las funciones de edición solo estén disponibles para usuarios autenticados con el rol de profesor o similar. Eso ya depende de lo que sea más fácil para ti y para los usuarios.
