Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Розсилка SMS-повідомлень на мобільний додаток за допомогою IBM Worklight

  1. Вступ
  2. огляд сценарію
  3. Малюнок 1. Схема підписки
  4. Малюнок 2. Схема повідомлення
  5. Малюнок 3. Структура папок
  6. Малюнок 4. Консоль Worklight відображає розгорнуте додаток і адаптер
  7. Про програму
  8. Лістинг 1. Приклад SMSConfig.xml
  9. Лістинг 2. Файл applicationdescriptor.XML з ідентифікатором gatewayid з SMSConfig.xml
  10. Лістинг 3. Для підписки на SMS-повідомлення зі смартфона використовується API SMS Subscription.
  11. Лістинг 4. API SMS UnSubscription використовується для відмови від підписки на SMS-повідомлення.
  12. Лістинг 7. Функція submitNotification в адаптері
  13. Запуск прикладу додатки
  14. Малюнок 5. Вікно входу
  15. Малюнок 8. Виклик дії Adapter Procedure
  16. Малюнок 10. SMS, отримане на пристрої
  17. Ресурси для скачування

Вступ

Сьогодні успішні підприємства займаються реорганізацією процесів своїх відділень і призначених для користувача інтерфейсів з метою кращої взаємодії з клієнтами. Ключовим аспектом цієї реорганізації є мобільні інтерфейси з корпоративними додатками, що працюють на різних пристроях. Одним з ключових вимог є можливість розсилки мобільним клієнтам коротких повідомлень. Ці повідомлення, в свою чергу, сприяють активній діяльності користувачів.

У широкому сенсі повідомлення класифікуються як активні повідомлення, що розсилаються на смартфони, і SMS (Short Message Service), або текстові повідомлення.

  • Активні повідомлення обмежуються тими телефонами, в яких є диспетчер повідомлень, пропонований постачальником ОС. Наприклад, в пристроях на базі iOS використовується служба Apple APNS. Аналогічно, в Android-телефонах використовується служба Google GCM.
  • Підтримка ж SMS є повсюдно і доступна на всіх телефонах, включаючи смартфони та інші нетрадиційні телефонні пристрої.

До складу IBM Worklight V5.0.5 входить підтримка відправки SMS-повідомлень на пристрої iOS, Android, Windows Phone 7, Windows® Phone 8 і Blackberry, що підтримують функції SMS. У цій статті на прикладі програми для мобільного банкінгу пояснюються основи системи SMS-повідомлень, способи настройки інфраструктури SMS-повідомлень, а також процеси підписки на повідомлення і розсилки SMS-повідомлень на мобільні пристрої. До кінця читач повинен розуміти, як використовувати цю функцію для розробки додатків на базі SMS-повідомлень.

огляд сценарію

Типове додаток мобільного банкінгу надає клієнтам банку різні можливості, такі як запит балансу, комунальні платежі, платіжні доручення і т.п. Такі мобільні додатки можна доповнити SMS-повідомленнями. Наприклад, відправка клієнту SMS-нагадування про наближення терміну платежу по кредиту допоможе йому підтримувати в порядку свої фінанси. Аналогічно, можливість для клієнтів підписуватися на такі події, щоб отримувати SMS-повідомлення, допоможе зробити додаток мобільного банкінгу набагато більш корисним і інтерактивним.

Сценарій роботи з таким додатком починається з екрану входу в систему на смартфоні. Коли клієнт зайшов до банківської додаток, відображаються типові банківські функції разом з пропозицією підписатися на SMS-повідомлення. Вибравши пункт SMS-повідомлень, користувач може підписатися (або відписатися) на набір визначених повідомлень, таких як повідомлення про списання або надходження коштів, овердрафт і т.п.

Розробка цього сценарію складається з наступних компонентів:

  • гібридне додаток мобільного банкінгу, побудоване з використанням Worklight Studio;
  • адаптер Worklight, що працює на Worklight Server, який діє як зв'язка між серверної частиною банківського додатка і гібридним додатком мобільного банкінгу;
  • служба банківського Web-додатки (AcmeBankWebApplication.war), що надає набір інтерфейсів;
  • SMS-агрегатор для відправки SMS-повідомлень на пристрої користувачів.

Схема підписки показана на малюнку 1. У загальних рисах відбувається наступне:

  1. Клієнт завантажує гібридне додаток в свій пристрій і запускає його.
  2. Потім він вибирає категорію подій, за якими він хоче отримувати SMS-повідомлення.
  3. Після початкового рукостискання з метою безпеки (див. Документацію Worklight по аутентифікації) додаток посилає запит на підписку в Worklight Adapter, який працює на IBM Worklight Server.
  4. Worklight адаптер реєструє підписки для цього користувача.
Малюнок 1. Схема підписки

Схема повідомлень показана на малюнку 2. Ось що відбувається:

  1. Коли центральна служба повинна повідомити клієнта про одне або декілька подій, на які він підписаний, вона викликає метод в адаптері Worklight.
  2. Адаптер перевіряє, чи існує SMS-підписка для цього користувача, і якщо так, то відправляє SMS-повідомлення через попередньо налаштований SMS Aggregator.
Малюнок 2. Схема повідомлення

Налаштування

Для вирішення цього завдання потрібно IBM Worklight Studio. IBM Worklight Developer Edition можна завантажити і використовувати безкоштовно. Ця стаття містить приклади мобільного додатка Worklight (AcmeBank.zip) і Web-додатки (AcmeBankWebApplication.war) для завантаження .

Щоб створити цей приклад сценарію:

  1. Завантажте матеріали прикладів , Що додаються до цієї статті. Також при необхідності завантажте і встановіть IBM Worklight Developer Edition.
  2. Встановіть додаток мобільного банкінгу. Імпорт AcmeBank.zip в робочий простір Eclipse, де встановлений пакет Worklight Studio. Проект AcmeBank включає в себе адаптер AcmeBankAdapter (в каталозі аadapters), додаток AcmeBankApp (в каталозі apps) і файли конфігурації authenticationConfig.xml і SMSConfig.xml (в каталозі server / conf), як показано на малюнку 3.
    Малюнок 3. Структура папок
  3. Встановіть сервер додатків. Сервер додатків потрібно для запуску банківського Web-додатки.
    1. завантажте і встановіть Apache Tomcat v7.0.
    2. У Worklight Studio створіть новий сервер, для чого виберіть File> New> Server> Server and select Apache> Tomcat v7.0 Server.
    3. Натисніть кнопку Add, потім в діалоговому вікні вкажіть шлях, по якому встановлено сервер Tomcat. Натисніть кнопку Finish. У Worklight Studio додано визначення нового сервера Tomcat.
    4. Щоб побачити цей встановлений сервер, виберіть Windows> Show View> Other> Server> Servers. Виберіть визначення сервера Tomcat і замініть порт 8080, наприклад, на 8081. Це необхідно тому, що через порт 8080 працює консоль Worklight.
  4. Установка центрального банківського сервера. Імпорт файл AcmeBankWebApplication.war в ту ж робочу область. Щоб розгорнути додаток на сервері додатків, клацніть правою кнопкою на сервері Tomcat в поданні сервера і виберіть пункт Add і Remove. У вікні додайте Web-додаток з панелі Available на панель Configured і натисніть кнопку Finish. Додаток буде налаштоване для роботи поверх Tomcat.
  5. Запустіть сервер. Клацніть правою кнопкою на сервері Tomcat і виберіть Start. Перегляньте журнали в поданні консолі, щоб переконатися, що сервер і Web-додаток запускаються без помилок.
  6. Розгорніть і налаштуйте мобільний додаток. Відкрийте AcmeBankAdapter.xml в папці AcmeBankAdapter. Вкажіть ім'я домену та ім'я порту, де працює сервер Tomcat. Клацніть правою кнопкою миші на додатку Worklight і виберіть Start Worklight Server. Клацніть правою кнопкою миші на AcmeBankAdapter і виберіть Run As> Deploy Worklight Adapter. Клацніть правою кнопкою миші на AcmeBankApp і виберіть Run As> Build All and Deploy. Ця дія призведе до створення додатка Worklight для всіх налаштованих середовищ і його розгортання на сервері Worklight. У файлах прикладів середу Android вже додана. Розгорнуте додаток можна побачити на консолі Worklight (рисунок 4).
    Малюнок 4. Консоль Worklight відображає розгорнуте додаток і адаптер
  7. Попередній перегляд програми за допомогою імітатора Android. У припущенні, що у вас вже встановлений SDK Android, дія Build All and Deploy на попередньому кроці призведе до створення проекту Android з ім'ям AcmeBankAcmeBankAppAndroid. Це проект Android можна запускати точно так же, як будь-яка інша Android-додаток. Клацніть правою кнопкою миші на цьому проекті і виберіть Run As> Android Application. Якщо Android пристрій підключено через USB, і в пристрої активовано USB-налагодження, то додаток буде розгорнуто і запущено на пристрої. Якщо Android-пристрій не підключений, то Android запускає вбудований емулятор і відображає додаток в цій утиліті. Зверніть увагу, що в папці bin проекту Android знаходиться файл AcmeBankAcmeBankAppAndroid.apk, який також можна використовувати для окремої установки програми на Android-пристрої.

По завершенні перерахованих вище кроків на пристрої повинна бути запущено мобільний додаток.

Про програму

SMSConfig.xml

Щоб відправляти SMS-повідомлення з сервера Worklight, в файлі SMSConfig.xml, розташованому в папці / server / conf проекту, необхідно налаштувати один або декілька SMS-шлюзів. Щоб налаштувати SMS-шлюз, необхідно задати значення наступних елементів, піделементи і атрибутів у файлі SMSConfig.xml. При внесенні будь-яких змін в SMSConfig.xml необхідно перезапустити сервер Worklight, щоб ці зміни вступили в силу.

Для відправки SMS-повідомлень з сервера Worklight будуть потрібні SMS-агрегатор. У Worklight Server є шаблон для налаштування будь-якого SMS-агрегатора. Наприклад, якщо для пересилання SMS-повідомлень на мобільний пристрій SMS-шлюз очікує повідомлення HTTP в наступному форматі:

http: // myhost: 13011 / cgi-bin / sendsms? to = destination mobile phone
number & text = message text & username = fcsuser & password = fcspass,

то SMSConfig.xml потрібно налаштувати, як показано в лістингу 1.

Лістинг 1. Приклад SMSConfig.xml
<? Xml version = "1.0&quot; encoding = "UTF-8"?> <Sms: config xmlns: sms = "http://www.worklight.com/sms/config" xmlns: xsi = "http: // www .w3.org / 2001 / XMLSchema-instance "> <gateway hostname =" myhost "id =" gatewayID "port =" 13011 "programName =" cgi-bin / sendsms "toParamName =" to "textParamName =" text "> < parameter name = "username" value = "fcsuser" /> <parameter name = "password" value = "fcspass" /> </ gateway> </ sms: config>

Майте на увазі, що значення атрибута id в вузлі gateway в лістингу 1 (gatewayID) має відповідати атрибуту id в вузлі smsGateway в application-descriptor.xml. Код з applicationdescriptor.xml, показаний в лістингу 2, ілюструє приклад вибору вже визначеного SMS-шлюзу в SMSConfig.xml.

Лістинг 2. Файл applicationdescriptor.XML з ідентифікатором gatewayid з SMSConfig.xml
<SmsGateway id = "gatewayID" /> <android version = "1.0" securityTest = "AcmeBankAdapter-mobile-securityTest"> <worklightSettings include = "true" /> <security> <encryptWebResources enabled = "false" /> <testWebResourcesChecksum enabled = "false" ignoreFileExtensions = "png, jpg, jpeg, gif, mp4, mp3" /> <publicSigningKey> Replace this text with the public key of the certificate with which you sign the APK. For details see the Worklight Developer's Reference Guide. </ PublicSigningKey> </ security> </ android>

API Worklight SMS Notification

У прикладі сценарію використовуються API-інтерфейси, які стосуються SMS-повідомленнями, наведені в наступних лістингах.

Лістинг 3. Для підписки на SMS-повідомлення зі смартфона використовується API SMS Subscription.
WL.Client.Push.subscribeSMS ( "alerts", "AcmeBankAdapter", "AcmeBankEventSource", phoneNumber, {// в разі успіху оновлення центральної частини onSuccess: updateAlertsBackend, onFailure: function () {alert ( "Failed to subscribe to alerts. Please try again later. ");}});

subscribeSMS приймає п'ять параметрів.

  • alerts - це псевдонім, який можна застосовувати при наявності у користувача кількох телефонів.
  • AcmeBankAdapter - це адаптер, який встановлює джерело подій і взаємодіє з сервером Worklight.
  • AcmeBankEventSource - це фактичний джерело подій, з яким пов'язано додаток.
  • phoneNumber - номер телефону, який буде отримувати SMS-повідомлення, в ідеалі, поточний номер SIM.
  • Додатковий блок JSON для обробки подій onSuccess і onFailure.

API unsubscribeSMS (лістинг 4) приймає два параметри. Перший з них - псевдонім, та ж рядок, яка використовується в subscribeSMS (лістинг 3), і додатковий блок JSON для обробки подій onSuccess і onFailure.

Лістинг 4. API SMS UnSubscription використовується для відмови від підписки на SMS-повідомлення.
WL.Client.Push.unsubscribeSMS ( "alerts", {onSuccess: updateAlertsBackend, onFailure: function () {alert ( "Failed to unsubscribe from all alerts. Please try again later.");}});
Лістинг 5. API SMS check Subscription використовується для перевірки наявності підписки на SMS в цьому пристрої.
WL.Client.Push.isSMSSubscribed ();
Лістинг 6. API SMS check support використовується для перевірки, чи підтримується SMS Notification для поточного середовища.
WL.Client.Push.isPushSMSSupported ();

API Worklight з боку сервера відправляє SMS-повідомлення.

Коли підписка налаштована, центральне додаток може розсилати SMS-повідомлення в усі підписані телефони за допомогою функції адаптера submitNotification. Ця функція приймає два параметри: userID, який ідентифікує унікального користувача-одержувача повідомлень, і власне текст, який буде розісланий. Фактичним сервером Worklight API для розсилки SMS-повідомлень буде WL.Server.notifyDeviceSubscription. Ця функція приймає devicesubscription як аргумент, за яким слідує рядок JSON, яка містить фактичний текст (лістинг 7).

Лістинг 7. Функція submitNotification в адаптері
function submitNotification (userId, notificationText) {var userSubscription = WL.Server.getUserNotificationSubscription ( 'AcmeBankAdapter.AcmeBankEventSource', userId); if (userSubscription == null) {return {result: "No subscription found for user ::" + userId};}; WL.Logger.debug ( "submitNotification >> userId ::" + userId + ", text ::" + notificationText); WL.Server.notifyDeviceSubscription (userSubscription.getDeviceSubscriptions () [0], {badge: 1, alert: notificationText}); return {result: "Notification sent to user ::" + userId}; }

За більш детальною інформацією про ці API звертайтеся до документації Worklight.

Запуск прикладу додатки

У вас повинна бути можливість розгорнути і запустити додаток мобільного банкінгу, що додається до цієї статті, без будь-яких додаткових змін. Переконайтеся, що SMSConfig.xml налаштований з відповідною інформацією SMS-агрегатора, як описано вище. Центральний банківської Web-сервіс, який розгортається на сервері Tomcat, вже містить фіктивну обліковий запис і відомості про клієнта. Для входу в додаток використовуйте одну з цих готових облікових записів. Наприклад, використовуйте в якості ідентифікатора AccountId «987654», номер телефону 9008029891 і будь-який пароль. (В цьому прикладі пароль не перевіряється.)

Готові облікові записи:

  • Account 1:
    • AccountId: 987654
    • CustomerId: 123
    • FirstName: Mike
    • LastName: Preston
    • PhoneNumber: 9008029891
  • Account 2:
    • AccountId: 456789
    • CustomerId: 345
    • FirstName: Kate
    • LastName: Winslet
    • PhoneNumber: 9008039786
Малюнок 5. Вікно входу
Малюнок 6. Екран вибору варіанту SMS-повідомлень
Малюнок 7. Екран вибору повідомлення

Дія Save призводить до створення підписки на SMS на сервері Worklight. Вибрані повідомлення передаються в серверну частину програми за допомогою адаптера Worklight і зберігаються там. Для відправки SMS-повідомлень серверна частина викликає метод адаптера Worklight submitNotification. Це можна змоделювати вручну, викликавши метод submitNotification () адаптера в Worklight Studio. Для цього клацніть правою кнопкою миші на блоці і виберіть Run As> Invoke Worklight Procedure (рисунок 8). Відкриється вікно Edit Configuration and Launch, куди можна ввести параметри налаштування функції, а потім викликати її (малюнок 9).

Малюнок 8. Виклик дії Adapter Procedure
Малюнок 9. Екран властивостей Invoke Adapter Procedure

Коли повідомлення доставлено в SMS-агрегатор, той передає SMS-повідомлення в додаток мобільного банкінгу Worklight на пристрої кінцевого користувача (рисунок 10).

Малюнок 10. SMS, отримане на пристрої

висновок

IBM Worklight забезпечує уніфіковані API для підписки на повідомлення і їх відправки. У версії Worklight V5.0.5 ця підтримка доповнена підтримкою SMS-повідомлень, яка дозволяє мобільному додатку підписуватися / відписуватися на SMS-повідомлення, а також отримувати повідомлення SMS. Крім того, можна налаштувати SMS-повідомлення з будь-яким стороннім SMS-агрегатором. У Worklight 5.0.6 підтримка SMS доповнена ще й підтримкою традиційних пристроїв (що не-смартфонів). Це буде предметом наступної статті.

Ресурси для скачування

Схожі теми

Підпишіть мене на повідомлення до коментарів

Quot; encoding = "UTF-8"?

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.