Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Создание своего стартапа: Подготовка к обмену текстовыми сообщениями

by
Read Time:7 minsLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup: Increasing Security
Building Your Startup: Automatic Time-Zone Detection

Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Этот урок является частью из серии Построй свой стартап с PHP на Envato Tuts+. В этой серии я проведу вас через запуск стартапа, от концепции до реального приложения Планировщик Встреч, в виде живого примера. На каждом шаге нашего пути, я буду выкладывать код Планировщика Встреч, как пример исходного кода, на котором вы можете учиться. Я также буду затрагивать вопросы связанные с запуском бизнеса, по мере их возникновения.

Подготовка к обмену текстовыми сообщениями

Когда вы в пути и приближается время встречи, получение текстовых сообщений часто бывает более полезным, чем напоминания по электронной почте. Я всегда знал, что обмен текстовыми сообщениями (или SMS) будет полезен в планировании встреч.

В сегодняшнем эпизоде, я проведу вас через первую часть настроек SMS для приложения Планировщик Встреч. В основном, я расскажу о выборе поставщика SMS, создании учетной записи, создании инфраструктуры исходного приложения и пробном текстовом сообщении.

В следующем эпизоде я создам конкретные сценарии для текстовых сообщений в приложении планировщик встреч и проведу вас через эти решения и последующее написание кода.

Если вы еще этого не сделали, попробуйте Планировщик Встреч прямо сейчас, запланировав свое первое собрание. Не стесняйтесь оставлять отзывы о своем опыте в комментариях ниже.

Я принимаю участие в комментариях, но вы также можете связаться со мной @reifman в Twitter. Я всегда открыт для новых идей и предложений тем для будущих уроков.

Напоминаем, что весь код для Планировщика Встреч написан на Yii2 Framework для PHP. Если вы хотите узнать больше о Yii2, ознакомьтесь с моей параллельной серией Программирование с Yii2. Чем дальше я иду в разработке Планировщика Встреч, тем больше меня впечатляет Yii2 и их команда добровольцев.

Выбираем SMS провайдера

Самый простой способ отправки текстовых сообщений из вашего приложения это подписка на сервис. Подобно тому, как я использую Mailgun для входящей и исходящей электронной почты для Планировщика Встреч, мне нужен поставщик SMS для доставки текстовых сообщений.

Двумя наиболее заметными сервисами, которые я рассматривал, были Twilio и Plivo. Оба они показались компетентными провайдерами, но у Twilio более широкие возможности, богатая документация и пользовательский интерфейс на высшем уровне.

Вот скриншот страницы Twilio's SMS:

Building Startups Text and SMS - Twilio Home Page for SMS FeaturesBuilding Startups Text and SMS - Twilio Home Page for SMS FeaturesBuilding Startups Text and SMS - Twilio Home Page for SMS Features

Twilio предлагает такой набор услуг, что вам нужно немного покопаться, чтобы найти SMS:

Building Startups Text and SMS - Twilio Product Offering MenuBuilding Startups Text and SMS - Twilio Product Offering MenuBuilding Startups Text and SMS - Twilio Product Offering Menu

Plivo также показался хорошим вариантом, но его веб-сайт, документация и API оказались не такими утонченными, как Twilio:

Building Startups Text and SMS - Plivo Home PageBuilding Startups Text and SMS - Plivo Home PageBuilding Startups Text and SMS - Plivo Home Page

Однако, Plivo намного дешевле, чем Twilio; в частности, он предлагает бесплатные входящие SMS:

Building Startups Text and SMS - Pricing Comparison Twilio vs PlivoBuilding Startups Text and SMS - Pricing Comparison Twilio vs PlivoBuilding Startups Text and SMS - Pricing Comparison Twilio vs Plivo

Я решил работать с Twilio для моей первоначальной реализации SMS, но с сделаю функций модульными, чтобы можно было легко переключиться на другого провайдера.

Меня немного волнует стоимость текстовых сообщений в Планировщике Встреч, как и у аудитории. Буду ли я предлагать бесплатные SMS всем пользователям даже до того, как появится поток доходов или инвесторов?

На ранней альфа-стадии это не было проблемой. Опять же, я все еще сосредоточен на предоставлении лучшего MVP, который только может быть для бета-версии.

Начинаем работу с Twilio

Регистрируемся

Регистрация в Twilio проста:

Building Startups Text and SMS - Twilio Sign UpBuilding Startups Text and SMS - Twilio Sign UpBuilding Startups Text and SMS - Twilio Sign Up

Являясь поставщиком огромного количества услуг связи, они применяют проверку по SMS в процессе регистрации:

Building Startups Text and SMS - Twilio VerificationBuilding Startups Text and SMS - Twilio VerificationBuilding Startups Text and SMS - Twilio Verification

Панель инструментов SMS

После проверки вы попадаете на дружественную, хорошо продуманную панель инструментов:

Building Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS Dashboard

Сбор учётных данных

Во-первых, я получил доступ к идентификатору учетной записи и маркеру со страницы учетных данных API:

Building Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS Dashboard

Я записал их для последующей интеграции с Планировщиком Встреч.

Получение номера телефона

Twilio предоставляет вам номер телефона, с которого вы можете отправить СМС из своего приложения:

Building Startups Text and SMS - Twilio Get Your Phone NumberBuilding Startups Text and SMS - Twilio Get Your Phone NumberBuilding Startups Text and SMS - Twilio Get Your Phone Number

Я выбрал номер с кодом в Сиэтле, где расположен Планировщик Встреч:

Building Startups Text and SMS - Twilio Your New Phone Number isBuilding Startups Text and SMS - Twilio Your New Phone Number isBuilding Startups Text and SMS - Twilio Your New Phone Number is

Затем, используя Twilio, я отправил свое первое тестовое сообщение:

Building Startups Text and SMS - Twilio Test Send a MessageBuilding Startups Text and SMS - Twilio Test Send a MessageBuilding Startups Text and SMS - Twilio Test Send a Message

Сообщение очень быстро прибыло на мой телефон.

Подумаем о входящих сообщениях

Если задуматься о создании, более чем MVP, возможность входящих сообщений будет полезна для Планировщика Встреч. Например, вы можете отправить сообщение о том, что вы опоздали или вам нужна удобная ссылка на приложение для вашего телефона. В настоящее время вам нужно щелкнуть по веб-приглашению на собрание, чтобы сделать это.

Twilio предлагает богатый набор сервисов для ответа на входящие сообщения, включая язык разметки текстовых сообщений TwiML.

Building Startups Text and SMS - Twilio Incoming MessagesBuilding Startups Text and SMS - Twilio Incoming MessagesBuilding Startups Text and SMS - Twilio Incoming Messages

На данный момент я не буду слишком беспокоиться о входящих сообщениях. Тем не менее, в любое время, когда люди отправляют сообщение на ваш номер Twilio, платите вы; другими словами — этим могут злоупотреблять.

Давайте рассмотрим несколько простых способов управления затратами.

Контроль затрат

Для альфа-и бета-тестирования я ограничиваю поддержку текстовых сообщений для североамериканских телефонных номеров. Это позволит снизить затраты. Twilio предлагает встроенный способ фильтрации по географии:

Building Startups Text and SMS - Controlling Geo Permissions for Managing CostsBuilding Startups Text and SMS - Controlling Geo Permissions for Managing CostsBuilding Startups Text and SMS - Controlling Geo Permissions for Managing Costs

Twilio также предоставляет службы обмена сообщениями, которые вы можете адаптировать для вашего приложения, включая блокировку всех SMS:

Building Startups Text and SMS Building Startups Text and SMS Building Startups Text and SMS

Как вы видите, они также рассматривают входящий спам и злоупотребление сообщениями, как слабость основной платформы SMS (а не их), которую они продумали.

Интеграция Twilio в Планировщик Встреч

Затем я хотел получить базовые функциональные возможности SMS, действующие в Планировщике Встреч.

Находим Yii расширение для Twilio

Оказывается, существует несколько доступных расширений с Twilio для Yii Framework. Я решил установить YII2 обертку Филиппа Айдачича для Twilio PHP SDK (GitHub), потому что его имя было самым необычным (шутка, его расширение, похоже, регулярно поддерживается).

Я добавил расширение к composer.json. Поскольку оно технически находится в режиме разработки, так оно работает лучше, чем прямой запрос расширения:

Затем я обновил среду:

Я не был слишком обеспокоен статусом его развития, потому что это относительно простое и прямолинейное расширение, которое просто активирует Twilio API.

Добавление учетных данных

Во-первых, я добавил ключи (см. выше) в мои файлы инициализации:

Затем я добавил регистрацию компонента в /frontend/config/main.php:

Я также обнаружил, что лучше всего поместить несколько переменных в common\config\params-local.php для более легкого доступа к приложению:

Создаем модель SMS

Затем я построил модель Sms.php, чтобы использовать ее программно, когда нужны сообщения:

Изначально findUserNumber() был заглушкой, а функция transmission() отправляла только тестовый номер в params-local.php, моего личного мобильного телефона.

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

Вот результаты:

Building Startups Text and SMS - My First Twilio TextBuilding Startups Text and SMS - My First Twilio TextBuilding Startups Text and SMS - My First Twilio Text

Примечание: да, я знаю, что должен заряжать свой телефон, но это в действительности, это проблема плохой автономной работы iPhone 6 .

Итак, вот как зарегистрироваться на Twilio и реализовать базовые функции.

Заглянем вперёд

В следующем эпизоде ​​мы рассмотрим фактическую интеграцию SMS с Планировщиком Встреч. Вот несколько вопросов, которые могут возникнуть:

  • Как люди будут предоставлять свои номера для обмена сообщениями?
  • Какие особенности Планировщика Встреч должны быть использованы SMS для уведомлений и доставки?
  • Как люди будут решать, что они хотят получать сообщения от Планировщика Встреч?
  • Будет ли Планировщик встреч обрабатывать входящие сообщения и отвечать на них?
  • Как я буду контролировать расходы на SMS и предотвращать злоупотребления на стадии MVP стартапа?
  • Что потребуется для перехода на Plivo для снижения затрат?

Как всегда, следите за обновлениями в будущих статьях по серии Создание Стартапа с PHP. Как сказал бывший кандидат в президенты Дональд Трамп: «Мы собираемся побеждать, так много побеждать, что вам надоест выигрывать» Вы скажете: «Пожалуйста, Джефф, прекратите выигрывать», а я скажу: «Нет, извините, успокойтесь, в будущем будет больше побед».

Вы запланировали встречу через Планировщик Встреч? Нет? Идти! Давай. Сделай это сейчас! И, как всегда, сообщите мне, что вы думаете в комментариях. Я ценю это. Я не могу продолжать выигрывать без вашей помощи.

Ссылки по теме

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.