Ответ 1
Разбор DO использует GCM. Они просто используют свой собственный аккаунт.
Вам не нужно верить, SDK Android теперь был открыт с открытым исходным кодом: https://github.com/ParsePlatform/Parse-SDK-Android
Это класс, используемый для интеграции с GCM: https://github.com/ParsePlatform/Parse-SDK-Android/blob/bdd5f50d51d30030b9df12c0e09d08d8859e64be/Parse/src/main/java/com/parse/GCMService.java https://github.com/ParsePlatform/Parse-SDK-Android/blob/e2329512e5531f0efd56671c02f476285f87386b/Parse/src/main/java/com/parse/GcmRegistrar.java https://github.com/ParsePlatform/Parse-SDK-Android/blob/bdd5f50d51d30030b9df12c0e09d08d8859e64be/Parse/src/main/java/com/parse/GcmBroadcastReceiver.java
Однако у них есть способ поддержки Push-уведомления без GCM, в основном это делается для устройств, отличных от Google, или для выпуска приложения на рынке, не принадлежащем Google Play. Он назывался PPNS
Переключение между провайдером выполняется внутри этого класса: https://github.com/ParsePlatform/Parse-SDK-Android/blob/bdd5f50d51d30030b9df12c0e09d08d8859e64be/Parse/src/main/java/com/parse/PushService.java
класс PPNS предположительно обрабатывается классом com.parse.PPNSService, который не находится в коде github. Он создается через отражение, я предполагаю, что они добавляют его позже в банку каким-то образом, и они не обнародуют его. Это, безусловно, должно было бы открыть и обработать его собственный сокет.