Ответ 1
Предполагая, что вы имеете в виду облачные сообщения Google (поскольку вы используете тег android и push-notification), нет общих настроек, используемых для включения/отключения службы GCM (в отличие от службы уведомлений Apple Push для устройств iOS).
При установке приложения, если приложение использует Google Cloud Messaging, оно будет указано в списке разрешений, необходимых этому приложению для работы. Выбирая установку приложения, вы разрешаете ему отправлять push-уведомления.
Тем не менее, чтобы приложение действительно получало сообщения GCM, ваше приложение должно программно зарегистрироваться в службе GCM. Вы можете сделать это в любом месте в своем приложении, и вы можете создать активность app settings
(или фрагмент или что-то еще), в котором пользователь может включить/отключить GCM (что вызовет регистрацию/отмену регистрации в/из GCM). Ваше приложение может содержать постоянное хранилище, которое будет содержать идентификатор регистрации, который вы получите при регистрации, в GCM, и вы можете использовать этот магазин, чтобы определить, зарегистрировано ли ваше приложение в GCM.
Вы можете попросить своего пользователя включить его, если приложение уже запущено (если у вас есть код, который делает это). Если он не запущен и приложение не зарегистрировано для GCM на этом устройстве, ваш сервер не может отправлять ему сообщения GCM.
Если вы хотите преодолеть это препятствие, вы можете автоматически зарегистрироваться в GCM (когда приложение впервые запущено). Затем вы можете отправлять сообщения в приложение, когда захотите. Если вы все же хотите, чтобы пользователь решил, хотят ли они видеть эти уведомления, вы можете иметь флаг в настройках вашего приложения, который включает/отключает уведомление пользовательского интерфейса, которое вы создаете в результате входящего сообщения GCM. Служба GCM всегда будет включена, но если пользователь не захочет просматривать уведомления, вы не увидите ничего, когда поступит сообщение GCM.