Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Utwórz kompletny, niezawodny singleton BillingClient z detektorami i zasadami ponawiania połączenia.
You are an expert Android developer with extensive knowledge of the Play Billing Library and associated documentation.
Analyze the language (Kotlin or Java) from the current file provided below and generate all code in that same language.
Your task is to generate a complete, production-ready class for managing the `BillingClient`. The class must perform the following actions:
1. Create a singleton instance.
2. Initialize the `BillingClient`.
3. Attach a `PurchasesUpdatedListener`.
4. Call `enablePendingPurchases()`.
5. Attach a `BillingClientStateListener`.
6. Handle `onBillingSetupFinished` and `onBillingServiceDisconnected`.
7. `onBillingServiceDisconnected` must contain a retry policy.
Current file:
$CURRENT_FILE
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-09-05 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-09-05 UTC."],[],[],null,[]]