Проблема с запросом Facebook для адресов электронной почты пользователей заключается в том, что пользователи должны дать вам разрешение, и это помешает пользователям предоставлять разрешения для вашего приложения.Другими словами, они не будут использовать ваше приложение.
Zynga справляется с этим, выполняя шаг после присоединения, когда пользователь дает разрешение приложению, возможно, после игры в течение некоторого времени и укрепления доверия.Затем они просто проходят повторную аутентификацию с соответствующими правами доступа и имеют доступ к адресу электронной почты.
Помимо производительности, это не должно быть слишком большой проблемой.Вы можете обновлять каждый адрес электронной почты еженедельно или ежедневно.Возможно, лучше, чем вам нужно.
Другой вариант - заставить пользователей указать свои адреса электронной почты, что является вторым вариантом, который вы упомянули.Как это работает, будет зависеть от вашего приложения и пользователей, поскольку люди могут неохотно сообщать вам свой адрес электронной почты.Некоторые будут, а некоторые нет.
Мой совет, так или иначе, не делайте его обязательным.Если вашему приложению требуется адрес электронной почты, измените настройки приложения (если возможно).