App Store не позвонит. Или как я сделала своё приложение, но оно не попадёт к пользователям

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



    Для начала оговорюсь, что приложения я разрабатываю уже около пяти лет и это не первое моё приложение вообще, но первое абсолютно самостоятельное, в котором я прошла путь от идеи до реализации. Так вышло, что последний год я совсем не писала код, а была менеджером продукта. Мне казалось, что код я не буду писать больше никогда, что это слишком скучно. Но никогда начало ломаться через полгода, когда мне стало интересно разобраться в data science и python. И окончательно сломалось через год, когда мне очень захотелось сделать что-то руками и на свет стало появляться моё приложение.


    Приложение в первой версии называлось TinderCall. Оно помогает сбегать со скучных свиданий или встреч. Я несколько раз оказывалась в такой неловкой ситуации, что проще всего мне было написать подруге: “Набери меня скорее”, и ждать. Я решила, что это можно чуть автоматизировать, и звонить себе самостоятельно. К тому же выглядело, как отличный способ поработать с CallKit и PushKit. Сама идея приложения появилась у меня от чтения одного блога в инстаграмме, в котором автор рассказывает о том, как она ходит на свидания (от инстаграмма тоже бывает польза). Там многие девушки сталкивались с подобной ситуацией. Чуть позже приложение стало называться “KateCall“ или “Катя, позвони”. Название появилось в разговоре с подругой, которая тоже очень прониклась идеей и сказала, что она обычно просит сделать это Катю: “Катя, позвони”. Мне оно кажется красивой игрой слов.


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


    Функционал был определен максимально простым: возможность выбора имени звонящего и времени через которое произойдет звонок. Вначале я решила, что сделаю дизайн самостоятельно, ведь это просто: любимый цвет людей синий, сетка элементов на 8, к тому же я преподавала xCode для дизайнеров. Но когда я его сделала, поняла, что лучше обращусь к своим друзьям-дизайнерам.



    Дизайнерская версия мне понравилась гораздо больше, и я приступила к реализации. Всего разработка заняла 35 дней от создания проекта до нажатия на кнопку Submit. 17 комитов и около 40 часов, включая написание кода, чтение и борьбу с багами. Самое большое количество комитов было сделано мной по четвергам.


    Для тех кому интересно узнать детали и ограничения работы с CallKit и VoIP-пушами, добро пожаловать сюда

    Код проекта доступен здесь.


    С помощью CallKit можно сделать звонки максимально правдоподобными.


    • используется стандартный экран вызовов
    • мелодия и контакты соответствуют реальным
    • звонок показывается в книге вызовов.

    Есть несколько нюансов. Во-первых, в стандартный экран звонка нельзя передать любую картинку. Во-вторых, экран звонка ведет себя по-разному в зависимости от того открыто приложение или нет. Так, если звонок идет в приложении, то после ответа нужно показывать экран разговора самостоятельно. А если ответить на заблокированном экране, то появится стандартный экран разговора. В-третьих, CallKit нельзя использовать в Китае.


    Второй технический момент связан с пушами. Таймер мне не подходил, потому что для него нужно держать приложение постоянно открытым. Я думала в сторону локальных пушей, но они не гарантируют того, что приложение будет разбужено. Оказалось, что существует отдельный тип пушей для VoIP. Они обладают целым списком замечательных свойств:


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

    Но и использовать их можно только если есть функциональность звонков. Отдельный middleware для получения этого пуша писать не хотелось, как оказалось, и не нужно было. Библиотека OneSignal позволяет посылать любые виды remote-пушей из приложения по расписанию. Я, честно, не представляю ситуацию, где ещё могут понадобиться VoIP-пуши по расписанию, но возможность их слать есть. Для OneSignal нужно обязательно использовать отдельный voip-push сертификат. Получить его можно там же где и обычный.


    Когда основной функционал был закончен, я решила, что этого не достаточно. Захотелось сделать более понятный экран с временем ожидания звонка, а потом еще информацию обо мне и обратною связь, добавить taptic, добавить возможность выбора голоса, добавить… Я смогла остановиться после первой доработки и решила, что зная AppStore и их количество ограничений, стоит отправить им приложение как есть, а потом уже доделать приятные мелочи. И не прогадала.



    Моё приложение отклонили по двум пунктам: 1.1.6 Apps that enable anonymous or prank phone calls or SMS/MMS messaging will be rejected(Приложения, которые позволяют делать анонимные или разыгрывающий звонки, смс, ммс будут отклонены), и 5.2.5 Your app contains features that mimic the iOS call interface or behavior(Приложение мимикрирует под стандартный механизм звонков). Так что существующие приложения скорее всего не использовали CallKit, не потому что не догадались, а потому что нельзя.


    К сожалению, диалог со службой публикации ни к чему не привел. Fake calls ни в каком виде нельзя сочетать с CallKit и VoIP пушами. Доводы о том, что это сделано не шутки ради, а для полезного дела, не помогли.


    Я уже планировала, как буду продвигать своё приложение на ProductHunt и прочих площадках, начну общаться с пользователями, стану настоящим стартапером. Но для этого нужно обрезать функционал до уровня тех приложений, что уже есть. Эта идея мне пока не очень нравится, и я думаю просто оставить свой код на gitHub, а про приложение забыть, опыт оно уже принесло.


    В следующий раз, когда я буду публиковать свои приложения, я обязательно:


    1. Пробегусь хотя бы поиском по гайдам публикации в AppStore
    2. Буду публиковать приложение как можно раньше
    3. Задумаюсь, а почему такого функционала нет в существующих продуктах на рынке, и еще более внимательно пробегусь по гайдам.
    4. Не буду шутить с Apple.
    Поделиться публикацией
    Комментарии 89
      +1

      Да, к сожалению гайдлайны Apple, которые были направлены вроде как на защиту от мошеннических приложений и засорения AppStore всяким мусором, иногда ставят палки в колёса. Как и сам процесс публикации, кстати. У меня два своих приложения до сих пор висят без публикации, потому что лень седлать для них сайт и написать для одного из них положение о конфиденциальности, что опять же требует Apple :) Буду рад собрать ваше приложение себе на телефон с GitHub.

        0
        Privacy Policy можно сделать вот здесь, это прям пара минут.
        Собрать из гита просто так не получится, в репо не хватает файла с ключами от oneSignal. Но если соберетесь себе ставить, то напишите в лс, я скину недостающие части.
          0

          Спасибо за ссылку. А можно вместо oneSignal воткнуть пуши Эппла со своего аккаунта разработчика (чтоб ключи не просить) или там что-то завязано именно на этот сервис?

            0
            Нужен именно ключ от oneSignal, чтобы пуши приходили по расписанию.
      +13
      Можно пойти другим путём, запустить стартап с тренингами для девушек, на которых обучать их пользоваться русским языком для того, чтобы объяснить оппоненту, что свидание себя изжило. В качестве дополнительных курсов, так сказать, PRO, можно прокачивать самоуверенность и избавлять от комплексов. Групповые тренинги, «выход в поле» и т.д. — простор для стартаперства.
        0
        Инфобизнес дело, конечно, хорошее. Но пока не мой путь) хотя может и напрасно
          +2

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

            +1
            И девушкам, успешно окончившим курс «как закончить свидание», дарить кота.
            +1
            Вы пробовали ответить на комментарии от Apple?
            Возможно стоит рассказать про пользу, про то, что это единственный эффективный способ сделать такую задачу.
              +2
              Да, у нас была достаточно длинная дискуссия, но они очень категоричны по поводу fake calls и callkit. А так же про использование voip-пушей. Я что-то забыла описать это.
              0
              А Google Play вы не рассматриваете, как платформу для продвижения? Для начала проще на андроиде стартовать
                +2
                Мне с опытом разработки под iOS было явно проще в AppStore. Но каждый раз, когда я сталкиваюсь с таким, начинаю думать а не поменять ли мне платформу.
                  0
                  На андроиде хватает своих заморочек. Хрен редьки не слаще.
                    0
                    Везде хорошо, где нас нет) но помечтать можно
                      0
                      Были уже истории когда пропускали (премодерация у них хуже что ли), а потом «упс» и приложение забанено. Не знаю как Эппл, но ТП Гугла это ад (про плей только слышал, с некоторыми другими сервисами общался) и добиться конкретики подчас почти невозможно.
                      –4
                      там нет заморочек! а вот яблоко, это один большой геммор. уже не первый человек, кто не может разместить.
                        +1
                        Буквально пару дней назад у меня гугл удалил приложение из плеймаркета и сразу же забанил мой аккаунт разработчика (т.е. я даже исправить уже ничего не могу), о котором я писал в своей статье https://habr.com/post/421451/.
                        Причем эппл вон хоть на дискуссию согласны. А гугл судя по постам других людей на хабре вообще в дискуссии не вступает, причем выпиливает не только само приложение но и аккаунт разработчика (на котором приложений могло быть много). Поддержка лепит автоматические отписки в духе «наша логика неоспорима, раз удалили значит за дело, идите нахрен».
                          0

                          А чем мотивировал удаление?

                            +1
                            Введение пользователей в заблуждение, выдача себя за другую компанию. То ли иконка у меня оказалась слишком похожа на ютубовскую, то ли еще что, никаких детальных разъяснений что именно им не понравилось они не прислали, только ссылку на пункт правил.
                            Я было подумал что сейчас вот через день-два все переделаю и перезалью, как мне через день прилетает полный бан аккаунта.
                              0
                              А нефиг лезть в сервисы гугла. А уж если еще и рекламу не показывали — так вообще легко отделались. Была пара прецендентов когда подобных «гениев» лишали обслуживания сразу во всех сервисах гугла.

                              P.S. и в то же время иногда подобные приложения месяцами в сторе живут. Вот уж во истину правая рука не ведает что делает левая.
                              P.P.S. бэкапьте почту с gmail'a.
                    +3
                    Вот и минусы всяких там магазинов приложений — пользователи хотят а хозяин запрещает. Большой брат на верху — всегда плохо.

                    Дедовский способ распространения софта в этом отношении куда более демократичен.
                      0
                      Но в случае с Apple особых альтернатив не дают =(
                        0
                        Посмотрите в сторону PWA — я не углублялся, но по-моему все, что вам надо, там реализовать вполне можно.
                      +1
                      А зачем делать реальный обратный звонок. Достаточно отобразить экран звонящего телефона и проиграть мелодию. А также (факультативно) на время фейкового звонка запретить приём настоящий звонков (если это не запрещено).
                        0
                        Как отложено запустить приложение, которое свернуто и отобразить экран звонящего?
                          0
                          Сразу скажу — ничего не понимаю в разработке под Apple. Но с моей, чайниковской, колокольни — неужели в iOS нельзя зашедулить какое-то событие, которое бы запускало приложение XXX в заданный момент времени? А как же тогда работает будильник?

                          PS: Обычный будильник то есть в iOS? Не может быть, чтобы его не было!
                            0
                            У системных приложений особые права.
                              0

                              т.е. под IOS нельзя написать свое приложение будильник?

                                0
                                В ранних версиях точно было нельзя, про современные не знаю.
                            0
                            Такие приложения после установки таймера просто показывают черный экран и просят не закрывать приложение.

                            Через некоторое время по таймеру экран включается и телефон якобы начинает звонить.
                            0
                            Сложность возникает, если хочется запустить звонок не прямо сейчас, а через какое-то время. Тогда есть две возможности:
                            1. Держать экран приложения всё время открытым. В добавок отключить автоблокировку экрана.
                            2. Использовать пуши для настоящих звонков, но в этом случае нужно делать звонки.
                              0
                              1. Автоблокировку долго отключать в настройках в приложении не получиться.
                              2. Тут не совсем понятно.

                              Я бы попробовал сделать так:
                              1) приложение позволяет добавить контакт сервиса с именем Катя и так далее.
                              2) потом делается запрос и бот звонит.
                              Так, конечно сложнее и затраты. Но так вроде не смогут придраться.
                                0
                                Мне очень нравится идея со звонящим роботом, интересно не будит ли это воспринято как prank call опять. Надо потестить, спасибо)
                                  0
                                  Кстати, я еще подумал, что не обязательно делать реальный телефонный звонок.
                                  Можно через messenger. И затраты меньше будут.
                                    0
                                    Через мессенжер будет неубедительно.
                                    Как-никак Марьивана звонит. Начальница.
                                    — Варька! Ты где ерпст??? Быстро марш на работу! Шпалы стынут!
                                    — Дамарьвнна! Бегу!
                                    Какой тут может быть месенжер? Только войс только хардкор.
                                      +2
                                      Я думаю имеется ввиду голосовй звонок в месседжере. (большинство месседжеров умеют)
                                        +1
                                        Тогда вообще достаточно телеграм бота, который будет вам звонить в указанное время. Сохранить у себя бота в контактах можно же под любым именем.
                                        0

                                        Если начальница — не убедительно. А если подруга у которой что-то там случилось — убедительно.


                                        Я вообще с трудом представляю второго участника свидания, который скажет — а чего это подруга тебе в вотсап звонит, а не на телефон? Никуда не пойдешь, сиди, продолжаем наше первое свидание!

                                          0
                                          Я конечно не девушка, но имхо, если незнакомый мне человек говорит «ты никуда не пойдешь» — это повод напрячься и м.б. даже звонить в полицию.
                                            0
                                            А если он в странной шляпе и с посохом… то ещё и в дурку.
                                              0
                                              Согласитесь,
                                              «ты никуда не пойдешь»
                                              и
                                              «ты не пройдешь!»
                                              это немного разные фразы из разных реальностей =)
                                      0
                                      А для такого сервиса и приложение не нужно. Достаточно сайта-админки бота.
                                    +1
                                    Автоблокировку включать необязательно. Можно в AppDelegate прописать

                                    UIApplication.shared.isIdleTimerDisabled = true

                                    Ну и экран должен быть все время открытым и показывать либо черный экран, либо фейковую картинку Springboard.
                                  +2
                                  Странно, есть же решение, буквально на поверхности лежит. Приложение ставится на 2 телефона, в них прописываются телефоны друг друга. Отправка смс с кодом #call_me#08:45PM# (#call_me#30m#) или #alarm_me#08:45PM# инициирует звонок с другого телефона. Ну хотите сэкономить на смс, через какой нить вайбер высылайте. Все это можно оформить как «соцсеть для забывчивых девочек». Ни один гайдлайн не проскочит имхо :) Благодарностей не надо :)

                                  [update] Для пущей реальности, телефон который вызвал другой телефон, после ответа, может проигрывать звуковой файл с непрерывной громкой речью. Например, куча громких криков на тему "… где тебя носит в такое время, ребенок не кормлен, няня уволилась, а я разведусь с тобой!!!" :)
                                    +2
                                    С смс-ками ничего не выйдет точно, в iOS их нельзя перехватывать. В чужое приложение тоже не получится вклиниться, разве что у них там ботов можно писать) А было бы неплохо
                                      –1

                                      Второй телефон на андроиде, естественно. Зачем вам лежащий без дела айфон?)

                                        0

                                        Отправляйте почтой. Почту-то читать сторонним приложением можно?

                                        0
                                        Надо попробовать. И даже можно не писать. Не знаю, как под IOS, но под Android есть автоматизаторы типа Tasker. Звонить они точно умеют (нужен root). А вот смогут ли они проиграть в линию звуковой файл после установки связи?
                                        +15
                                        Слава Эппл! Теперь девушки не будут сбегать со свиданий. Они же такие глупенькие, что ничего лучше звонка от подружки не могут придумать :-)
                                          +3
                                          Напоминалка. И с криком «я же его приковала в подвале позавчера, а покормить забыла» быстро убежать.
                                            +4
                                            Да какая напоминалка??!
                                            Мы все взрослые люди:
                                            — Чувак, знаешь, не будем тратить время друг друга, мне это свидание больше не интересно. Удачи в поисках, я пошла.
                                            Так будет намного проще, а главное — честнее и правильнее.
                                              0
                                              Хотелось бы, но страх как-то не так выглядеть перед человеком, которого видишь первый и последний раз, зачастую перевешивает. А уж если оказалось что кто-то из двоих даже слышал о том, кого когда-то видел другой, то вообще мрак начинается. Потому проблема нетехнической области решается техническими костылями.
                                                0
                                                Но автор-то, вообще, менеджер продукта и скил общения должен быть хоть как-то развит. Бывает нужно и людей нанимать и отказывать и увольнять, а это гораздо сложнее чем просто красиво слиться со свидания
                                                0

                                                Взрослые люди играют в социальные игры, а данный подход к завершению отношений — такой вид игры (причем постоянно).
                                                Вероятно, мир не станет лучше (но и хуже) от того что все станут говорить свои мысли прямо.
                                                А неумение играть в подобные игры в современном обществе — это фильтры отбора, не более и не менее. :)
                                                Ну и мир станет окончательно скучным и предсказуемым, если упорядочить еще и эту часть нашей жизни.


                                                Так и вижу это свидание:
                                                Здрасьвуй, мне от тебя нужен только секс.
                                                О! Мне тоже, пошли и давай не будем тратить лишние деньги.


                                                Я сильно утрирую, но именно из социальных игр и строятся наши сложные взаимоотношения, ИМХО.


                                                Ну и главное, так людям проще найти партнеров, с которыми они заведут отношения.
                                                Не смогла вам девушка прямо ответить, значит, точно мимо. :)

                                            0
                                            Что мешало сделать реальный прямой отложенный звонок? Девчонки не носят по два айфона? — на этот случай можно специально запастись вторым, как бы рабочим. И в последних айфонах вроде как две симки есть — сделать прозвон на номер на второй? А можно звонить с телефона на скайп (свой же) или другой voip-клиент, кто запретит?
                                              +2
                                              А что такое отложенный звонок, как это работает? Я как-то не в теме.
                                                0

                                                Две симки есть только в Китае. А в США там нет физической второй сим, эта технология работает пока только в США

                                                  0

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

                                                  0
                                                  А если использовать настоящий звонок с какого-нибудь Twilio — тоже не пройдет модерацию?
                                                    0
                                                    Пока неясно)
                                                    +1
                                                    если не хотите хоронить саму идею, то
                                                    можно скрестить мессенджеры и облачные атс.
                                                    Например,
                                                    Лена отсылает через телеграмм сообщение «3 мин» КатеCall_bot
                                                    бот ставит задание в очередь
                                                    когда настает его время дергается апи телефонии
                                                    zadarma.com/ru/services/calls/callback/#api
                                                    в этом случае подойдет вызов с предикатом, чтобы сперва
                                                    дозвонился до to. И на ожидание вещаем голосовое приветствие.
                                                    «Срочно.Тут такие проблемы на работе. Все не приедешь — Уволю»

                                                      0
                                                      Да, спасибо за идею. Мне так много людей посоветовали сделать это, что я обязательно посмотрю в эту сторону.
                                                        +1
                                                        Тогда не забудьте ещё посмотреть по платным номерам и тарификации. А то так назвонят вашим ботом на $1000.
                                                          0
                                                          Способ с реальными звонками как бы предполагает, что сие будет для девушек платным.
                                                          Городской номер это где-то 200 рублей в месяц. Минута разговора от 50 копеек.

                                                          Чтобы не прогореть за такой вызов думаю надо брать от 10 рублей.
                                                          Или подписки вводить «Все сложно» (200 руб/месяц), «В активном поиске» (500р) ;)
                                                            0

                                                            А можно проверять, что оплата действительно прошла?
                                                            А то приложение поломают и будут звонить бесплатно.

                                                            0
                                                            Сразу чарджить за звонок — и никаких проблем. Или например, первые 2 звонка — бесплатные, дальше — докупать пакетами по 20 звонков. Главное, внятно объяснить пользователю, что из-за ограничений Apple фейковый звонок делать нельзя, а реальные стоят денег.
                                                        +2
                                                        Более реальным мне кажется такой сценарий. Собираясь на свидание
                                                        девушка настраивает
                                                        1) время.
                                                        2) Выбирает голос и текст.
                                                        3) узнает номер с какого будет обратный вызов.
                                                        4) Заносит его в контакты с нужным описанием.

                                                        Если на свидание все хорошо, то просто дважды сбрасывает вызов.
                                                          0
                                                          Так можно и для парней доп-услугу предложить. Назвать ElonCall:

                                                          Задаёшь время, голос и контакт с картинкой и если на свидании девушка всё ещё сомневается, у тебя на телефоне (показательно лежащем на столе) раздаётся звонок и ты такой:
                                                          — Ой, погоди, это Илон Маск звонит.
                                                          Поднимаешь трубку и такой:
                                                          — Hey, Musky-boy, wassup?…
                                                            0
                                                            Для родителей. Звонок от деда мороза. В прошлом году короткий номер был, на который можно было самим набрать.
                                                          0
                                                          Сделайте приложение с допустимым функционалом и так чтобы через конфиг подключался желаемый. И тогда оно пройдет проверку и будет доступно людям. К примеру какую-то безделушку типа похожую по тематике но допустимую.
                                                            +2
                                                            Забанят потом.
                                                              +1

                                                              Причём с чёрным списком, потом фиг отмоешься

                                                                0

                                                                Причем там же при регистрации документы нужны реальные, поэтому и Иван Ивановичем потом не зарегистрируешься

                                                            +1
                                                            Помимо звонка, крайне желательно, чтобы там что-то адекватное проговаривалось в трубке. Нужно чтобы диалог был. Иначе подозрительно =)
                                                            Можно просить совершить звонок других пользователей приложения (+ начислять им баллы, списывать баллы, строить рейтинги итд, подключить фиатные деньги в конце-концов). Кажется это должно решить текущие проблемы (и привнести новые проблемы).
                                                              0
                                                              Я где то видел будильник (!) с похожим функционалом под Android. Просто люди с разных временных зон будили других голосовым сообщением online в заданный временной интервал, и слушали обратную запись пробуждения). Не помню уже как называется.
                                                              Ps. Хм, странно, не могу найти в маркете. Похоже что его заблокировали.
                                                              0
                                                              типичная главная ошибка — когда приложение не нужно никому кроме себя любимой и не нужно платформодержателю)))
                                                              все правильно — в топку!
                                                                0
                                                                Я так и не понял, что мешает сказать правду: -не интересен/а, -скучный/ая и т.д.
                                                                  0
                                                                  Не все так могут. Некоторым это очень сложно.
                                                                    0
                                                                    это плохо, надо правду говорить)
                                                                  0
                                                                  Что интересно, недавно без каких либо проблем выпустили приложение с похожей механикой. Приложение звонит по заведенным в Google календаре событиям. Причем неважно в каком состоянии находится приложение (в бэкграунде, убито, не открывалось месяц).
                                                                  Также события можно завести непосредственно из приложения, тем самым реализовав идею побега с неудачного свидания:)
                                                                  Reject прилетел только по запрету CallKit в Китае.
                                                                  Apple, что тут еще сказать.
                                                                    0
                                                                    Да, интересно. А что за приложение? я бы посмотрела
                                                                      0
                                                                      Отправил ссылку в личку)
                                                                        0
                                                                        у Вас исходящий звонок делает приложение?
                                                                        Не пропускают JokeIncomingCall. А в андроид маркете таких много.
                                                                          0
                                                                          Да, VOIP пуш будит приложение, а то в свою очередь вызывает системный экран входящего вызова
                                                                    0
                                                                    Можно было бы поставить будильник. Он звенит, а Вы делаете вид, что это звонок. И срочно надо бежать
                                                                      0
                                                                      Хочется больше правдоподобности)
                                                                      0
                                                                      А как же настоящие, осязаемые друзья, которые не просто вам могут позвонить, а ворваться к вам на свидание и похитить под видом бандитов.

                                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                      Самое читаемое