WedX - журнал о программировании и компьютерных науках

Push-сообщения для PhoneGap

Я создал приложение для iPhone и Android с помощью Phonegap.

Теперь я хотел добавить функцию push, которая уже работает довольно хорошо.

Когда на мой iPhone приходит push-сообщение, я получаю сообщение на главном экране. Если я проведу по нему, iOS откроет мое приложение. - Все идет нормально.

Теперь в моем приложении PhoneGap мне нужно проверить, что на самом деле говорит это сообщение, чтобы открыть правильное представление в моем приложении через JavaScript.

Я знаю, что есть довольно много сообщений об этом, но я не смог найти четких ответов на эти вопросы:

  • Поддерживает ли PhoneGap push-сообщения?
  • Если да, то где документация на это?
  • Если нет, то какие плагины/фреймворки можно порекомендовать? Пока я нашел pushwoosh и Urbanair. Они хорошие?
  • Что касается Pushwoosh, я заметил, что мне нужен какой-то идентификатор pushwoosh - Зачем это?

Ответы:


1

Под идентификатором Pushwoosh вы, скорее всего, имеете в виду идентификатор приложения Pushwoosh или код приложения. Это идентификатор вашего приложения в панели управления Pushwoosh (текущий формат XXXXX-XXXXX). Вы увидите его, как только добавите новое приложение в Pushwoosh.

В блоге Холли Шински была довольно обширная запись о простой интеграции PhoneGap с Pushwoosh.

https://devgirl.org/2012/12/04/easy-phonegap-push-notifications-with-pushwoosh/

Это должно быть очень полезно для всех разработчиков PhoneGap, стремящихся интегрировать push-уведомления в свои приложения.

11.12.2012

2

Я нашел действительно простое решение без использования фреймворка.

Я просто добавил следующий код в самый конец метода didFinishLaunchingWithOptions (прямо перед оператором return):

if (launchOptions != nil)
{
    NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if (dictionary != nil)
    {
        NSLog(@"Launched from push notification: %@", dictionary);
        [self addMessageFromRemoteNotification:dictionary updateUI:NO];
    }
}

Кроме того, я добавил этот новый метод в свой AppDelegate.m, который получает полезную нагрузку из push-сообщения:

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
    NSLog(@"Received notification: %@", userInfo);
    [self addMessageFromRemoteNotification:userInfo updateUI:YES];
}

(Приведенные выше вызовы NSLog покажут вам, что находится внутри push-сообщения)

В качестве последнего шага я добавил этот слушатель, чтобы делать с полезной нагрузкой все, что захочу:

- (void)addMessageFromRemoteNotification:(NSDictionary*)userInfo updateUI:(BOOL)updateUI
{
 // do what ever you want with userInfo
}

Если вы хотите сделать дополнительный вызов JavaScript с этой информацией, я рекомендую использовать:

[self.viewController.webView stringByEvaluatingJavaScriptFromString:@"callSomeJSFunction()"];

Конечно, вы также можете передавать аргументы в виде строк в эту JS-функцию, если хотите.

12.12.2012
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]