2017-02-19 32 views
0

Я сделал приложение для Android, но я хочу, чтобы иметь возможность обновлять определенные значения даже после того, как у клиента работает приложение (скажем, у меня есть x = 5; в коде и в новой версии я хотел бы иметь x = 10;), вроде того, как приложения, загружаемые из магазина воспроизведения, сообщают вам об обновлениях, и вы можете установить последнюю версию.Нужно ли использовать GCM для создания Android-приложения, которое можно обновить?

Я не вижу, как это возможно, когда приложение установлено локально на мобильном телефоне, поэтому я подумал о облачном решении. Есть ли другой способ сделать это? И как приложения, такие как facebook и messenger, отправляют уведомления пользователю?

+0

Почему вы не используете игровой магазин? –

+0

Если вы знакомы с этими будущими изменениями конфигурации, прежде чем нажимать свое приложение в хранилище, вы должны реализовать какой-то шаблон конфигурации времени выполнения (или удаленную конфигурацию), и один из рекомендуемых способов - использовать GCM в качестве триггера для получения этих новых конфигураций. Если вы не можете предсказать его, просто отправьте свои новые изменения с помощью новой версии apk. – AnixPasBesoin

+0

@AnixPasBesoin Я могу только предсказать, что будут изменения, но не точные области, которые будут изменены. И я не собираюсь подталкивать приложение к игровому магазину, главным образом потому, что это приложение для массового размножения, которое предназначено для использования людьми вокруг моего города, чтобы изучить их привычки и другие вещи, поэтому я планирую локально распространять его. –

ответ

1

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

Если это так, то то, что вы действительно хотите сделать, - это сделать ваше приложение осведомленным о том, что что-то нужно изменить. (Это может быть просто уведомление о том, что есть новая версия и что пользователь должен загрузить его из магазина воспроизведения)

Существует не менее двух способов получения информации в вашем приложении.

GCM - один из вариантов, но не единственный вариант.

GCM предназначен для уведомлений «push», то есть уведомлений, которые вы хотите отправить своему приложению или пользователю, даже если они в настоящее время используют ваше приложение. Чтобы использовать GCM, вам нужно будет разместить какой-то сервер, который отправит уведомление, когда сервер сочтет это необходимым.

Другой вариант заключается в том, чтобы ваше приложение «зарегистрировалось» на вашем сервере и загрузило некоторый контент. Содержимое может содержать значения, которые необходимо изменить, или просто, что приложение должно информировать пользователя о том, что он/она должен предпринять некоторые дополнительные действия, чтобы что-то обновить относительно приложения. Для этого также потребуется, чтобы вы размещали сервер.

Второй вариант проще, главным образом потому, что для отправки сообщений через GCM вы в значительной степени должны иметь возможность сделать второй вариант. Платформа Android предлагает множество life cycle hooks, которые дают вам возможность «зарегистрироваться» с вашим сервером. Например, во время onResume Activity может быть хорошим местом для «регистрации»