powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Android [игнор отключен] [закрыт для гостей] / google market - вопросы
25 сообщений из 95, страница 2 из 4
google market - вопросы
    #38782184
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя, нет -чужая.
...
Рейтинг: 0 / 0
google market - вопросы
    #38782185
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если бы и был TCP сервер мой - что бы это изменило?
...
Рейтинг: 0 / 0
google market - вопросы
    #38925179
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь подключить библиотеку Google play licensing - проблема в том что самой библиотеки (.jar) в SDK нет - а есть ее каталог с исходниками. В settings.gradle после добавления:
Код: java
1.
2.
3.
include ':app'
include ':play_licensing'
project(':play_licensing').projectDir = new File(settingsDir, 'e:\\Developer\\Android\\sdk\\extras\\google\\play_licensing\\library\\')



в build.gradle:
Код: java
1.
2.
3.
4.
dependencies {
    compile project(':play_licensing')
...
}



Пытаюсь синхронизировать gradle настройки с проектом и получаю ошибку: Error:Configuration with name 'default' not found.
Где что я накосячил? Первый раз пытаюсь в студии подключить внешний проект - ранее такого еще не делал.
...
Рейтинг: 0 / 0
google market - вопросы
    #38925223
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
include ':app', ':usbserial'

project(':usbserial').projectDir = new File('../UsbSerialLibrary/UsbSerial')



Код: xml
1.
2.
3.
4.
5.
dependencies {
    apt 'org.androidannotations:androidannotations:3.0.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':usbserial')
}
...
Рейтинг: 0 / 0
google market - вопросы
    #38927638
wamaco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийwadmanМикола Питерский,

основная проблема в том, что ты и сам не знаешь (или не помнишь), что хочешь... В первом сообщении фигурирует фирма, а сейчас она уже "пропала".

Теперь - понял - ввел тебя в заблуждение:) Вобщем программа то не одна и я вообще пытался выяснить саму технологию маркета.
Все мои последние вопросы действительно ничего общего не имели с 1-м моим сообщением :)
Вторая программа будет работать вообще без внешнего инета (возможно только временное включение для установки программы с гугла), далее - только локальная сеть и накаких наших серверов - только подключение к чужому TCP серверу.
Фирма покупает скажем 100 планшетов, естественно заводит аккаунт на гугле и на него покупает лицензию, соответсвенно и вбивает во все 100 устройств ОДНО имя аккаунта и использует все 100 устройств одновременно только в локальных сетях даже отделенных друг от друга. Как заставить ее заплатить не за 1 приложение а за 100??? Как это сделать не используя гугл маркет я знаю - но в силу вышеуказанных причин (странички 2 назад :) ) это не вариант - посему как это сделать через гугл?
Вот что я имел ввиду :)

бляха-муха, распространяй свое поделие бесплатно!
а активируй через свой сервер! в качестве логина используй уникальное имя, например е-мэйл, если такой уже есть не разрешай активировать! или аккаунт гугла... ёпть!
...
Рейтинг: 0 / 0
google market - вопросы
    #38927914
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерскийсоответсвенно и вбивает во все 100 устройств ОДНО имя аккаунта и использует все 100 устройств

не прокатит, у гугла, если не ошибаюсь 10 устройств можно повесить на один аккаунт.
...
Рейтинг: 0 / 0
google market - вопросы
    #38927916
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wamacoа активируй через свой сервер! в качестве логина используй уникальное имя, например е-мэйл, если такой уже есть не разрешай активировать! или аккаунт гугла... ёпть!

именно через свой сервак лучше.

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

но тут специфика такая, что нужно по максимуму быть онлайн.
...
Рейтинг: 0 / 0
google market - вопросы
    #38927936
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wamacoбляха-муха, распространяй свое поделие бесплатно!
а активируй через свой сервер! в качестве логина используй уникальное имя, например е-мэйл, если такой уже есть не разрешай активировать! или аккаунт гугла... ёпть!
Мне нужно чтобы гугл принимал оплату от пользователей (у нас в БССР если это делать самому - то надо нанять человек 100, которые будут бумаги оформлять).
Т.е. в твоем варианте если пользователь оплатил программу - разработчику от гугла приходит подтверждение о покупке, разработчик в течение 48 часов "подключает" этого пользователя к аккаунту на своем сайте и приложение у пользователя начинает работать.
Вопрос - где найти таких пользователей, которые будут ждать несколько дней после оплаты и не будут кричать "ваша программа не работает - верните деньги"? Или я чего-то опять не так понял? У меня пока нет оплаченного аккаунта разработчика - поэтому как там сделано мне остается только гадать.
...
Рейтинг: 0 / 0
google market - вопросы
    #38927991
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока сделал 3 варианта сборки:
-локальная - тут своя регистрация без гугла и без сайта - пользователю после оплаты сообщается код, который он вводит в регистрацию в программе, уникальность устройства тут гарантирована. До ввода кода эта версия работает в режиме ДЕМО, после ввода - полноценная версия. На гугле этой версии не будет.
- демо версия - бесплатная версия в которой есть все возможности полной, но есть ограничение на количество сохраненных данных. Эта версия будет лежать на гугле для бесплатного скачивания.
- полная версия. Тут ограничений никаких нет, а будет проверка гугловской лицензии при первом старте, а затем после каждой 100 записей в базе данных. Я так понимаю что ссылка на скачивание этой версии будет доступна после оплаты пользователем.
Если он отзовет оплату - то после первой сотни записей программа всеравно проверит лицензию и перестанет работать.

Каждая программа имеет свой applicationId "com.firma.programma.full" "com.firma.programma.demo" "com.firma.programma.local" т.е. можно установить на одном устройстве все 3 варианта, чтобы их различать сделал разные ярлычки.

Погуглил насчет проверки лицензии гугла:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 // Попробуйте использовать здесь другие данные для ID устройства. ANDROID_ID будет взламываться в первую очередь.
        String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

        // Коллбэк функция по окончании проверки лицензии
        mLicenseCheckerCallback = new MyLicenseCheckerCallback();
        // конструктор LicenseChecker с правами.
        mChecker = new LicenseChecker(
            this, new ServerManagedPolicy(this,
                new AESObfuscator(SALT, getPackageName(), deviceId)),
            BASE64_PUBLIC_KEY);  



Для проверки можно передавать некий свой "уникальный идентификатор" - т.е. теоретически один аккаунт гугла соответствует одному устройству. Правда Secure.ANDROID_ID далеко не уникальный.
...
Рейтинг: 0 / 0
google market - вопросы
    #38927996
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не секрет, то что делает программа? Раз уж ты так обеспокоился её защитой...
...
Рейтинг: 0 / 0
google market - вопросы
    #38928004
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не секрет - программа для торговли и обычному пользователю никогда не понадобится. Поэтому могут купить одну лицензию и использовать ее на 1000 устройств - вот это меня и заботит.
...
Рейтинг: 0 / 0
google market - вопросы
    #38928020
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, эта тема тобою не изучена почти совсем http://developer.android.com/intl/ru/google/play/licensing/adding-licensing.html#impl-DeviceLimiter
...
Рейтинг: 0 / 0
google market - вопросы
    #38928043
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты мне эту ссылку уже давал - но я никак не могу понять как эта технология работает. Пояснение нагуглить никак не удалось. Думаю всеже гугл анализирует кол-во вариантов тогоже deviceId, как я написал в коде выше. Т.е. фактически никак - достаточно купить партию устройств, на которых этот Secure.ANDROID_ID будет одинаков.
...
Рейтинг: 0 / 0
google market - вопросы
    #38928052
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийSecure.ANDROID_ID
Не понимаю, откуда ты это взял?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
/*
 * Copyright (C) 2010 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.vending.licensing;

/**
 * Allows the developer to limit the number of devices using a single license.
 * <p>
 * The LICENSED response from the server contains a user identifier unique to
 * the &lt;application, user&gt; pair. The developer can send this identifier
 * to their own server along with some device identifier (a random number
 * generated and stored once per application installation,
 * {@link android.telephony.TelephonyManager#getDeviceId getDeviceId},
 * {@link android.provider.Settings.Secure#ANDROID_ID ANDROID_ID}, etc).
 * The more sources used to identify the device, the harder it will be for an
 * attacker to spoof.
 * <p>
 * The server can look at the &lt;application, user, device id&gt; tuple and
 * restrict a user's application license to run on at most 10 different devices
 * in a week (for example). We recommend not being too restrictive because a
 * user might legitimately have multiple devices or be in the process of
 * changing phones. This will catch egregious violations of multiple people
 * sharing one license.
 */
public interface DeviceLimiter {

    /**
     * Checks if this device is allowed to use the given user's license.
     *
     * @param userId the user whose license the server responded with
     * @return LICENSED if the device is allowed, NOT_LICENSED if not, RETRY if an error occurs
     */
    Policy.LicenseResponse isDeviceAllowed(String userId);
}



Это интерфейс и как ты будешь проверять уникальность устройства - полностью на твое усмотрение. Хоть смешай мак, имеи и гугл-учетку вместе...
...
Рейтинг: 0 / 0
google market - вопросы
    #38928058
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делай подписку и за каждую операцию % , тогда все равно будет
...
Рейтинг: 0 / 0
google market - вопросы
    #38928060
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, по поводу ANDROID_ID :

A 64-bit number (as a hex string) that is randomly generated when the user first sets up the device and should remain constant for the lifetime of the user's device. The value may change if a factory reset is performed on the device.

Его конечно наверняка можно рутом достать и может даже поменять, но рассчитывать, что этим будут заниматься все, кому нужна программа - как-то странно... А чтоб ID совпали нужно очень сильно постараться загрузить все устройства в одном и тоже время и в тоже время начать/закончить его настройку. Я конечно тоже пессимист в этом плане, но не на столько. :)
...
Рейтинг: 0 / 0
google market - вопросы
    #38928062
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен Secure.ANDROID_ID я привет просто как пример. Но я ума не приложу что туда передать? Н-р в локальной версии я проверяю имей, мак адрес вайфай и блютуза и мой алгоритм работает так что устройство будет работать - если хоть ОДИН ИЗ ТРЕХ кодов совпал. Нельзя проверять сразу все коды - т.е. если отключить вайфай или блютуз адаптеры - то некоторые устройства мак адреса уже не выдают -соответсвенно и лицензия будет невалидна или же наоборот при первой проверке были выключены адаптеры, а потом пользователь их включил и снова код изменится и лицензия будет не валидной. Вот что можно передать гуглу в качестве идентификатора чтоб он проверял одно совпадение из трех вариантов???
...
Рейтинг: 0 / 0
google market - вопросы
    #38928067
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийВот что можно передать гуглу в качестве идентификатора чтоб он проверял одно совпадение из трех вариантов???
Даже не прочитал то, что я написал:
wadman Это интерфейс и как ты будешь проверять уникальность устройства - полностью на твое усмотрение.
Не нужно ничего гуглу передавать, кроме true/false...
...
Рейтинг: 0 / 0
google market - вопросы
    #38928069
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanКстати, по поводу ANDROID_ID :

A 64-bit number (as a hex string) that is randomly generated when the user first sets up the device and should remain constant for the lifetime of the user's device. The value may change if a factory reset is performed on the device.

Его конечно наверняка можно рутом достать и может даже поменять, но рассчитывать, что этим будут заниматься все, кому нужна программа - как-то странно... А чтоб ID совпали нужно очень сильно постараться загрузить все устройства в одном и тоже время и в тоже время начать/закончить его настройку. Я конечно тоже пессимист в этом плане, но не на столько. :)

Я вот тоже так раньше думал - пока на своем смарте Lenovo p780 не проверил это дело. На всех Lenovo p780, которые куплены в разных местах и в разное время этот код одинаков - непомню точно толи все 1111... или 1234....

А точто его можно изменить - это мелочь по сравнению с тем что он первоначально одинаков на китайских устройствах.
...
Рейтинг: 0 / 0
google market - вопросы
    #38928078
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийНа всех Lenovo p780, которые куплены в разных местах и в разное время этот код одинаков - непомню точно толи все 1111... или 1234....
Значит их настроили на заводе. А скорее всего один раз настроив и скинув дамп, залили его на все устройства.
...
Рейтинг: 0 / 0
google market - вопросы
    #38928090
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanМикола ПитерскийВот что можно передать гуглу в качестве идентификатора чтоб он проверял одно совпадение из трех вариантов???
Даже не прочитал то, что я написал:
wadman Это интерфейс и как ты будешь проверять уникальность устройства - полностью на твое усмотрение.
Не нужно ничего гуглу передавать, кроме true/false...

Я прочитал внимательно, очень внимательно - но как гугл будет проверять "уникальность" устройства и у меня единственный ответ - вот как:
Код: php
1.
new AESObfuscator(SALT, getPackageName(), deviceId))



Ты сам передаешь что-то уникальное в "deviceId". При первом запросе проверки лицензии гугл для указанного аккаунта сохранит этот deviceId у себя в базе и потом его будет проверять.

Поясни пожалуйста в чем я неправ - потому как уже второй раз поднимаю этот вопрос.
...
Рейтинг: 0 / 0
google market - вопросы
    #38928104
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийПри первом запросе проверки лицензии гугл для указанного аккаунта сохранит этот deviceId у себя в базе и потом его будет проверять.

авторThe LVL supports per-device licensing by providing a DeviceLimiter interface, which declares a single method, allowDeviceAccess(). When a LicenseValidator is handling a response from the licensing server, it calls allowDeviceAccess(), passing a user ID string extracted from the response.
Сначала будет проверена лицензия для пользователя, затем вызван вышеуказанный интерфейс. Минус этого способа в том, что придется побеспокоиться о своем сервере, который будет запоминать устройства. И если пользователь ранее прошел регистрацию на твоем сервере с другим ID устройства (которое генерируется любым доступным способом), то возвращаешь false. Проверка лицензии провалена.
...
Рейтинг: 0 / 0
google market - вопросы
    #38928116
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman, спасибо -теперь понял. Буду пилить свой сервер хранения лицензий.
...
Рейтинг: 0 / 0
google market - вопросы
    #38928462
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийwadmanКстати, по поводу ANDROID_ID :

A 64-bit number (as a hex string) that is randomly generated when the user first sets up the device and should remain constant for the lifetime of the user's device. The value may change if a factory reset is performed on the device.

Его конечно наверняка можно рутом достать и может даже поменять, но рассчитывать, что этим будут заниматься все, кому нужна программа - как-то странно... А чтоб ID совпали нужно очень сильно постараться загрузить все устройства в одном и тоже время и в тоже время начать/закончить его настройку. Я конечно тоже пессимист в этом плане, но не на столько. :)

Я вот тоже так раньше думал - пока на своем смарте Lenovo p780 не проверил это дело. На всех Lenovo p780, которые куплены в разных местах и в разное время этот код одинаков - непомню точно толи все 1111... или 1234....

А точто его можно изменить - это мелочь по сравнению с тем что он первоначально одинаков на китайских устройствах.

не только , android_id , и на китайцах может быть на всей партии одинаковый, тоже сталкивались.
...
Рейтинг: 0 / 0
google market - вопросы
    #38929179
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то у меня опять непонятки. Ну есть свой сервер лицензий - клиент покупает программу, проверяю гугловскую лицензию и если она валидна то пытаюсь на своем серваке добавить имя гугловского аккаунта пользователя (его получить надеюсь не составит труда) и также на серваке сохраняю данные железа устройства, если такой аккаунт уже есть - то проверяю соответствие железа и если отличается - значит пользователю отказ в валидности лицензий.
Но что делать если попался хитрый клиент, который хочет одну лицензию использовать на нескольких устройствах но клянется и божится что ставит программу только на одно устройство - но лицензия не проходит? Обычно в таких случая как мне кажется надо объяснить пользователю что возможно кто-то узнал его имя аккаунта и пароль и использует программу на другом устройстве и в таком случае нужно просто поменять пароль аккаунта и программа у него заработает.
Посему вопрос - как можно определить что пользователь сменил пароль аккаунта чтобы потом проверить лицензию и если она валидна - то прописать на своем серваке новые данные железа пользователя?
...
Рейтинг: 0 / 0
25 сообщений из 95, страница 2 из 4
Форумы / Android [игнор отключен] [закрыт для гостей] / google market - вопросы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]