Purchased this app android

Download failed because you may not have purchased this app что делать?

Многие из нас любят играть в игры на своем смартфоне или планшете. Это так удобно, ведь большинство устройств поддерживает достаточно мощные игры, включая и версии тех, в которые мы привыкли играть на компьютере, например, GTA San Andreas, Майнкрафт, World of Tanks, FIFA и многие другие. Но нередко процесс установки игр сопровождается ошибкой «Download failed because you may not have purchased this app», так как пользователь нарушает порядок действий и нужные файлы либо не скачиваются, либо не сохраняются в нужном месте. И сегодня речь пойдет о том, что делать, когда при запуске игр (разберем на примере GTA San Andreas) на экране мобильного устройства появляется указанное сообщение.

Вкратце об ошибке

Данное сообщение означает, что загрузка не может быть завершена из-за того, что пользователь не приобрел данное приложение. Обычно ошибка появляется, когда папки с файлами игры размещаются в неправильном порядке. И лишь в 4–5 процентах случаев дело действительно в отсутствии платной лицензии. Последнюю ситуацию можно разрешить очень просто – зайти в Play Market и скачать версию для планшета или смартфона. А как исправить ошибку, если мы не планируем покупать игру, поговорим чуть ниже.

Исправляем ошибку Download failed because you may not have purchased this app

  1. Важную роль имеет правильная установка папок игры на мобильное устройство. Итак, устанавливаем GTA San Andreas с сайта PDALife.

Скачайте файлы GTA San Andreas с сайта PDALife

  • Скачиваем файл apk (любой) и кэш (желательно не через торрент).
  • Затем заходим в Проводник→Download и запускаем файл apk.
  • После того, как файл установится, обязательно нажимаем не “Открыть”, а “Готово”, т. к. в противном случае игра выдаст сообщение о том, что нет кэша.
  • Затем заходим в папку с кэшем и вновь не открываем файлы, а нажимаем в нижней панели “Извлечь”. Далее выбираем путь /sdcard/android/obb и подтверждаем действие.
  • Если появляется сообщение о том, что нужно перезаписать файл pdalife.ru.url (такое бывает, когда игра уже была ранее установлена), то нажимаем “Пропустить”.
  • После успешного сохранения файлов запускаем игру.
  • Корректировка названия и перенос отсутствующих файлов

    Если ошибка все же выскакивает, то через любой проводник, установленный на устройстве (например, ES Проводник) открываем sdcard→Android→obb. Затем заходим в папку com.rockstargames.gtasa и видим два файла:

    1. main.8.com.rockstargames.gtasa.obb.
    2. patch.8.com.rockstargames.gtasa.obb.

    В названии файла не 8

    Если в названии файла не 8, то нажимаем “Переименовать файл” и меняем другое цифровое значение (у некоторых пользователей стоит 11) на 8. Для многих это стало решением проблемы.

    Этих файлов нет

    Рассмотрим ситуацию, когда в директории obb есть папка com.rockstargames.gtasa, но в последней нет двух вышеуказанных файлов. Заходим в папку Download (на нашем устройстве это может быть и другая директория, выбранная для сохранения загруженных файлов) и ищем кэш, из которого мы распаковывали GTA SA.

    Открываем сначала кэш, затем папку com.rockstargames.gtasa. В ней и лежат эти два файла. Отмечаем их и извлекаем по пути sdcard→Android→obb→com.rockstargames.gtasa. Подтверждаем действия и ждем, когда два файла перенесутся в конечную директорию.

    По пути sdcard→android нет папки obb

    Что делаем в этой ситуации? Заходим в Проводник, затем sdcard→android. Нажимаем кнопку “Создать”, выбираем “Папка” и переименовываем в obb. Созданная директория может сразу не появиться на экране, т. к. находится среди скрытых файлов. Чтобы ее увидеть, в настройках выбираем “Отображать скрытые файлы” и затем используем папку для размещения двух файлов из кэша игры.

    Читайте также:  Соединение андроид с автомагнитолой

    Отключение интернета

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

    Запуск игры при выключенном интернете

    Использование root-прав

    Если мы можем использовать root-права, чтобы управлять устройством, то скачиваем себе на устройство приложение Lucky Patcher. Заходим в него и ищем в списке нашу игру GTA SA.

    Нажимаем на название и в открывающемся списке входим в “Меню патчей”. Здесь выбираем раздел “Удалить проверку лицензии”.

    В меню патчей удаляем проверку лицензии

    Затем активируем “Автоматические режимы” и переходим в следующее меню, где проставляем галочки в нужных нам пунктах.

    Обязательно ставим галочку в пункте “Удалить зависимости”. Этим мы удаляем зависимость GTA SA от Google Play и других приложений. Иногда при запуске игры может выйти сообщение о том, что необходимо подключиться к Google Play, но на это не обращаем внимания. Также обязательно галочка должна стоять в пункте “Автоматический режим”, который обеспечивает минимум патчей и помогает работать многим приложениям со средней защитой. После этого нажимаем “Пропатчить” и ждем, когда закончится обработка патча GTA SA. Это нужно сделать для устранения ошибки «Download failed because you may not have purchased this app».

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

    Источник

    Методы решения ошибки download failed because you may not have purchased this app

    Установка игр на Android может сопровождаться сбоем с указанием ошибки download failed because you may not have purchased this app. Причины сбоя:

    • системные файлы устанавливаемого приложения размещаются в неподходящем месте;
    • игра требует покупки лицензии.

    Если во втором случае все понятно — не все игры бесплатны, то для устранения первой и самой распространенной причины действуйте следующим образом:

    1. Корректно устанавливаем игру. Для этого нужен apk-файл и кеш. После запуска apk-файл важно не сразу открывать приложение. Необходимо тапнуть на «Готово», так как программа еще не «видит» кеша. Извлекаем папку с кешем по адресу /sdcard/android/obb. Если во время извлечения выдаются запросы на перезапись каких-либо файлов, то игнорируем их нажатием на кнопку «Пропустить». Если после этого неисправность не исчезла, то перейдите к следующему действию.
    2. Корректируем названия. Зайдите в /sdcard/android/obb в папку вида com.ххх, где ххх здесь и далее — название игры. Внутри нее будет 2 файла: main.8.com.ххх.obb и patch.8.com.ххх.ob. Если у вас в обозначении файлов стоит не 8, а другая цифра, то переименовываем файл, чтобы там была 8. Если таких файлов нет, то их нужно вручную скопировать из скачанного кеша — они там располагаются в папке com.ххх. Возможно, папки /sdcard/android/obb не будет — тогда создайте ее, а в ней директорию com.ххх и скопируйте туда два файла.
    3. Используем рут. Если на смартфоне у вас есть root-права, то установите приложение Lucky Patcher. Откройте его и в списке установленных программ отыщите проблемную игру. Перейдите в «Меню патчей» => «Удалить проверку лицензии». Далее откройте в меню «Автоматические режимы» и отметьте галочками строки «Удалить зависимости», «Автоматический режим». Подтверждаем изменения нажатием на «Пропатчить», после чего ошибка download failed because you may not have purchased this app перестанет досаждать.

    Источник

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

    Полный текст ошибки выглядит так: «Download failed because you may not have purchased this app», что переводится как «Произошла ошибка при загрузке, т. к. Вы не приобрели данное приложение». Сообщение выглядит разумно лишь в тех случаях, когда Вы пытаетесь установить лицензионное ПО методом копирования. Однако, нередко оно появляется и при запуске бесплатных программ. Особенно это касается игр.
    Зачем мне приобретать игру, которая доступна для бесплатной загрузки на официальной странице разработчика? Тем не менее, данная ошибка сопровождает многие игры от версии к версии. Самый простой метод борьбы с ней — установка программы Freedom.

    Читайте также:  Как удалить контакты с андроида с симки

    Как убрать ошибку и запустить игру?
    Если у Вас уже установлена игра, регулярно выдающая ошибку вида «Download failed…», а также установлена программа Freedom, то остается лишь запустить ее, найти среди перечня искомую бесплатную игру и однократно нажать на ней. После этого Freedom исправит проблему и автоматически запустит приложение.
    Данная информация приведена в ознакомительных целях для того, чтобы помочь пользователям вернуть работоспособность приложения на время устранения ошибки разработчиками. Вы не должны использовать материал из этой статья для нарушения лицензионных, авторских и каких-либо других прав.

    Если Ваш Андроид не имеет рут-прав, а их получение представляется для Вас слишком сложной задачей или Вы боитесь потерять личные данные, то для исправления ошибки вида «Download failed…» можно попробовать следующее:
    Сделать резервную копию приложения, если оно уже использовалось;
    Удалить приложение и все его компоненты;
    Найти приложение в Play Market’е (есть на всех Андроид-устройствах);
    Выполнить установку приложения;

    Источник

    Android in-app purchases, part 2: processing purchases with the Google Play Billing Library

    This is the second article in our series about implementing in-app purchases on Android. You probably might be interested in reading all of our tutorials on this topic:

    In the previous article, we created a wrapper class to work with the Billing Library:

    Let’s proceed to the purchase implementation and improve our class.

    Designing a subscription screen

    Any app that features in-app purchases has a paywall screen. There are Google policies that define the bare minimum of elements and instructional texts that must be present in such screens. Here’s a summary. In the paywall screen, you must be explicit about your subscription conditions, cost, and duration, as well as specify whether the subscription is necessary to use the app. You must also avoid forcing your users to perform any additional action to review the conditions.В

    Here, we’ll use a simplified paywall screen as an example:

    We have the following elements on the paywall screen:

    • A heading.
    • Buttons set to start the purchase process. These buttons guide the user about the subscription options’ general details, such as the title and the cost, which is displayed in the local currency.
    • Instructional text.В
    • A button to restore the previously made purchase. This element is a must for any app that features subscriptions or non-consumable purchases.

    Tweaking the code to display product details

    There are four products in our example:

    • Two auto-renewable subscriptions («premium_sub_month» and «premium_sub_year»);
    • A product that can’t be bought twice, or a non-consumable product (“unlock_feature”);
    • A product that can be bought multiple times, or a consumable product (“coin_pack_large”).

    To simplify the example, we’ll use an Activity which we’ll inject with the BillingClientWrapper created in the previous article, as well as a layout with a fixed number of purchase buttons.

    For convenience, we’ll add a map where the key is the product’s sku, and the value is the corresponding button on the screen.

    Let’s declare a method to display the products in the UI. It will be based on the logic introduced in our previous tutorial.

    product.price is an already formatted string that specifies the local currency for the account. It doesn’t need any extra formatting. All the other properties of the SkuDetails class object come fully localized as well.

    Starting the purchase process

    To process the purchase, we have to invoke the launchBillingFlow() method from the app’s main thread.

    We’ll add a purchase() method to the BillingClientWrapper to do that.В

    The launchBillingFlow() method has no callback. The response will return to the onPurchasesUpdated() method. Do you remember us declaring it in the previous article and then saving it for later on? Well, we’ll need it now.

    The onPurchasesUpdated() method is called whenever there’s any outcome out of the user’s interaction with the purchase dialog. This can be a successful purchase, or a purchase cancellation caused by the user closing the dialog, in which case we’ll get the BillingResponseCode.USER_CANCELED code. Alternatively, it can be any of the other possible error messages.

    Читайте также:  Ad hoc windows 7 android

    In a similar fashion to the OnQueryProductsListener interface from the previous article, we’ll declare an OnPurchaseListener interface in the BillingClientWrapper class. Via that interface, we’ll receive either the purchase (a Purchase class object) or an error message declared by us in the previous guide. In the next one, we’ll discuss the case where the Purchase class object can be null even if the purchase was successful.

    Next, we’ll implement it in the PaywallActivity:

    Let’s add some logic to onPurchaseUpdated():

    If purchaseList isn’t empty, we’ll first have to pick out the items whose purchaseState equals PurchaseState.PURCHASED, since there are pending purchases also. If that’s the case, the user flow ends here. According to the docs, we should then verify the purchase on our server. We’ll cover this in the articles to follow in this series. Once the server verification is completed, you must deliver the content and let Google know about it. Without the latter, the purchase will get automatically refunded in three days. It’s quite interesting that this policy is unique to Google Play — iOS doesn’t impose any similar ones. You have two ways of how to acknowledge delivering your content to the user:

    If dealing with a consumable product, we have to invoke the consumeAsync() method instead. It acknowledges the purchase under the hood, while also making it possible to buy the product again. This can only be done with the Billing Library. For some reason, the Google Play Developer API doesn’t offer any way to do this on the backend side. It’s quite curious that unlike Google Play, both App Store and AppGallery configure the product as consumable via App Store Connect and AppGallery Connect, respectively. Though, such AppGallery products should be consumed in an explicit manner as well.

    Before next step, let me pause to remind you that Adapty SDK makes implementing in-app purchases into an Android App much easier. So, I would highly recommend you to have a look at it and schedule a demo.

    Let’s write the methods for acknowledge and consume, as well as two versions of the processPurchase() method to account for whether or not we’re running our own backend.

    Without server verification:

    With server verification:

    In the articles to follow, we’ll cover server verification for purchases in more detail.

    Of course, we could also implement the acknowledgement in the second example on the client side. However, if you can do something on the backend, then you should. If either the acknowledgement or the consumption process throws any errors, these cannot be ignored. In case none of these get executed within 3 days after the purchase receiving the PurchaseState.PURCHASED status, it will be cancelled and refunded. So if it’s impossible to do on the backend and keeps throwing an error after a number of attempts, there’s a reliable workaround. You’ll have to get the user’s current purchases via some lifecycle method, such as onStart() или onResume(), and keep trying in hopes that the user will open the app within 3 days while connected to the internet. 🙂

    Therefore, the current version of the BillingClientWrapper class will look like this:

    You may want to ask why the buttons are active for all products, no matter whether the user has already purchased these or not. Or, you may have some questions about what happens if you buy both subscriptions. Will the first subscription replace the second one, or will they co-exist? See the upcoming articles for all the answers 🙂

    Источник

    Оцените статью