@android_ru

Страница 182 из 3205
Vitaliy
08.09.2016
22:16:39
Сервер, напоминаю, отправляет пуши через службы гугла, которые адресуют пакет, используя данные из стора

Vitaliy
08.09.2016
22:17:47
Что ты занудный-то такой сегодня, а.

Andrey
08.09.2016
22:19:04
Должно, Google Play Services на это и нужны.
То что гугл их повязал вместе не значит, что это правильно.

Google
Vitaliy
08.09.2016
22:19:54
Тебе надо гарантировать, что пуш придет именно в необходимое приложение, а не просто во что-то с таким именем пакета.

Как ты это сделаешь?

Как минимум тебе нужна доверенная БД вида package_id -> signature. Эта БД стор и есть.

Andrey
08.09.2016
22:22:22
Как минимум тебе нужна доверенная БД вида package_id -> signature. Эта БД стор и есть.
Почему эта БД должна быть стором?) Почему не отдельно стоящая сущность?)

Vitaliy
08.09.2016
22:22:39
А как ты ещё будешь знать, что этой БД можно доверять?

В случае со стором информацию загружают сами владельцы пакетов, а не кто-то ещё.

То есть у тебя БД источник распространения пакетов и есть

Andrey
08.09.2016
22:23:57
А как ты ещё будешь знать, что этой БД можно доверять?
А почему нельзя доверять? Первый запуск приложения - активация.

К примеру как фейсбук делает.

Или другие сервисы пуш уведомлений.

Vitaliy
08.09.2016
22:24:58
Потому что Вася Пупкин может создать приложение с нашим package_id, установить его вместо нашего и ловить пуши, предназначенные только для нашего пакета

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

Andrey
08.09.2016
22:26:07
Google
Andrey
08.09.2016
22:26:17
Я могу установить приложение, а после его подменить.

Vitaliy
08.09.2016
22:26:28
И оно будет с другим сертификатом

Andrey
08.09.2016
22:26:30
И что делать?

Vitaliy
08.09.2016
22:26:42
Пуш не пройдет

Andrey
08.09.2016
22:27:19
И оно будет с другим сертификатом
Рутану смарт и заставлю скушать сертификат. Или же буду перехватывать пуш на уровне системы.

Vitaliy
08.09.2016
22:28:23
Без рута не перехватишь, с рутом — ну ок, ты сам вскрыл свою безопасность

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

Andrey
08.09.2016
22:29:03
Без рута не перехватишь, с рутом — ну ок, ты сам вскрыл свою безопасность
Тогда нафига такие уровни защиты? Ты собираешься через пуши конфиденциальную информацию пересылать?

Vitaliy
08.09.2016
22:29:23
Да, например, твои чатики в Телеграме.

Andrey
08.09.2016
22:29:41
Зато пользователи без рута могут быть уверены, что их сообщения абы куда не попадут
Ок, теперь скажи препятствия, которые не дают сделать тодже самое отдельным сервисом.

Ты можешь так же генерировать сертификат и подмены нет. Магазин нафига нужен?

Vitaliy
08.09.2016
22:30:34
Что ты генерировать хочешь?

Andrey
08.09.2016
22:32:07
Вот сейчас не очень понял, о чем ты.
Очень просто. Берешь и делаешь механизм активации, который основан на уникальных данных. К примеру - хеш от логин+пароль. И без компрометации данных пользователя сторонее приложение не сможет авторизоваться на твоём сервере пуш уведомлений.

Vitaliy
08.09.2016
22:32:34
Кастомные пуши, имеешь в виду? Только для своего приложения?

Vitaliy
08.09.2016
22:33:21
В смысле какая разница? Если ты делаешь глобальные, это совсем другое

Andrey
08.09.2016
22:33:29
Я тебе говорю, что привязка магазина к пушам - это хотелка гугла и не более. Архитектурного требования к этому нет.

Vitaliy
08.09.2016
22:33:52
Я задал уточняющий вопрос.

Google
Vitaliy
08.09.2016
22:34:06
Ещё раз. Я отправляю пуш с сервера, мне нужна гарантия того, что пуш попадет именно в мое приложение, а не во что-то, что его перехватит.

В общем-то, я могу на такое рассчитывать от пушей

Vitaliy
08.09.2016
22:34:51
Какой SDK все за меня делает?

Я знаю только GCM/FCM

Их нет на Яндекскитовских устройствах

Andrey
08.09.2016
22:35:23
Какой SDK все за меня делает?
Например Azure подволяет централизованно отправлять пуши.

Их нет на Яндекскитовских устройствах
Да, и это проблема. Вне гугла андроида нет так как нет нормального решения.

К примеру facebook сам пуши через себя на андроид отправляет.

Vitaliy
08.09.2016
22:36:31
Допустим. Как Azure знает, что com.vkontakte.android это именно com.vkontakte.android, а не хитрое приложение, которое издано не vk.com?

К примеру facebook сам пуши через себя на андроид отправляет.
Ну велосипед всегда можно изобрести — я говорю о случаях, когда я хочу стандартные использовать :)

Vitaliy
08.09.2016
22:37:12
Пуши приходят со стороны в приложение

Andrey
08.09.2016
22:37:18
Vitaliy
08.09.2016
22:37:28
Когда приложение делает запрос на сервер и получает данные — это не пуши, а поллинг

К тому же есть некоторые ситуации, когда мне нужно все-таки сделать что-то через пуш, а не через само приложение. Сам пример назвать не могу по некоторым причинам.

Andrey
08.09.2016
22:39:25
Ответь на мои 2 вопроса и я продолжу спор.

Vitaliy
08.09.2016
22:40:20
Андрей, у меня нет цели продолжить спор. Я спрашиваю, есть ли в Яндекс сторе система отправки пушей, которая провалидирует пакет, прежде чем доставлять туда пуш

Максим
09.09.2016
01:54:04
square/tape: A lightning fast, transactional, file-based FIFO for Android and Java. https://github.com/square/tape

Google
Максим
09.09.2016
01:54:27
Это тупо очередь? В чем прикол?

Александр
09.09.2016
03:51:40
Это тупо очередь? В чем прикол?
Это синхронизированая запись

Вообще полезна тем, кто часто и много пишет

Обычно не нужна

Stas
09.09.2016
05:20:44
Андрей, у меня нет цели продолжить спор. Я спрашиваю, есть ли в Яндекс сторе система отправки пушей, которая провалидирует пакет, прежде чем доставлять туда пуш
пуши еще до публикации первой версии в сторе можно слать. Отпечаток сертификата ты не в маркет, а в консоль грузишь. А приложение в рантайме проверяет, чем было подписанно. Такой-же механизм, как я понимаю, при проверке api ключа к google maps

Максим
09.09.2016
05:30:26
Привет

Странно, даже это не работает:

String[] mContacts = { "Мурзик", "Рыжик", "Барсик", "Борис", "Бегемот", "Мурка" }; mSearchField.setAdapter(new ArrayAdapter(getContext(), android.R.layout.simple_dropdown_item_1line, mContacts));

Admin
ERROR: S client not available

Максим
09.09.2016
05:31:14
Реакции неь вообще

У кого было?

http://prntscr.com/cfvzxc

Dmitry
09.09.2016
05:35:52
ребят, вопрос по котлину есть

class Mapper { companion object { fun transform(){…} } } => в чем будет разница, если я напишу так: object Mapper { fun transform(){…} } ?? И какой вариант лучше?

Максим
09.09.2016
05:38:12
Решил проблему

Александр
09.09.2016
05:51:11
Для пушей сертификат неважен
Важен вообще то, ты используешь ключ, который выдается в консоли после добавления отпечатка

Зачем его тогда добавлять?)

Максим
09.09.2016
05:59:42
Кто сталкивался с проблемой с русским языком в SQLite?

.where("word LIKE ?%") не работает

Google
Nikita
09.09.2016
06:02:31
Кодировку проверил?

Захардкож кодировку таблицы при создании

Максим
09.09.2016
06:03:56
У иеня готовая таблица

БД

Выбрасывает Exception

http://prntscr.com/cfw7fa

Nikita
09.09.2016
06:05:45
Что значит "у тебя готовая таблица"

Максим
09.09.2016
06:06:05
Готовая БД с таблицами

В папкеassets

Nikita
09.09.2016
06:06:25
Еще раз грю. Подобная проблема может возникать только из-за несоответствия кодировок.

Тут и копай

Ибо английский язык от русского в машинном смысле мало чем отличается

Шо там байтики, Шо там байтики

Глянь какая кодировка у таблицы

Максим
09.09.2016
06:10:27
А как кодировку узнать? Я выводил данный из БД. С кодировкой все норм

Yura
09.09.2016
06:10:44
я от него отказался, когда стал работать нормально родной эмулятор
а я нет, потому что он почему-то проц загружает больше, причём явно больше, чем гугловский.

Rustem
09.09.2016
06:20:18
Кто сталкивался с проблемой с русским языком в SQLite?
Не сталкивался, всегда все ок было

Gerc
09.09.2016
06:21:36
Важен вообще то, ты используешь ключ, который выдается в консоли после добавления отпечатка
Вообще-то в гайде можно без отпечатка зарегать пуши для пакета. А в консоле на будущее требуют отпечаток, т.к через консоль много чего можно подключить и в том числе карты

И вообще-то ты меня забанил

Максим
09.09.2016
06:23:33
Решил проблему)

Страница 182 из 3205