API канала Google App Engine с клиентом iOS?

Я изучаю возможность использования Channel API для отправки сообщений моему клиенту iOS. Я не полностью окунулся в это, но единственный способ - использовать скрытый UIWebView, который запускает метод Objective-C.

Будет ли это работать? Чтобы скрытый UIWebView прослушивал сообщения канала? Как веб-просмотр будет уведомлен о новых сообщениях канала? Как бы я запускал метод Objective-C при получении нового сообщения, такого как предупреждение о том, что «Вы получили новое сообщение»?

Есть ли недостатки у этого подхода?


person Snowman    schedule 06.11.2012    source источник


Ответы (2)


Я делаю наоборот. Я использую Urban Airship для отправки уведомлений iOS в свое приложение iOS, которое на самом деле является оболочкой iOS вокруг UIWebView.

По моему опыту, каналы GAE не особенно надежны, я заметил, что сообщения не отправляются, особенно когда вам нужно восстановить соединение. Интересно, будет ли соединение UIWebView отключено, когда приложение перейдет в фоновый режим.

person dragonx    schedule 07.11.2012
comment
Просто любопытно, как надежность у Urban Airship? Как долго приходят уведомления? Я использую Pushwoosh, и в среднем получение push-уведомлений занимает более 10 секунд. - person Snowman; 07.11.2012
comment
Кажется быстрым, почти мгновенным, обычно меньше секунды. Но я еще не увеличился. - person dragonx; 07.11.2012

Я делаю то, что вы просите. Вам нужно уметь делать две вещи: совершать вызовы из Objective-C в UIWebView и получать события из UIWebView для обратного вызова в Objective-C. Чтобы сделать первое, вы вызываете метод UIWebView «stringByEvaluatingJavaScriptFromString». Чтобы вернуться в Objective-C, вы регистрируете делегат веб-представления, а затем в методе «shouldStartLoadWithRequest» вы ищете «поддельный» протокол (например, «js-callback» или что-то в этом роде), чтобы в вашем javascript вы перемещались iframe для «js-callback:informationForObjectiveCToOperateOn». Эта запись в блоге объясняет процедуру: Javascript/" rel="nofollow">http://blog.techno-barje.fr/post/2010/10/06/UIWebView-secrets-part3-How-to-properly-call-ObjectiveC-from-Javascript/< /а>.

person adevine    schedule 05.12.2012