Pull to refresh
53
0
Іван @cohe4ko

Пользователь

Send message
Я не случайно в начале статьи написал: «читайте предыдущую статью». Проверка подписи моим сервером — это самый простой вариант защиты, но он имеет один минус. Нужно чтобы мой сервер был таким же отказоустойчивым как и сервер Apple. потому, что если он вдруг в офлайне — то подтверждения покупки не будет. Или второй вариант — воротить на стороне клиента кучу дополнительных методов для востановления покупки, сохранение тикета и т.д.
Этим методом я немного упрощаю жизнь. Это защита от дурака, но она работает. Чтобы не быть голословным.
в предыдущей версии у меня «наломали» на $30k. это исходя из статистики на моих серверах.
в текущей версии количество уменьшилось на 90%. Думаю тот кусочек кода того стоит :-)
а в том и нюанс, что проверяя те данные, которые я предлагаю в данной статье проверять — он не подделает, потому что эти данные так просто не доступны (не имея оригинального ответа от сервера Apple).
А если говорить о взломе конретного приложения с помощью дебагера — понятно, что данный механизм не будет преградой.
ну как сказать, «должно быть» или «может быть»? :-) У меня так работает.
Это не играет роли. Consumable тоже имеет тикет.
и его можно проверить. в предыдущей статье я описывал что именно проверяется.
Извините, но вы наверное не в теме :-)
Никто не сидит в консоли и не подделывает. Есть утилиты, которые ставятся из Сидии, называются iAppFree и iAppCracker (вроде бы так, если я не ошибаюсь) — они это делают на автомате. Они подменяют системную функцию, которая должна отправлять запрос на сервер Apple, своей функцией, которая возвращает сразу, что покупка произошла успешно. По сути не происходит никакого вмешательства в работу нашего приложения, ломается механизм защиты iOS. А этот код для того, чтобы если система взломана, защитить нашу прогу от ложного ответа системы. Вот где-то так. конечно это упрощенно.
А нужен ли здесь этот анализ?
Ломают пользователи, которые хотят на халяву получить какой-то функционал приложения — это ответ на кто, и зачем.
Это Вы о чем? Ответ сервера — это ответ Apple. Этот ответ подписан. Ломалка эмулирует этот ответ. Как раз защита от эмуляции — цель этого куска кода.
Очень прикольно :-) Плюс в карму :-)
Но есть вопрос: насколько яркое свечение? желательно в сравнении. И какие цвета можно таким образом сделать?
По поводу п. 1 — не знаю.
Но, если честно предпочитаю не использовать внешние сервисы для таких целей.
как-то свой роднее, что ли :-)
Пуши и пурчейзы очень легко реализуемы на своем хостинге.
а почему не устраивает UA — если может их сервера и не бывают особо в ауте, но частенько бывает такое что канал к серверу Applе — OK — и продажа проходит, а к другому сайту(тому жу UA) — лежит (или может быть слишком медленный) — тогда большой прикол. Я просто сам на таком палился, покупая какую-то прогу — потом долго доказывал разработчику, что я не баран. :-)
могу точно сказать — есть :-)
это серверная модель продаж (когда кроме сервера apple есть еще и ваш сервер, который отдельно проверяет сертификат через сервера apple.)
Но я отказался от такой модели по 2-м причинам.
1. У меня нет потребности в моем сервере (дополнительные данные не подгружаются)
2. Усложняется система покупки — если вдруг, по каким-либо причинам ваш сервер не работает, а сервера apple работают — то может возникнуть проблема — покупка произошла, а пользователь получиш шиш. Отзывы у вас будут веселые тогда :-)
Именно поэтому я реализовал верификацию на стороне клиента. Понятно, что эта защита не самая крутая. Но против универсальной тулзы типа iAp Cracker — достаточно сильное средство.

что и менно потестировать нельзя?
проверку покупки или что-то другое?
Если проверку покупки то можно, и очень просто.
Делаете билд подписанный adHoc сертификатом с правильнім bundle id, и совершаете покупку через тестовый аккаунт айтюнс коннекта. и все правильно обрабатывается. Даже не надо менять URL (sandbox не обязателен).
У меня в коде есть еще специальный метод, который отправляет ответ с сервера apple мне на сервер — это для регистрации покупки — в результате я в реальном времени вижу покупки — очень удобно для маркетиговых ходов.

Вы меня опередили :-)
В MKStoreKit — isFeaturePurchased — это же не одна проверка. но если глобально — то да :-)
А «письма маркетологам Apple» — это куда?
и какого содержания?
Немного не так.
Top paid меряет загрузки.
Top grossing = Кассовые сборы — это рейтинг по кассе, сколько денег принесли.
Для разработчика самое приятное — это превое место в top grossing. Для амбиций «типа я самый крутой» — это top paid. Но не факт, что денег там больше.
Другими словами — top paid — это приз зрительских симпатий, а top grossing — это те, кто платит больше налогов, но о них мало кто знает :-)
Это в воскресенье. Вчера.
По моему опыту iPad сегмент все же меньше.
А что полезного для меня? Слишко публичные деньги :-) А они, как известно, любят тишину.
Для этого и существуют обзоры. :-) Хотя спасибо, поправлю.

15 место — 1500$ в день. Если точнее, то надо мерять среднее за трое суток.

Information

Rating
Does not participate
Location
Украина
Registered
Activity