Вадим
наверное не так вопрос поставил.
Кто-то знает или есть ссылки как взламываются приложения, на получение платного контента бесплатно?) и как можно обезопасить приложение от этого?
Dug
А. Например верификация покупики на своем же сервере
Dug
Это можно делать с покупками через in-app billing
Ilya
Вадим
так полагаю, если разобрать приложение и собрать с изменениями, а точнее изменить флаг, той или иной покупки. то проверяй не проверяй на сервере, все равно во взломаном приложении эта покупка будет?)
Denis
Да, так и делают. Имхо, нужно поглуюже спрятать проверку
Ilya
Увы, но Java в этом плане не очень. Разбирается на раз.
Denis
Ну по крайней мере у меня в приложении изменили проверку так чтобы всегда лицензия давалась юзеру. Но это было только в одном релизе и больше не крякали =)
Ilya
Даже если нативный код вставить, обращение из Java не зашифровать.
Проксимов
Ilya
Проксимов
Denis
Кстати, согласно этому ответу https://stackoverflow.com/questions/36016369/system-alert-window-how-to-get-this-permission-automatically-on-android-6-0-an разрешение SYSTEM_ALERT_WINDOW должно предоставляться автоматом, у меня не предоставляется. Может от вендора зависит?
Denis
Ну и ещё вопрос, А как профилируете производительность? Как находите медленные методы?
Dug
Ilya
Dug
Там же был хак, что можно было с этим разрешением делать кейлоггеры и много-много чего
Denis
Да, ставится из гугл плея.
Denis
Apps with targetSdkVersion of 23 or higher that request SYSTEM_ALERT_WINDOW get it without telling the user…
Denis
Ясно, у меня таргет ниже.
Denis
Но, наверное, нужно проверять на всякий случай и открывать настройки для юзера
Iuriich
Какой самый лучший способ считать все контакты с телефонными номерами? То что в гугле нашел работает очень медленно
Iuriich
https://stackoverflow.com/questions/11218845/how-to-get-contacts-phone-number-in-android что то типа этого
Ваня
Iuriich
если в 500 контактов у меня то прогружает секунд 10:)
Iuriich
Понимаю, поэтому и хотел спросить мб есть другой способ о котором я не знаю
Iuriich
ок, спасибо за помощь
Ilya
Скорость считывания данных с симки по умолчанию - 9.6кБ/с. Так что не удивительно.
Andrey
Доброго времени суток всем, вот вопрос: могу ли я использовать какие-то платежные системы внутри моего андроид приложения? Причем я не продаю продукт, а продаю сервис: то-есть пользователь что-то делает, и платит за это. Или меня забанят? Где можно почитать об этом? Благодарю
Andrey
Единственная ссылка, что я нашел, это вот: https://developer.android.com/google/play/billing/index.html
Andrey
Но если кто разбирался с тематикой, то подскажите что-то толковое
Dug
Ребят, кто с wear работал? Как нормально дебажить можно приложение-компаньон для часиков?
Oleg
Подскажите, а как в консоли гугл плэй поменять страны, для которых доступно приложение? Или для этого нужно новый релиз выпускать?
JRoot3D
Dug
Ребят, есть среди вас кто-нибудь с опытом разработки для android wear?
Andrey
Ребята, пару вопросов еще задам: где сохраняете токен после авторизации пользователя? В преференсах не безопасно
Andrey
А хранить надо как-то
Andrey
Если не обезопасить его сохранение, то можно с рутом получить его и делать запросы
Andrey
не вариант, надо безопасное хранилище
Dug
а то, что запросы отследить не проблема, вас не волнует?)
Andrey
А те что с токеном это очень плохо, потому что там личная инфа юзера
Dug
разницы нет) Храните в преференсах. Кто захочет — достанет без проблем
Andrey
есть еще варианты?
Dug
енкрипт реалм
Dug
там храните его
Andrey
То-есть идея шифровать и хранить криптографический ключ в Android Keystore ?
Dug
Но он же не шлет ваши токены?)
Andrey
круто
Dug
Очень сомниваюсь, что данные. Ибо уже об этом было бы известно
Andrey
Меня интересовали возможности. Плохие или хорошие
Andrey
Так что спасибо за подсказки
Anonymous
Всем привет! Давно не использовал эмуляторы, Genymotion до сих пор лучшее решение? Я где-то слышал что встроенный в студию тоже норм.
Anonymous
Ок, спасибо.
Anonymous
Ох тыж, он очень быстрый, помню как 1-2 минуты ждал пока genymotion загрузится, тут мгновенно))
Anonymous
Правда первый запуск был 5-10 сек
Anonymous
И сам по себе он очень шустрый
Darya
Подскажите пожалуйста просто в какую сторону искать ответ. Вот код. В тегах credentials показывает, но вот в метод onComplete уже не проваливается. Как понять где он отваливается? Я так понимаю в signInWithCredentials?
private void handleFacebookAccessToken(AccessToken token) {
Log.v(TAG, "handleFacebookAccessToken:" + token);
// [START_EXCLUDE silent]
showProgressDialog();
// [END_EXCLUDE]
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
Log.v(TAG, "AuthCredential: " + credential);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.v(TAG, "signInWithCredential:success");
FirebaseUser user = mAuth.getCurrentUser();
updateUI(user);
} else {
// If sign in fails, display a message to the user.
Log.v(TAG, "signInWithCredential:failure", task.getException());
Toast.makeText(FacebookLoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
updateUI(null);
}
Nikita
Подскажите пожалуйста просто в какую сторону искать ответ. Вот код. В тегах credentials показывает, но вот в метод onComplete уже не проваливается. Как понять где он отваливается? Я так понимаю в signInWithCredentials?
private void handleFacebookAccessToken(AccessToken token) {
Log.v(TAG, "handleFacebookAccessToken:" + token);
// [START_EXCLUDE silent]
showProgressDialog();
// [END_EXCLUDE]
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
Log.v(TAG, "AuthCredential: " + credential);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.v(TAG, "signInWithCredential:success");
FirebaseUser user = mAuth.getCurrentUser();
updateUI(user);
} else {
// If sign in fails, display a message to the user.
Log.v(TAG, "signInWithCredential:failure", task.getException());
Toast.makeText(FacebookLoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
updateUI(null);
}
Если работает в андроид студии, можете выделить кусок кода, нажать ПКМ и в самом низу выбрать Create Gist
Ну невозможно в телеграмме большие куски кода читать...
Anton S
Кто-знает либы по открытию fb2, как это вообще обычно происходит?
Darya
Nikita
Nikita
а по фб2 чот нету :(
Anton S
а по фб2 чот нету :(
это находил, уже думаю может сначала конвертировать в epub из fb2, а потом открывать сущ. библиотекой :)
Yernar
Всем привет. Есть ли хороший сампл про токен авторизацию и сохранения этого токена в sharedprefferences?
Nikita
Darya
Продолжаю ковырять ФБ авторизацию. В общем проблема оказывается в итоге в том, что сам девайс логинится в ФБ, но нет логина в Firebase. Уже все настройки поставлены с обеих сторон, но авторизация так и не идет. Может кто сталкивался? Не хочется чтобы это оказалось тупо багом, на который ушло столько времени
MD
Пацаны, почему сериализованный объект записанный в файл при переустановки пропадает? Иногда стирается, иногда нет. в чем магия?
Fearless
Файл SharedPreference?
Oleg
Подскажите, а как в гугл плэй консоли после публикации приложения поменять список стран, в которых приложение доступно?
Konstantin
Chriz
Может кто посоветовать хорошие уроки по libGDX ?
Nikita
https://hockeyapp.net/