Как заставить пользователя обновить приложение
У меня есть приложение для покупок на игровом автомате.
Есть много новых обновлений, которые пользователь должен иметь.
Новый Apk должен быть обновлен всеми пользователями.
Как заставить всех моих пользователей обновлять приложение?
Хм вы можете сделать это под подходом.
- Добавьте обновленную версию вашего приложения на сервер
- Создайте веб-службу, которая вернет тот код версии, который вы разместили на сервере
Если у вас есть BaseActivity, то третий на этом еще делает третий шаг в этом действии, который является первым Activity или Launcher Activity
В методе onResume удалите эту службу и получите код версии приложения и сопоставьте этот код с текущим кодом приложения. Если оба они одинаковы, тогда это нормально. Запустите пользователя и вытащите пользователя из приложения, убив приложение. NTOE: вы можете использовать код ниже, чтобы получить текущую версию приложения, установленного на вашем устройстве.
Надеюсь, что это поможет тебе.
Имейте файл на сервере, который содержит версию самого недавно выпущенного APK. При запуске приложения получите файл и сравните текущую версию APK с последней версией. В этот момент вы можете либо позволить пользователю продолжить или изящно направлять их в Play Store.
Независимо от того, вам придется закодировать это в приложении, прежде чем пользователь получит его.
Да, вы можете, вам нужно управлять текущей версией apk с веб-сервисом. Необходимо выполнить следующие шаги,
Всякий раз, когда ваше приложение запускается, вызывается любая служба, которая отправляет вашу текущую версию приложения и на основе этого сервера посылает ответ как "0" или "1" как предварительно определенный. если вы получили значение "0" для существующего приложения и "1" для обновления приложения, теперь вы можете управлять диалоговым окном или некоторым действительным представлением, которое перенаправляет приложение в ваше приложение для воспроизведения.
Все это! Таким образом, вы можете принудительно обновить приложение.
Вы можете использовать appgrades.io для предоставления настраиваемого представления в своем приложении, блокирующего навигацию, и попросить пользователя обновить приложение. Нет необходимости управлять версиями приложений в приложении /api, если вы можете использовать сторонние librairies, которые выполняют такую задачу.
Вы не можете этого сделать. Ваш API должен работать со старыми версиями вашего APK. И помните, что пользователь может удалить некоторые ваши обновления.
В качестве последней меры вы можете проверить версию API в APK, показать предупреждение и не позволять использовать ваше приложение.
У меня есть приложение для покупок в игровом магазине.
Есть много новых обновлений, которые должен иметь пользователь.
Новый Apk должен быть обновлен всеми пользователями.
Как я могу заставить всех своих пользователей обновить свое приложение?
Хм, вы можете сделать это с помощью подхода ниже.
- Добавить обновленную версию кода вашего приложения на сервер
- Создайте веб-сервис, который возвращает тот код версии, который вы поместили на сервер
Если у вас есть BaseActivity, выполните третье действие, а в противном случае выполните третий шаг для этого действия, которое является первым действием или активным средством запуска .
В методе onResume запустите этот сервис, получите код версии приложения и сопоставьте этот код с текущим кодом приложения. Если они одинаковы, тогда все в порядке, Запрашиваете пользователя и уберите пользователя из приложения, убив его. NTOE: Вы можете использовать приведенный ниже код, чтобы получить текущую версию приложения, установленного на вашем устройстве.
Надеюсь, это вам поможет.
Вы можете использовать appgrades.io, чтобы предоставить настраиваемое представление в вашем приложении, блокирующее навигацию и просящее пользователя обновить приложение. Нет необходимости управлять версиями приложения в вашем приложении / API, если вы можете использовать сторонние библиотеки, которые выполняют такую задачу.
Да, вы можете управлять текущей версией АПК с помощью веб-сервиса. Необходимо выполнить следующие шаги,
Всякий раз, когда ваше приложение запускается, вызывайте любую службу, которая отправляет текущую версию приложения и на основе этого сервера отправляет ответ, такой как «0» или «1», как указано ранее. если вы получили значение выше, например, «0» для существующего приложения и «1» для обновления приложения, теперь вы можете управлять диалоговым окном или каким-либо активным представлением, которое перенаправляет приложение в приложение playstore.
Это все! Таким образом, вы можете принудительно обновить приложение.
Независимо от того, вам придется кодировать это в приложение, прежде чем пользователь получит его.
Вы не можете сделать это. Ваш API должен работать со старыми версиями вашего APK. И помните, что пользователь может удалить некоторые из ваших обновлений.
В крайнем случае вы можете проверить версию API в APK, показать предупреждение и не разрешать использовать ваше приложение.
можно ли заставить пользователя обновить, как только в iTunes Store появится новая версия моего приложения?
в настоящее время я работаю на приложение. Однако я хочу принудительно обновлять каждый раз, когда я загружаю более новую версию, потому что обновление будет иметь больше функций, и я хочу отказаться от предыдущей версии. Возможно ли это по умолчанию с iPhone или мне нужно написать собственную реализацию, чтобы проверить текущую версию и сравнить ее с магазин?
единственный способ, которым система обрабатывает обновления вашего приложения, - это запрос пользователю, что обновление доступно в стандартном приложении AppStore.
Кроме того, автономное приложение не знает о доступных обновлениях, поэтому вам нужно будет реализовать веб-службу, где приложение может проверить, действительна ли текущая версия.
И я не уверен, что это соответствует правилам Apple в приложениях, например (не могу найти доказательство-ссылку), вы не можете загружать пробные версии для приложение.
* EDIT* Этот ответ больше не верен. См. другие ответы upvoted для текущей истины.
Я сделал эту функцию, получив версию из itunes webservice и сравнивая с текущей версией.. Ниже приведен мой код
и поместите идентификатор приложения в ссылку itunes см. код ниже..
вы можете определить, если приложение нуждается в обновлении, а затем принять некоторые пользовательские действия, такие как оповещение пользователя доступно обновление. Вот фрагмент кода, который обнаруживает, что обновление доступно.
Если вам абсолютно необходимо, вы можете запустить App Store, чтобы ваши пользователи могли получить последнюю версию оттуда. Я бы рекомендовал сделать это факультативным или, по крайней мере, сначала представить диалог.
CocoaPods, Swift 3 поддержка:
твой бизнес план не должен содержать фразу "пользователь". Люди злятся, когда ты заставляешь их что-то делать. Представьте себе пользователя в спешке, который открывает ваше изящное маленькое приложение однажды утром только для того, чтобы обнаружить, что вы заставляете его обновить, прежде чем он сможет использовать приложение для того, что ему нужно. Представьте, что он застрял в дебрях, чтобы использовать Edge для загрузки. Он не будет счастлив.
Если вы будете следовать этому плану достаточно долго, одно из ваших обновлений неизбежно введет заметный баг. Если вы заставите пользователей использовать багги-версию, они взбунтуются.
Я был обусловлен опытом, чтобы съежиться всякий раз, когда я вижу "больше функций", используемых для описания новой версии программного обеспечения, потому что это неизбежно означает функцию вздутия. Дизайнеры, как правило, продолжают прививать все больше и больше функций в приложения, пока одно приложение не сделает все. Это особенно опасно на платформе, такой как iPhone, где создание одного приложения для многих вещей быстро перегружает интерфейс и отзывчивость приложения.
Edit01: мой комментарий здесь Как обновить приложение после того, как пользователи платят за обновление также может иметь отношение к вашим планам. Если ваш дизайн обновления вырезает Apple из цикла доходов, это не стартер.
обновление:
просто уточнить на основе комментария ниже: да, иногда вам нужно требовать от пользователей обновления. Однако, это сильно отличается от проектирование приложение С самого начала чтобы заставить пользователей обновить каждый раз, когда разработчик выпускает новую версию.
такой дизайн предназначен, чтобы сделать жизнь разработчика легко, а не пользователя. Каждый раз, когда пользователь должен тратить время на обновление для выгоды, которую он не просил и, возможно, не хочет, вы взяли время и ресурсы от клиента. Дизайн, который разгружает время и усилия от разработчика до пользователь-плохой дизайн, потому что люди в конечном итоге покупают программное обеспечение для своей выгоды. Когда вы уменьшаете это преимущество, вы уменьшаете максимальную рентабельность программного обеспечения.
таким образом, ни один дизайнер не должен разрабатывать программное обеспечение, которое заставляет пользователей делать то, что пользователь не хочет, если это не является абсолютной технической необходимостью. Это, конечно, эмпирическое правило, но оно очень хорошее.
система принудительного обновления должны быть частью каждого приложения, которое зависит от чего-то внешнего для этого приложения. И Apple, и Google утверждают, что если приложение использует что-то внешнее, то этот внешний API должен жить вечно, никогда не меняться и т. д., п. но это просто нереально. И если это так, Если службы, от которых зависит приложение, могут измениться, то там должны быть способ для приложения, чтобы проверить и увидеть, если он должен ограничивать функциональность и подскажите пользователю получить последнюю версию или вещи просто загадочно не удастся.
Это может и должно быть то, что Apple и Google предоставляют, но они не так каждое приложение за пределами нескольких игр должно построить это, так.
Я начал проект с открытым исходным кодом на основе rails (Apache 2.0), чтобы создать решение этой проблемы. Это называется Application - [Ctrl], и это очень много работы, но вы можете использовать его, и я приветствую пожертвования любого рода. Если я смогу получить это и работать в свободное время, я предоставлю это всем разработчикам приложений с очень разумным уровнем бесплатного обслуживания, и, конечно, каждая компания всегда сможет развернуть свое собственное развертывание.
внести свой вклад и помочь мне решить эту проблему навсегда!
мое обновление приложения в App store было просто отклонено именно по этой причине. Мы добавили функцию для проверки установленной версии против текущей версии, и если это не поддерживаемая версия, мы заставляем их обновлять.
Apple отвергла это.
Итак, вернемся к конструкции доски!
нет автоматического способа сделать это, вам нужно будет написать что-то вручную.
другие ответы указывают на то, что необходимо самостоятельно реализовать функцию принудительного обновления. Жаль, правда, жаль, что это так. Мое первое обновление для приложения iOS должно быть выпущено завтра, и, к счастью это не будет проблемой, так как мы только внесли изменения в приложение. Однако, когда мы в конечном итоге изменим структуру наших веб-сервисов, было бы очень полезно возможность принудительного обновления, так что наш сервер не должен поддерживать каждое приложение версия.
однако существует альтернатива принудительным обновлениям, которая, по-видимому, не упоминается в этом потоке. Вы можете иметь каждый вызов webservice, который создает данные, присоединить схему к данным, что говорит приложение, как эти данные должны быть deserialised в вашем приложении. Это позволяет изменять структуру данных, создаваемых get-запросами, без нарушения десериализации в приложении. Конечно, это предполагает, что интерпретатор, который вы пишете, сам по себе не изменится, но это несколько разумное предположение, когда оно созреет.
запросы Post могут быть "схемой" через взаимодействие. При этом я имею в виду, что перед каждым post-запросом вы просите Инструкции о том, как вызвать обновленный веб-сервис. Вы обрабатываете инструкции, используя для этого прикрепленную схему, а затем выполняете фактический вызов веб-службы. По сути, это означает, что для каждого запроса post требуется 2 запроса, но это может быть хорошо.
, нет если вы реализуете принудительное обновление или интерпретацию схемы, функциональность должна присутствовать в приложении с 1 дня, когда оно попадает в App Store. Иначе ты окажешься в таком же положении. Вся эта сложность была бы излишней, если бы Apple внедрила принудительное обновление для американских разработчиков. Интерпретация схемы по-прежнему была бы улучшением удобства использования, если бы существовало принудительное обновление. Но меня немного беспокоит, что Apple не имеет принудительного обновления, потому что, по крайней мере, с ним можно представить собственные меры по обновлению anti-break после выпуска приложения.
Привет всем в будущем я нашел этот учебник, который должен помочь кому-нибудь, это помогло мне.
Edit (ваш код будет выглядеть примерно так, как показано ниже):
однако при дальнейших исследованиях я обнаружил, что это отличное решение, если вы не используете сервер.
часть кода Вы устанавливаете, что вы хотите сделать, если он не равен, это где вы отправляете пользователя в app store, чтобы загрузить последнюю версию.
вы можете использовать ниже url, чтобы получить информацию из любого приложения Вы просто знаете свой Apple ID вашего приложения.
конечно, нет никакого способа. Пользователь должен принять решение, если он хочет загрузить новую версию приложения или нет.
AppStore будет отображаться, если есть новые версии, поэтому я также не думаю, что Apple позволит это. Также я не знаю, как вы это сделаете? Вы можете проверить это через интернет-соединение, но это не так, как нравится Apple, и поэтому у вас не будет возможности сделать это.
У меня есть приложение для покупок на игровом автомате.
Есть много новых обновлений, которые пользователь должен иметь.
Новый Apk должен быть обновлен всеми пользователями.
Как заставить всех моих пользователей обновлять приложение?
Хм вы можете сделать это под подходом.
Добавьте обновленную версию вашего приложения на сервер Создайте веб-службу, которая вернет тот код версии, который вы разместили на сервере
Если у вас есть BaseActivity, то третий на этом еще делает третий шаг в этом действии, который является первым Activity или Launcher Activity
В методе onResume удалите эту службу и получите код версии приложения и сопоставьте этот код с текущим кодом приложения. Если оба они одинаковы, тогда это нормально. Запустите пользователя и вытащите пользователя из приложения, убив приложение. NTOE: вы можете использовать код ниже, чтобы получить текущую версию приложения, установленного на вашем устройстве.
Надеюсь, что это поможет тебе.
Имейте файл на сервере, который содержит версию самого недавно выпущенного APK. При запуске приложения получите файл и сравните текущую версию APK с последней версией. В этот момент вы можете либо позволить пользователю продолжить или изящно направлять их в Play Store.
Независимо от того, вам придется закодировать это в приложении, прежде чем пользователь получит его.
Да, вы можете, вам нужно управлять текущей версией apk с веб-сервисом. Необходимо выполнить следующие шаги,
Всякий раз, когда ваше приложение запускается, вызывается любая служба, которая отправляет вашу текущую версию приложения и на основе этого сервера посылает ответ как "0" или "1" как предварительно определенный. если вы получили значение "0" для существующего приложения и "1" для обновления приложения, теперь вы можете управлять диалоговым окном или некоторым действительным представлением, которое перенаправляет приложение в ваше приложение для воспроизведения.
Все это! Таким образом, вы можете принудительно обновить приложение.
Вы можете использовать appgrades.io для предоставления настраиваемого представления в своем приложении, блокирующего навигацию, и попросить пользователя обновить приложение. Нет необходимости управлять версиями приложений в приложении /api, если вы можете использовать сторонние librairies, которые выполняют такую задачу.
Вы не можете этого сделать. Ваш API должен работать со старыми версиями вашего APK. И помните, что пользователь может удалить некоторые ваши обновления.
В качестве последней меры вы можете проверить версию API в APK, показать предупреждение и не позволять использовать ваше приложение.
У меня есть приложение в магазине Google Play. Когда доступна версия обновления, более старая версия станет непригодной для использования, то есть, если пользователи не обновят приложение, они не войдут в приложение. Как я могу заставить пользователей обновлять приложение, когда новая версия становится доступной?
ОТВЕТЫ
Ответ 1
Я согласен с точкой Скотта Хельме выше. Но в некоторых экстремальных ситуациях (проблемы безопасности, нарушения API-интерфейсов. ), где вам абсолютно необходимо, чтобы пользователи обновлялись для продолжения использования приложения, вы могли бы предоставить простой API управления версиями. API будет выглядеть так:
- boolean forceUpgrade
- boolean recommendUpgrade
Когда начнется ваше приложение, вы можете вызвать этот API, который будет передан в текущей версии приложения, и проверить ответ на вызов API управления версиями.
Если forceUpgrade - true , отобразите всплывающее диалоговое окно с параметрами, чтобы либо позволить пользователю выйти из приложения, либо перейти в Google Play Store, чтобы обновить приложение.
Иначе, если recommendUpgrade true , покажите всплывающее диалоговое окно с параметрами для обновления или продолжением использования приложения.
Даже при наличии этой принудительной возможности обновления вы должны продолжать поддерживать более старые версии, если это абсолютно необходимо.
Ответ 2
попробуйте это: сначала вам нужно сделать запрос вызова на ссылку PlayStore, получить текущую версию оттуда и затем сравнить ее с вашей текущей версией.
Ответ 3
Вы не должны останавливать поддержку старой версии, как только выйдет новая версия. Это приведет к ужасному пользователю. Я не знаю какого-либо производителя программного обеспечения, который делает это, по уважительной причине.
Что произойдет, если пользователь не сможет обновить или не хочет в это время? Они просто не могут использовать ваше приложение, что плохо.
Google не предоставляет никаких параметров для отслеживания версий, поэтому вам придется сворачивать свои собственные. Простой веб-сервис, чтобы вернуть текущую версию, которую может проверить ваше приложение, будет достаточно. Затем вы можете обновить версию, и приложение будет знать, что оно устарело. Я бы рекомендовал использовать это, чтобы ваши пользователи знали, что есть обновление быстрее, чем в зависимости от Google Play. На самом деле это не должно использоваться для предотвращения работы приложения, просто чтобы пользователь обновил его.
Ответ 4
Скотт и Майкл отвечают правильно. Укомплектовать службу, предоставляющую минимальный номер версии, которую вы поддерживаете, и сравнить ее с установленной версией. Вы, надеюсь, никогда не должны использовать это, но это спасатель жизни, если какая-то версия там, вы абсолютно должны убить из-за какого-то серьезного недостатка.
Я просто хотел добавить код для того, что делать дальше. Вот как вы затем запускаете намерение Google Play и отправляете их в свою новую версию в магазине после запроса пользователю, что они должны обновиться.
Значение по умолчанию для параметра "true", но Disabled Android Versions имеет значение false. В моем регулярном выражении для отключенных версий Android вы можете добавить больше отключенных версий просто с другим | внутри этих круглых скобок.
Затем я просто проверяю, разрешена ли конфигурация версией или нет. У меня есть активность, которую я запускаю, что заставляет пользователя обновляться. Я проверяю только два места, из которых приложение может быть запущено извне (моя деятельность по запуску по умолчанию и активность по обработке намерений). Поскольку Remote Config работает в кэше, он не будет сразу захватывать "отключенные" версии приложения, если требуемое время не прошло, чтобы кеш был недействительным, но это не более 12 часов, если вы идете по их рекомендуемое значение срока действия кеша.
Ответ 7
Официально Google предоставляет Android API для этого.
В настоящее время API тестируется с несколькими партнерами и скоро станет доступным для всех разработчиков.
Ответ 8
Лучше определить наш собственный процесс для обновления.
Android и iOS: Если доступна последняя версия приложения, она отобразит предупреждение как "Последняя версия, доступная с дополнительными функциями", "Обновить", нажмите кнопку "Обновить" (предупреждайте кнопку "Upgarde" и "No Thanks" ). Затем приложение будет перенаправлено на playstore/Appstore и откроет последнюю версию.
Перед обновлением убедитесь, что вы обработали надлежащий процесс миграции db, если есть изменение схемы db.
Ответ 9
проверить код версии локального и play store apk
реализовать класс для проверки версии
Диалоговое окно для обновления
Ответ 10
Вам необходимо реализовать последнее. Вот как это будет выглядеть:
Ответ 11
Ответ 12
То, что определенно должно быть упомянуто здесь, - это скорый релиз In-app Updates API.
У вас будет два варианта с этим API; первый - это полноэкранный режим для критических обновлений, когда вы ожидаете, что пользователь будет ждать немедленного применения обновления. Второй вариант - гибкое обновление, которое означает, что пользователь может продолжать использовать приложение, пока обновление загружено. Вы можете полностью настроить процесс обновления, чтобы он выглядел как часть вашего приложения.
Ответ 13
вы можете сделать это, выполнив совпадение между номером версии, который хранится в приложении в переменной, и аналогичным образом текущая версия приложения хранится на стороне сервера, и каждый раз, когда пользователь открывает приложение, первый запрос должен быть отправлен для проверки того, что если он обнаружил совпадение, ничего не делайте, просто позволяйте пользователю использовать ваше приложение, иначе стремитесь к игровому магазину Google или откройте окно веб-просмотра для вашего приложения (window.open( " https://play.google.com/store/apps/details?id=package_name", '_system', 'location = yes');), и там у них автоматически будет кнопка с запросом обновления, что то, что для Google PlayStore делает для вас, если у вас нет автоматических обновлений.
Ответ 14
Вы можете уведомить своих пользователей о наличии новой версии текущего приложения для обновления. Кроме того, если это условие истинно, вы можете заблокировать вход в приложение.
Посмотрите, будет ли это предоставить вам решение.
Ответ 15
Что ж, может быть много решений этой проблемы, например, удаление кода версии со страницы приложения (страница приложения Google Play) и т.д.
Но я собираюсь показать вам окончательное решение, которое не будет стоить ни копейки и будет работать как по волшебству.
- Просто сохраните последнюю версию кода вашего приложения в Firebase Remote
Панель настроек - Получить значение кода версии при каждом запуске приложения
Сравните его с текущей версией кода приложения, которую вы можете получить с помощью следующего кода
Если извлеченный код версии больше текущей версии, покажите AlertDialog с просьбой обновить приложение. В противном случае приложение уже обновлено.
Таким образом, всякий раз, когда вы выкатываете новую версию, вы должны поместить этот код новой версии в панель конфигурации Firebase Remote.
Ответ 16
Рекомендуется использовать удаленную конфигурацию для версии приложения, и всегда проверяйте активность при запуске, если текущая версия приложения совпадает с удаленной версией или нет, если нет принудительного обновления для магазина приложений.
Простая логика счастливого кодирования..
Ответ 17
Вы можете использовать обновления встроенной библиотеки Play Core для решения этой проблемы. Вы можете проверить наличие обновлений и установить их, если они доступны без проблем.
Обновления в приложении не совместимы с приложениями, использующими файлы расширения APK (файлы .obb). Вы можете выбрать гибкую загрузку или немедленные обновления, которые Google Play позаботится о загрузке и установке обновления для вас.
Ответ 18
Используйте appgrades.io Просто интегрируйте SDK, и с помощью панели инструментов вы можете легко заблокировать любую версию, настроив пользовательский вид/всплывающее окно, которое будет отображаться для ваших пользователей с просьбой обновить их.
Ответ 19
Google выпустил In-App Updates для библиотеки Play Core.
Я реализовал облегченную библиотеку, чтобы легко реализовывать обновления в приложении. Вы можете найти по следующей ссылке пример того, как заставить пользователя выполнить обновление.
Читайте также: