19

Jestem w fazie planowania aplikacji na iPhone'a i rozważam użycie Google App Engine dla mojego komponentu serwera ze względu na jego funkcje skalowalności.Czy można wdrożyć powiadomienia push w telefonie iPhone w aplikacji Google App Engine?

powiadomień push są przesyłane za pomocą interfejsu binarnego do gateway.push.apple.com:2195.

Jednak środowisko JRE dla serwera może używać tylko nazwy following standard classes, która nie obejmuje klas Socket. Czy można w jakiś sposób użyć tego narzędzia?

Czy istnieje sposób, aby wdrożyć powiadomień push podane ograniczenia dotyczące aplikacji Google App Engine?

Chciałbym uniknąć korzystania z usługi innej firmy, takie jak AppNotify lub UrbanAirship jeśli to możliwe.

Odpowiedz

24

Nie. Google App Engine zabrania macierzystych połączeń z gniazdami. Musisz albo skorzystać z usług strony trzeciej (takich jak te, które wspomniałeś) lub mieć inny serwer dedykowany do wysyłania powiadomień.

EDIT: Proszę pamiętać, że ograniczenie GAE na gniazd i połączeń wychodzących jest nie tylko ograniczenie biblioteka. Serwery Google faktycznie blokują wszystkie wychodzące połączenia sieciowe; dopuszczają tylko żądania HTTP za pośrednictwem serwerów pobierania URL.

Jeśli chcesz, możesz gwiazda Issue 1164: Add Support for Apple Push Notification Service.

+0

Dziękujemy za link do problemu. To byłaby świetna funkcja do dodania! –

+0

jakiejkolwiek aktualizacji w tej sprawie? –

+0

@notnoop To już nie jest prawdą, zobacz drugą odpowiedź. Zaktualizuj swoją odpowiedź. – Hjulle

0

Ostatnio oficjalnie Google obsługuje wysyłanie powiadomień push na iOS. Możesz spojrzeć na to sample code.

Aby uzyskać więcej szczegółów, kasa to Google post.

+0

Ten kod nie działa. Ten, kto go stworzył, nigdy tego nie testował. – learner

0

Jest absolutnie możliwe. Sprawdź java-apns-gae.

Jest to open-source, biblioteki Java APNS, który został specjalnie zaprojektowany do pracy (i będą używane) na Google App Engine.