2016-11-22 11 views
-1

Мне нужно добавить что-то, что генерирует код активации в моем приложении для Android, поэтому функции приложения должны работать только в том случае, если приложение активировано. Каков наилучший способ сделать это?Код активации пользователя в приложении android

ответ

0

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

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

0

Если я правильно понял вопрос, то, что вы хотите достичь, технически невозможно.

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

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

И усилием является ключевым здесь. В некоторых сценариях, защищающих низкоценные ресурсы, он может быть достаточно хорош, чтобы сдержать самых слабых злоумышленников. Это всегда связано с риском и стоимостью защиты. Но вы должны быть в курсе вышеизложенного, что логика в приложении не может быть защищена.

Так что, если вы хотите, чтобы защитить ваши вещи, у вас есть несколько вариантов для различных сценариев:

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

  • Уплаченные функциональные возможности, обслуживаемые сервером. Если критическая бизнес-логика находится на стороне сервера, вы можете реально применять правила контроля доступа, и вы можете контролировать, кто имеет доступ. Это может иметь серьезные последствия для архитектуры приложения и его функциональности.

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