Od kilku dni w aplikacjach na Androida można korzystać z rozliczeń w aplikacji. Oczywiście bardzo fajne. Zacząłem więc pracować nad aktualizacją mojej aplikacji, aby to zaimplementować. Ale teraz mam pewne problemy. Oto co zrobiłem:
- Najpierw wypróbowałem zarezerwowane identyfikatory produktów do testowania statycznych odpowiedzi rozliczeniowych w aplikacji. To działa bez problemów.
- Przesłałem wersję roboczą APK na rynek (z podpisem produkcyjnym, bez podpisywania debugowania), która zawierała uprawnienie com.android.vending.BILLING.
- Kiedy to zrobiłem, mogłem dodać „Produkty w aplikacji” do mojej aplikacji na rynku i ustawić jej stan na opublikowany.
- Utworzyłem użytkownika testowego i zresetowałem urządzenie, aby ustawić go jako podstawowe konto na moim urządzeniu testowym.
- Zarezerwowany identyfikator produktu nadal działa.
Teraz pojawia się problem. Kiedy używam własnego identyfikatora produktu (tego, który dodałem wcześniej, patrz wyżej), pojawia się okno dialogowe z następującym tekstem:
„ Błąd aplikacji: ta wersja aplikacji nie jest skonfigurowana do rozliczeń w usłudze Market. Więcej informacji można znaleźć w Centrum pomocy ”.
W dzienniku nie ma nic dziwnego. Czy ktoś wie, co tu robię źle?
źródło
Zauważyłem, że kiedy prześlę nową kopię mojego APK na rynek, to w ciągu następnej godziny napotykam ten „błąd aplikacji”. Po upływie co najmniej jednej godziny (czasami muszą upłynąć nawet dwie godziny), nie widzę już tego błędu i mogę bez problemu kupować moje przedmioty. Wygląda na to, że serwery Google potrzebują co najmniej godziny, aby przetworzyć fakt, że przesłałeś nowy plik APK (w odniesieniu do aspektu APK Billing InApp).
Dlatego radzę poczekać od 1 do 2 godzin po przesłaniu pakietu APK, a następnie sprawdzić, czy nadal pojawia się „błąd aplikacji”.
źródło
Ja też napotkałem ten problem. W końcu zdałem sobie sprawę, że moja opublikowana aplikacja ma kod wersji 3, moja wersja robocza (niepublikowany plik APK z uprawnieniem do rozliczeń) ma kod wersji 4, a podpisany plik APK, którego używałem do testowania rozliczeń w aplikacji, był nadal w wersji VersionCode 3. zmieniłem kod wersji na 4, udało mi się przejść do faktycznej strony produktu w aplikacji dotyczącej zakupu, o który prosiłem.
źródło
Może się to zdarzyć w przypadku podpisanych, wydanych kompilacji, gdy plik APK przesłany jako wersja robocza nie pasuje do pliku APK działającego w systemie w trybie testowym. Po prostu upewnij się, że twoje kompilacje do siebie pasują, wszystko powinno być w trybie testowym i przestaniesz widzieć błędy.
Największym zmartwieniem jest to, że zobaczymy to samo zachowanie w środowisku produkcyjnym, tj. Wydamy 1.0.0-1 z rozliczeniami w aplikacji, następnie wydamy 1.0.0-2, a użytkownicy korzystający z 1.0.0-1 będą nie można kupić lub przywrócić zakupów i otrzyma ten sam błąd (bardzo złe wrażenia użytkownika). Przeszukiwałem dokumentację pod kątem wzmianki o tym zachowaniu jako specyficznym dla trybu testowego, ale jak dotąd bez powodzenia; tutaj dodaliśmy błąd: http://code.google.com/p/marketbilling/issues/detail?id=15#c0
źródło
Napotkałem również ten sam problem ... ale teraz problem został rozwiązany
Moje obserwacje na podstawie kilku prób:
Mam nadzieję że to pomoże
źródło
Skopiowano z drugiego pytania: https://stackoverflow.com/a/22469253/1321401
Ten błąd może wystąpić z kilku powodów.
Oto lista wymagań dotyczących testów Google IAB.
Wymagania wstępne:
Wymagania testowe:
PS: Debugowanie z certyfikatem wydania : https://stackoverflow.com/a/15754187/1321401 ( link Thnx @dipp )
PPS: Chciałem zrobić tę listę już od dawna.
Thnx @zlgdev do aktualizacji
źródło
Moje rozwiązanie polegało na tym, że musiałem użyć tego samego klucza do podpisania apk w Market (jako wersja robocza APK) oraz w teście. Dlatego zamiast po prostu uruchamiać aplikację, zawsze muszę eksportować podpisany plik APK przy każdej aktualizacji, odinstalować go i ponownie zainstalować na urządzeniu za pomocą poleceń wiersza polecenia apk. Zasadniczo można również użyć własnego magazynu kluczy jako magazynu kluczy debugowania, ale wymaga to użycia określonych haseł zakodowanych na stałe i nazw kluczy.
źródło
Pomyślałem, że udostępnię jeszcze jedno możliwe rozwiązanie, jeśli otrzymujesz ten błąd. Pierwotnie przesłałem do Google wersję roboczą mojego pliku APK z włączonymi uprawnieniami do rozliczeń, więc mogłem skonfigurować w elementach do kupienia w aplikacji. Później przesłałem kolejny plik APK bez pozwolenia na rozliczenie brakującego w moim AndroidManifest, co spowodowało błąd. Zdecydowanie wydaje się to mało prawdopodobnym przypadkiem, ale wydarzyło się to dla mnie, więc jest to możliwe.
Edycja: w tym samym miejscu, jeśli wersja, którą przesłałeś jako wersję roboczą do Google, jest niepodpisana, błąd również wystąpi.
źródło
Aby dorzucić swoje dwa grosze, mogłem to przetestować, przesyłając do wersji Beta i tworząc konto Gmail z dostępem testowym w zakładce ustawień z nową wersją mojej aplikacji ...
Teraz przenoszę to do produkcji ...
Dzięki! Nathan
źródło
Stary wątek, ale dodając moje doświadczenie ...
Zainstalowałem apk z kodem wersji 1 wyższym niż w sklepie. Grałem na 2 różnych kontach na moim Nexusie 7 i napotkałem ten problem. Dlatego odinstalowałem i ponownie zainstalowałem ze sklepu, aby upewnić się, że kod wersji jest zgodny. Nawet czekając w nocy błąd nie został usunięty.
Okazuje się, że musiałem odinstalować wszystkie 3 konta Google, które powiązałem z moim Nexusem 7. Odzyskałem, gdy wyraźnie odinstalowałem aplikację ze wszystkich trzech kont na moim Nexusie 7, a następnie ponownie zainstalowałem ze sklepu.
źródło