Что означает «Загруженный из любого места» в разделе «Android Vitals» в консоли разработчика Play? - PullRequest
0 голосов
/ 14 сентября 2018

Вчера я выпустил обновление для платного приложения, которое есть в Google Play Store.

Через несколько часов я получил 1-звездочный отзыв от пользователя, который пожаловался на сбой приложения, поэтому я пошел исследовать его в разделе Android Vitals на консоли разработчика.Сначала я не видел никаких признаков сбоев или ANR, но когда я изменил фильтр «Установлен из Play» на «Установлен из любого места», я увидел, что это приложение действительно сильно зависало для этого единственного пользователя.

Я немного озадачен и любопытно, что это значит - если он действительно заполучил приложение откуда-то еще, почему он может оставить отзыв в Google Play?И как получилось, что он даже смог обновить приложение?

Может ли "Установлено из любого места" включать другие вещи, например, пользователя, который удалил приложение после сбоя?Или пользователь, который сделал резервную копию приложения, используя что-то вроде Titanium, а затем восстановил его из резервной копии?

Вероятно, я должен также упомянуть, что фактический сбой произошел в Библиотеке проверки лицензий Google, что делает часть «Установлено из любого места» еще более подозрительной.Вот трассировка стека (к сожалению, я забыл загрузить mapping.txt, чтобы деобфусцировать имена методов, и уже внес изменения в исходный код).

Google Pixel XL (marlin), Android 9

java.lang.NoClassDefFoundError: 
  at com.google.android.vending.licensing.l.d (Unknown Source:29)
  at com.google.android.vending.licensing.l.a (Unknown Source:25)
  at com.google.android.vending.licensing.f.a (Unknown Source:2)
  at com.google.android.vending.licensing.f.a (Unknown Source:209)
  at com.google.android.vending.licensing.d$a$2.run (Unknown Source:52)
  at android.os.Handler.handleCallback (Handler.java:873)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:193)
  at android.os.HandlerThread.run (HandlerThread.java:65)
Caused by: java.lang.ClassNotFoundException: 
  at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:312)

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

1 Ответ

0 голосов
/ 17 сентября 2018

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

Google фактически основывает «может ли пользователь оставить отзыв» на «это приложение в библиотеке пользователя», что означает «имеет»пользователь установил его на любом устройстве или даже купил, но не установил ».Таким образом, описанная вами ситуация может иметь несколько причин:

  • Возможно, пользователь купил предыдущую версию приложения, но более новая версия не совместима с его устройством.Таким образом, они загрузили обновление из другого места и загрузили его.Они могут оставить отзыв, потому что он находится в их пользовательской библиотеке, но они не установили последнюю версию
  • , пользователь купил приложение на одном устройстве, а затем загрузил его на другое устройство, возможно, используя P2P или резервную копиюи восстановить программное обеспечение.Поскольку в библиотеке пользователя они могут оставить отзыв, но при установке не отображается
  • , возможно, в Play Store есть ошибка, связанная с блокировкой отзывов

Ваш случайвыглядит довольно легко исследовать с очень конкретной информацией.Не публикуйте личные данные, такие как имя пользователя, обзор или имя пакета вашего приложения, в StackOverflow.Вместо этого, как и многие другие, лучше всего в этом случае обращаться в службу поддержки консоли Google Play, где они могут собирать подробности в частном порядке.Вы можете связаться с ними через меню справки в консоли Play, за "?"значок вопросительного знака.Обратите внимание, что кто-либо в Google не сможет дать вам точное объяснение, чтобы защитить конфиденциальность пользователя с помощью плохого отзыва.

Все вышеперечисленное является общим советом.Примечание для этого конкретного спрашивающего, а не у всех, кто переполнен стеком: в этом случае не стесняйтесь добавлять в свой запрос запрос на передачу мне по имени.Сотрудник службы поддержки консоли Play должен иметь возможность присылать мне данные, которые вы отправляете мне, и я могу проверить дальнейшие ошибки.

...