Обновление управляемого приложения Google Play в режиме KIOSK - PullRequest
2 голосов
/ 04 февраля 2020

Для клиента я создал простое приложение, которое используется сотрудниками клиентов и клиентами клиентов. Все телефоны Samsung A70 работают под управлением Android 9.

Приложение настроено для работы в режиме KIOSK, поэтому можно запускать только приложение (выделенное устройство). Это управляемое приложение, так что только устройства, которыми владеет клиент, могут устанавливать приложение через клиентское предприятие. Приложение устанавливается через API управления Google с использованием политики.

Я просто использую https://developers.google.com/android/management/quickstart для создания политики и использую QR-код для установки телефонов с нуля.

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

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

Я также пытался принудительно обновлять с использованием политики MinimumVersionCode, но обновления по-прежнему игнорируются.

Я проверил, что управляемое приложение было загружен и одобрен (фактически прошло более месяца с момента загрузки последней версии), поэтому я почти уверен, что он не имеет никакого отношения к кешу. В нем говорится, что приложение версии 11.

Production

Release:
0.0.11
Full roll-out.
1 app bundle, version code:
11

Политика, используемая телефонами, следующая. (В соответствии с запросом клиентов я удалил полный URL-адрес пакета)

import json

#policy_name = enterprise_name + '/policies/internalUsers'

policy_name = enterprise_name + '/policies/developer'



policy_json = '''
{
  "applications": [
    {
      "packageName": "[package_url].itemrepair",
      "installType": "KIOSK",
      "defaultPermissionPolicy": "GRANT",
      "minimumVersionCode": 11
    }
  ],
  "safeBootDisabled": true,
  "factoryResetDisabled": false,
  "debuggingFeaturesAllowed": true,
  "appAutoUpdatePolicy": "ALWAYS",
  "systemUpdate":
    {
      "type": "WINDOWED",
      "startMinutes": 0,
      "endMinutes": 1439
    }

}
'''

androidmanagement.enterprises().policies().patch(
    name=policy_name,
    body=json.loads(policy_json)
).execute()

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

full = 'enterprises/[enterprise_id]/devices/[device_id]'
androidmanagement.enterprises().devices().issueCommand(name=full,body={'type':'REBOOT'}).execute()

Но приложение все еще не обновлено. Поэтому я надеюсь, что у кого-то есть идеи относительно того, чего мне не хватает.

1 Ответ

2 голосов
/ 20 февраля 2020

1. Я могу ошибаться, но у меня была та же проблема, и она была исправлена ​​после того, как я вручную обновил приложение. Поэтому в моем случае я добавил "appAutoUpdatePolicy": "ALWAYS", ПОСЛЕ ТОГО, КАК я сделал обновление, которое закончилось тем, что мое выделенное устройство не обновляло мое приложение Kiosk. Если вы переустанавливаете или обновляете свое приложение вручную, а затем публикуете sh любое новое обновление ПОСЛЕ внесения изменений в политику, оно должно работать.

2.

Я понимаю, что когда приложения находятся в режиме киоска, они не могут просто обновляться, и вам необходимо установить интервал времени, в течение которого приложению разрешается выходить из режима KIOSK и обновлять себя. Но даже если я установил временной интервал в политике, он не обновляется. Даже пытался разрешить интервал времени быть целым днем.

Если вы ссылаетесь на:

  "systemUpdate":
    {
      "type": "WINDOWED",
      "startMinutes": 0,
      "endMinutes": 1439
    }

Afaik, это касается android системных обновлений, а не вашего киоска Приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...