12

При внедрении push с Parse я не использовал ничего, связанное с облачным почтовым сообщением Google. Я не открывал консоль Google dev и не включал обмен сообщениями GCM, также у меня не было идентификатора отправителя, и я не регистрировал устройства для получения идентификатора регистрации, однако Parse мог отправить push. Интересно, что Parse использует собственный сокет? В исходном коде Parse для Android я не мог уловить что-либо, связанное с этим. Теперь все сервисы миграции Parse нуждаются в регистрационном идентификаторе GCM, в том числе в собственном решении с открытым исходным кодом Parse. Может кто-нибудь дать подробную информацию об этом?Как разобрать отправку push без регистрации gcm?

+1

Предполагаю, что вам известно, что Парс закрывается, и вы спрашиваете об этом из любопытства? –

+0

@ DanieleSegato Да, я делаю. – magirtopcu

ответ

14

Parse DO использовать GCM. Они просто используют свой собственный счет.

Вы не должны верить мне, андроид SDK был сделан с открытым исходным кодом некоторое время назад: 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. Он создается через отражение, я предполагаю, что они добавляют его позже в банку каким-то образом, и они не обнародуют его. Разумеется, ему придется открывать и обрабатывать собственный сокет.

+0

Вот что я точно прошу, это PPNSService, и я подумал, что это было отражение, поэтому мне нужно подтверждение, спасибо за это. Кроме того, Parse использует ppns, когда разработчик явно не добавляет gcm-требований, даже если устройство имеет сервисы Google Play. в любом случае, спасибо. – magirtopcu

+0

Есть ли у вас какое-либо представление о том, как перенести данные установки синтаксического анализа в приложение GCM Server (которое создается нами с помощью PHP)? – MilapTank

Смежные вопросы