2013-06-18 14 views
7

może już o tym słyszałeś. Zostało ogłoszone w Google IO może miesiąc temu. Usługa Google Cloud Messaging działała tylko w dół (serwer -> telefon), ale teraz dzięki ulepszonemu CCS (serwerowi połączeń w chmurze) możesz wysyłać wiadomości w górę strumienia przez stałe połączenie TCP dzięki protokołowi XMPP. Zaprojektowałem już aplikację, która działa z GCM i HTTP. Używa biblioteki gcm i klas, które są tam spakowane (jak GCMRegistrar). Te klasy są teraz nieaktualne, a Google zaleca używanie interfejsu API GoogleCloudMessaging.Google Cloud Messaging przez protokół XMPP (serwer współpracujący z PHP i XMPPHP). Jak to działa?

Wszystko teraz działa trochę inaczej. Masz dokumentację Google i wyjaśniają bardzo dobrze, jak możesz zaprojektować aplikację na Androida. ALE mam problemy z serwerem, ponieważ nigdy wcześniej nie pracowałem z XMPP. Dają kod w Pythonie: http://developer.android.com/google/gcm/gs.html , ale nie mam pojęcia o Pythonie. Zbadałem więc, a następnie znalazłem bibliotekę XMPPHP. Następnie możesz pracować z PHP i korzystać z biblioteki do łączenia się z XMPP i wysyłania/odbierania wiadomości.

Nie mam doświadczenia w pracy z nim i to nie działa dla mnie. Jak mogę otworzyć połączenie XMPP z serwerem Google XMPP?

Znalazłem ten sposób, aby otworzyć połączenie (tu pracować z biblioteką):

$conn = new XMPPHP_XMPP($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); 

Czy ktoś wie jakie parametry muszę przechodzić tutaj w celu połączenia z Google CCS ??

Chciałbym wiedzieć też:

Jak mogę wysłać wiadomość na XMPP do urządzenia? Jak mogę odebrać wiadomość z urządzenia?

+0

$ conn = nowe XMPPHP_XMPP ("http://gcm.googleapis.com", "5235", " @ gcm.googleapis.com", "apikey", "", $ server, "true" , "informacje"); –

+0

Myślę, że to działa teraz, czy powinienem pozwolić temu połączeniu otworzyć? Czy wiesz, jak wysłać wiadomość do urządzenia, aby sprawdzić, czy wszystko działa poprawnie? Mam już gotową aplikację na Androida z odbiornikiem Broadcast –

+0

czy możesz podać kod najnowszego kodu serwera gcm? –

Odpowiedz

2

Wpadam na ten sam problem, próbowałem używać XMPPHP, ale potem odkryłem bibliotekę JAXL i przełączyłem się na nią. Zobacz unable to connect to Google Cloud Connection Server. JAXL pozwala oglądać, co wysyła, używając specjalnego trybu debugowania 'log_level' => JAXL_DEBUG. Wtedy zobaczyłem, że Google wysyła mi to:

<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><temporary-auth-failure/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Project 1945693724760 not whitelisted.</text></failure> 

To był powód, dla którego nie mogłem wysłać żadnych powiadomień. Powinieneś najpierw zarejestrować się w CCS tutaj: https://services.google.com/fb/forms/gcm/.

Powiązane problemy