Potpuni vodič za ažuriranje i implementaciju Google Play Billing Library v7

  • Google Play Billing Library v7 zahtijeva ažuriranje ovisnosti, zamjenu zastarjelih API-ja i prilagodbu rukovanja pogreškama, uz održavanje kompatibilnosti s prethodnim integracijama.
  • RTDN-ovi s Google Cloud Pub/Sub omogućuju vam sinkronizaciju pozadinskog sustava gotovo u stvarnom vremenu, provjeru kupnji i smanjenje prijevara pravilnim upravljanjem purchaseTokenom i obfuscatedAccountId-om.
  • Nove opcionalne značajke poput virtualnih rata i kupnji na čekanju u prepaid planovima proširuju fleksibilnost pretplata, utječući na nekoliko tržišta.
  • Rokovi za ukidanje PBL 5 i 6 čine nužnim planiranje migracije sada, posebno u ekosustavima poput .NET MAUI gdje je službena podrška još uvijek ograničena.

Biblioteka za naplatu Google Playa v7

Ako radite s kupnjama unutar aplikacije na Androidu, prije ili kasnije morat ćete se suočiti s Biblioteka za naplatu Google Playa v7Nije to samo još jedno ažuriranje: dolazi s promjenama API-ja, novim značajkama pretplate, zahtjevima konzole i vrlo jasnim rokovima od Googlea. Ignoriranje više nije opcija ako želite nastaviti objavljivati ​​ili ažurirati svoju aplikaciju na Google Playu bez ikakvih iznenađenja.

Kroz cijeli članak vidjet ćete kako Ažuriranje i implementacija Google Play Billing Library v7 Korak po korak: od onoga što se razlikuje od PBL 5 i 6, do toga kako integrirati pretplate, jednokratne kupnje, RTDN, testiranje s Play Billing Labom i kako preživjeti u ekosustavima poput .NET MAUI-ja gdje službena podrška zaostaje. Ideja je da, kada završite s čitanjem, možete pripremiti svoju migraciju s povjerenjem i bez trošenja ijedne lipe.

Pregled Google Play Billing Library v7

Google Play Billing Library 7 uvodi značajna poboljšanja u načinu upravljanja računima Plaćanja, pretplate i posebni planoviMeđutim, osmišljen je kako bi migracija bila relativno glatka. Dobra vijest je da su mnogi novi API-ji opcionalni: možete ažurirati ovisnost, prilagoditi nekoliko referenci i vaša osnovna integracija će i dalje raditi.

Ova verzija se fokusira na tri ključna područja: nove mogućnosti pretplate (poput virtualnih kvota), bolja podrška za kupnje na čekanju na prepaid planovimai promjene API-ja koje uklanjaju ono što je već bilo zastarjelo u prethodnim verzijama (PBL 5 i 6). Osim toga, Google prilagođava neke načine rukovanja pogreškama i način na koji biste trebali rukovati transakcijama na čekanju kako biste izbjegli nedosljednosti.

Za početak, u modulu aplikacije morate ažurirati ovisnost u datoteci graditi.gradle:

dependencies {
    def billingVersion = "7.0.0"
    implementation "com.android.billingclient:billing:$billingVersion"
}

Nakon što je to učinjeno, vrijeme je za pregled koda koji koristi naslijeđene API-je. Mnogi pozivi povezani s proporcionalna podjela pretplate i alternativno naplaćivanje Preimenovani su ili uklonjeni, stoga je dobro dobro pogledati sve reference na BillingClient i BillingFlowParams prije kompajliranja i prijenosa bilo čega na Play Console.

Strategije monetizacije s jednokratnim kupnjama i pretplatama

Kada prodajete digitalne proizvode unutar svoje aplikacije, nije dovoljno samo zalijepiti dijalog za kupnju i završiti s tim: dizajniranje besprijekorno korisničko iskustvo tijekom cijelog ciklusa kupnjeTo se odnosi i na pojedinačne proizvode (konzumne ili nekonzumne) i na pretplate. Što je proces prirodniji i bez problema, to su konverzije veće, a stopa otkazivanja niža.

Tipičan tijek kupnje putem Play Billinga, bilo da se radi o pretplati ili pojedinačnoj stavci, obično slijedi ove dobro definirane faze kojih bi vaš backend također trebao biti svjestan:

  • Korisnik istražuje dostupne proizvode i odabire jedan.
  • Aplikacija pokreće postupak naplate na Google Playu kako bi dovršila plaćanje.
  • Kupnja je dovršena i vaša aplikacija prima rezultat.
  • Vaš poslužitelj provjerava kupnju putem Google Play Developer API-ja.
  • Odgovarajući sadržaj ili pravo dodijeljeno je korisniku u vašem sustavu.
  • Google je obaviješten da je kupnja obrađena (konzumirana ili potvrđena).

U slučaju potrošnih proizvoda, ključno je da potrošiti token u pravo vrijeme kako bi se omogućila besprijekorna ponovna kupnja i pomoć Blokirajte slučajne kupnje na Google PlayuKod pretplata morate kontrolirati obnove, razdoblja odgode, obustave i otkazivanja kako bi korisnik dobio točno ono što je platio, a ne dan manje.

Integracija u aplikaciju je samo pola posla: vaš poslužitelj mora održavati pouzdana evidencija prava i statusa kupnjeTo je posebno važno ako nudite pristup više platformi ili trebate detaljne statistike o prihodima, zadržavanju i odljevu korisnika. Tu dolaze do izražaja obavijesti za razvojne programere u stvarnom vremenu (RTDN), koje djeluju kao "crna kutija" životnog ciklusa kupnje.

Pomoću RTDN-a možete reagirati gotovo u stvarnom vremenu na kritične događaje: novu kupnju, neuspjeh obnove, pretplatu koja ulazi u razdoblje odgode ili otkazanu kupnju. To vam omogućuje razvoj strategija za oporavak pretplatnika i sprječavanje prijevara, kao što je automatsko slanje e-pošte kada plaćanje ne uspije ili prilagodbe prava ako kupac ne primi poruku zbog problema s mrežom.

Obavijesti za razvojne programere u stvarnom vremenu (RTDN) i Google Cloud Pub/Sub

Korištenje RTDN-ova Google Cloud Pub/Sub kao sustav za razmjenu poruka u stvarnom vremenu između Google Playa i vašeg pozadinskog sustava. Google Play objavljuje događaje o temi Pub/Sub, a vi se pretplatite na tu temu kako biste primali poruke kad god se promijeni status kupnje ili pretplate.

Osnovni tok je jednostavan: Google Play šalje poruku kodiranu u base64 formatu na temu Pub/Sub, vaš pretplatnik je izdvaja, dekodira i obrađuje obavijest. Unutar polja data Unutar poruke ćete pronaći JSON objekt Obavijest za razvojne programerešto uključuje informacije kao što su verzija poruke, naziv paketa, vrijeme događaja i specifične podatke o jednokratnim kupnjama, pretplatama, otkazanim kupnjama ili probnim verzijama.

{
  "version": string,
  "packageName": string,
  "eventTimeMillis": long,
  "oneTimeProductNotification": OneTimeProductNotification,
  "subscriptionNotification": SubscriptionNotification,
  "voidedPurchaseNotification": VoidedPurchaseNotification,
  "testNotification": TestNotification
}

Zahvaljujući ovim porukama možete Održavajte pozadinsku podršku sinkroniziranom čak i ako korisnikov uređaj zakažeZamislite da korisnik uspješno izvrši kupnju, Google Play to potvrdi, ali mobilni uređaj izgubi vezu prije nego što vaša aplikacija primi povratni poziv od Billing Library. Bez RTDN-a, možda nikada nećete znati. S Pub/Sub, vaš poslužitelj prima zasebnu obavijest i može dodijeliti ovlaštenje neovisno o klijentu.

Konfiguracija Cloud Puba/Suba za RTDN

Prije aktiviranja RTDN-a u konzoli Google Playa, potrebno je pripremiti projekt u Google Cloud Platform (GCP) i tamo konfigurirajte Pub/Sub. Postupak je relativno jednostavan, ali najbolje ga je pažljivo slijediti kako biste izbjegli iznenađenja s dozvolama ili nazivima resursa.

Stvaranje teme

Prvo morate stvoriti Tema objave/pretplate koja će djelovati kao vaša točka objavljivanja na Google Playu. Iz konzole Google Cloud odaberite svoj projekt, idite na odjeljak Objava/Pretplata i stvorite novu temu slijedeći službeni vodič za "stvaranje teme". Rezultat će imati naziv u sljedećem formatu:

projects/{project_id}/topics/{topic_name}

To puno ime morat ćete zalijepiti u Play konzolu kada aktivirate obavijesti.

Izrada pretplate

Za čitanje poruka u ovoj temi potreban vam je Pretplata na Pub/SubMožete ga konfigurirati kao gurati ili kao povućiU referentnom kodnom laboratoriju radimo s pull pretplatom, gdje vaš backend pokreće zahtjeve za dohvaćanje poruka.

Trebali biste pregledati opcije u vodiču za pretplatnike Cloud Puba/Suba kako biste odlučili je li push ili pull bolje rješenje za vašu arhitekturu. Nakon što se odlučite, slijedite dokumentaciju za "dodavanje pretplate" i povežite je s temom koju ste ranije stvorili. Od tog trenutka nadalje, sve poruke koje Google Play objavi u temi bit će dostupne vašem pretplatniku.

Dozvole za objavljivanje u vašoj temi na Google Playu

Pub/Sub neće dopustiti Google Playu da objavi bilo što osim ako mu ne date izričito dopuštenje. račun uslugeU konzoli Google Clouda morate otići na postavke dozvola teme i dodati glavnu:

google-play-developer-notifications@system.gserviceaccount.com

Dodijeli ovom računu ulogu Izdavač publikacije/pretplate (Izdavač). Spremite promjene i od tog trenutka Google Play će moći slati RTDN-ove vašoj temi bez problema s autorizacijom.

Aktivirajte RTDN u Google Play konzoli

Biblioteka za naplatu Google Playa v7

Nakon što je konfiguriran Pub/Sub, morate reći Play konzoli gdje treba slati obavijesti. Unutar svoje aplikacije na Google Play konzoli idite na Unovčavanje putem Playa > Postavke unovčavanja i pronađite odjeljak s obavijestima za razvojne programere u stvarnom vremenu.

Tamo će vam trebati:

  • Označite okvir kako biste omogućili obavijesti u stvarnom vremenu.
  • Unesite puni naziv teme objave/podgrupe u odgovarajuće polje, poštujući format projects/{project_id}/topics/{topic_name}.
  • Pošaljite testnu poruku pomoću testnog gumba.

Testna poruka je bitna za provjeru da je Integracija je dobro implementirana.Ako imate pull pretplatu, možete otići na Cloud konzolu, odabrati pretplatu, kliknuti "Prikaži poruke" i izdvojiti testnu poruku. Ne zaboravite učiniti ack bilo koje poruke koju pročitate kako biste izbjegli ponovljene prijeme.

Za push pretplate provjerite prima li vaša krajnja točka poruku i odgovara li s valjanim HTTP kodom. Ako nešto pođe po zlu, konzola će prikazati grešku prilikom objavljivanja testa, obično povezanu s nazivom teme ili dopuštenjima servisnog računa.

Pretplatite se na probne verzije aplikacija u Trgovini Google Play
Povezani članak:
Potpuni vodič za prijavu za probne verzije aplikacija u Trgovini Google Play i pristup beta verzijama, ranom pristupu i besplatnim probnim verzijama.

Konačno, možete konfigurirati koje vrste obavijesti želite primati: samo pretplate i otkazane kupnje ili sve obavijesti, uključujući jednokratne kupnje (događaji kao što su ONE_TIME_PRODUCT_PURCHASED i ONE_TIME_PRODUCT_CANCELED). Ako koristite i jedinstvene proizvode, uobičajena je praksa aktivirati cijeli set kako bi se održala vidljivost svega.

Izgradite pretplatnika za Pub/Sub u svom backendu

S temom i pretplatom spremnom, vrijeme je za implementaciju pretplatnik koji čita i obrađuje RTDN-oveGoogle nudi primjere u nekoliko jezika; tipičan slučaj u Javi koristi klijentske biblioteke Cloud Pub/Sub za pokretanje Subscriber koji sluša poruke i zove MessageReceiver.

Opći obrazac je uvijek isti: dohvatite poruku, dekodirate polje data Pretvarate base64 u tekst, parsirate JSON i izdvajate relevantna polja (kao što su packageName, oneTimeProductNotification o subscriptionNotification) i odlučite što učiniti u svom sustavu. Nakon uspješne obrade obavijesti, morate Potvrdite poruku potvrdom kako ga Pub/Sub ne bi ponovno poslao.

Primjer koda pokazuje kako prijemnik ispisuje verziju i naziv paketa, ali u stvarnoj implementaciji biste išli dalje: Potvrdili biste kupnju, dajući pravo ispravnom korisnikuAžurirali biste svoju bazu podataka i, ako je potrebno, pozvali Play Developer API za obradu ili prepoznavanje kupnje.

Poveži obavijesti s korisnikom: korištenjem obfuscatedAccountId-a

Uobičajeni problem pri upravljanju kupnjama s poslužitelja je poznavanje kojem korisniku pripada određena RTDN obavijest. Za to vam Billing Client API omogućuje prilaganje prikriveni identifikator računa kada pokrenete proces kupnje: obfuscatedAccountId.

Ideja je da koristite stabilan identifikator iz svog sustava (na primjer, interni ID korisnika), ali zamagljeno iz razloga privatnosti i sigurnostiOva vrijednost povezana je s kupnjom, a zatim se pojavljuje u informacijama koje vraća Google Play Developer API, tako da kada primite RTDN i provjerite token, nedvosmisleno ćete znati kojem računu u svojoj bazi podataka trebate dati pravo.

Na strani kupca, prilikom pripreme BillingFlowParamsSamo trebate sastaviti popis ProductDetailsParams i nazovite setObfuscatedAccountId(obfuscatedAccountId) prije pokretanja tijeka. To ne mijenja vidljivo korisničko iskustvo, ali uvelike pojednostavljuje proces. logika dodjele pozadinske kupnje i pomaže Googleu u otkrivanju prijevara.

Potvrdite kupnje pomoću Google Play Developer API-ja

Prije dodjeljivanja bilo kakvih prava na vašem poslužitelju, obavezno je provjeriti je li kupnja legitimna pozivom API za razvojne programere Google PlayaNije dovoljno oslanjati se na ono što klijent ili čak RTDN kaže: morate potvrditi purchaseToken izravno prema službenim krajnjim točkama i, ako je potrebno, upravljajte povratima novca.

U slučaju jedinstvenih proizvoda, koristit ćete krajnju točku purchases.products:getZa pretplate, put vodi kroz purchases.subscriptionsv2:getPreporučeni tok je:

  • Ekstrakt purchaseToken iz poruke Pub/Sub.
  • Provjerite svoju bazu podataka kako biste vidjeli jeste li je već obradili; svaki token je globalno jedinstvenDakle, savršen je kao primarni ključ kako bi se izbjegli duplikati.
  • Ako je nov, pozovite Google Play Developer API s paketom, SKU-om i purchaseToken.
  • Provjerite označava li odgovor status kupnje KUPLJENO (nije NA ČEKANJU niti otkazano).
  • Ako se sve podudara, registrirajte token i dodijelite odgovarajuće pravo pridruženom korisniku.

Za komunikaciju s Play Developer API-jem iz Jave možete koristiti AndroidPublisher, inicijalizirano vjerodajnicama servisnog računa u JSON formatu. Konfigurirate opseg AndroidPublisherScopes.ANDROIDPUBLISHERIzgradite klijenta i pozovete metodu purchases().products().get(...)Ako poziv ne uspije zbog privremenog problema s mrežom ili uslugom, preporučuje se implementirati ponovne pokušaje s eksponencijalnim odgađanjem kako ne bi propustili događaj.

Potvrdite ili dovršite kupnju s poslužitelja

Nakon što ste potvrdili kupnju i odobrili autorizaciju u svom sustavu, sljedeći korak je obavijestiti Google da je transakcija uspješno obrađena. Za proizvode s jednim artiklom imate dvije mogućnosti: konzumirati kupnju o simplemente prepoznati je.

Potrošni proizvodi (npr. virtualna valuta, životi itd.) moraju proći kroz krajnju točku purchases.products:consumeOvo označava token kao korišten i omogućuje korisniku ponovnu kupnju istog artikla bez sukoba. Za proizvode koji se ne mogu potrošiti (kao što je otključavanje premium verzije za cijeli život), morate pozvati purchases.products:acknowledge, što obavještava Google da korisnik već ima povezano pravo.

Koriste se pretplate purchases.subscriptions:acknowledgešto označava da je pretplata uspješno obrađena i dodijeljena korisniku. Ako ne potvrdite kupnju u razumnom roku, Google može pretpostaviti da postoji problem i poništiti transakciju, stoga je važno da povratak se vrši odmah nakon dodjeljivanja prava.

U svom AndroidPublisher pomoćniku možete dodati metode poput executeProductPurchasesConsume y executeProductPurchasesAcknowledge koje pozivaju odgovarajuće krajnje točke. Ponovno je preporučljivo implementirati ponovne pokušaje u slučaju povremenih neuspjeha kako bi se osiguralo da nijedan token ne ostane u opasnom međustanju.

Napredno testiranje s Play Billing Labom

Jedan aspekt koji mnogi programeri podcjenjuju je faza testiranja. Da biste pokrenuli s bilo kakvim stupnjem pouzdanosti, morate biti u mogućnosti simulirati mrežne pogreške, nestandardni odgovori i rubni slučajeviTu nastupa Play Billing Lab, besplatna aplikacija na Google Playu dizajnirana posebno za testiranje integracija Play Billing Library.

Laboratorij za naplatu Play uključuje simulator odgovora što omogućuje forsiranje različitih BillingResponseCode u pozivima vaše aplikacije prema Billing Library. Na taj način možete ponovno stvoriti scenarije u kojima, na primjer, kupac ne može dovršiti kupnju zbog problema s mrežom, ali vaš backend ispravno obrađuje RTDN i u konačnici odobrava pravo bez intervencije korisnika.

Da bi vaša aplikacija komunicirala sa simulatorom, morate omogućiti testiranje "nadjačavanja naplate" pomoću metapodataka u AndroidManifest.xml:

<manifest ... >
  <application ... >
    ...
    <meta-data
        android:name="com.google.android.play.largest_release_audience.NONPRODUCTION"
        android:value="" />
    <meta-data
        android:name="com.google.android.play.billingclient.enableBillingOverridesTesting"
        android:value="true" />
  </application>
</manifest>

Etiketa omogući testiranje nadjačavanja naplate Aktivirajte simulirane testove odgovora u Billing Library. Oznaka NONPRODUCTION je vrsta podsjetnika da ova verzija ne bi trebala ići u produkciju s aktivnim nadjačavanjima. Prilikom pripreme konačne verzije za korisnike, obavezno Uklonite ove metapodatke ili upotrijebite zaseban manifest.

Nakon konfiguracije, prijavite se iz aplikacije Play Billing Lab s računom testera licenci, aktivirajte opciju "Simuliraj odgovor Play Billing Library" i odaberite koje kodove pogrešaka želite vratiti za svaki API (na primjer, određenu pogrešku u consumeAsyncZatim jednostavno otvorite aplikaciju i pokrenete tijek koji želite testirati: simulator će vratiti konfigurirane odgovore i možete provjeriti ponašaju li se vaša logika ponovnog pokušaja, rukovanje pogreškama i RTDN kako se očekuje.

Ključne promjene API-ja prilikom migracije na Play Billing Library 7

Osim RTDN-a i testiranja, migracija na PBL 7 uključuje rješavanje nekih specifičnih API točaka. Za one koji dolaze s PBL 5 ili 6, vrijedi pregledati najvažnije promjene kako bi se osiguralo da se projekt glatko kompajlira i da poslovna logika ostane dosljedna.

Prvo, API-ji povezani s Proporcionalni način Opcije promjene pretplate su uklonjene. Sada se koristi sljedeće: Zamjenski način za upravljanje promjenama plana (nadogradnje, smanjenja plana itd.). Ako još uvijek koristite metode poput setReplaceProrationMode o setReplaceSkusProrationModeMorat ćete ih migrirati na nove varijante setSubscriptionReplacementMode i prilagodite logiku prema ažuriranoj dokumentaciji.

API je također uklonjen launchPriceConfirmationFlowšto je već bilo označeno kao zastarjelo. Za rukovanje promjenama cijena pretplate trebali biste se pozvati na nove tijekove rada i preporuke u vodiču za promjenu cijena, koji detaljno opisuje kako pravilno informirati korisnika i kako upravljati pristankom.

Druga važna točka je Alternativni API-ji za naplatuMetode BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener y AlternativeChoiceDetails nestali su u korist usklađenije nomenklature: sada morate koristiti BillingClient.Builder.enableUserChoiceBilling() pored UserChoiceBillingListener y UserChoiceDetailsPrema samom Googleu, to je u osnovi promjena imena bez promjena u ponašanju, u kontekstu obilježenom sporazumima poput Google i Epic Games dogovorili su otvaranje Androida.

Konačno se unosi novi kod greške. MREŽNA_POGREŠKA en BillingResulti značenja i uvjeti SERVICE_TIMEOUT i SERVICE_NEDOSTUPNOAko imate prilagođenu logiku za rukovanje pogreškama (na primjer, odlučivanje kada korisniku prikazati poruku, kada tiho pokušati ponovno itd.), preporučljivo je pregledati je kako biste uzeli u obzir te nove nijanse.

Transakcije na čekanju i odsutnost ID-a narudžbe do KUPNJE

Suptilna promjena u PBL 7 je da knjižnica više ne generira ID narudžbe za kupnje na čekanju. U tim slučajevima, orderId Bit će dostupno tek nakon što kupnja dosegne stanje KUPLJENO. To posebno utječe na tijekove rada u kojima ste od početka koristili ID narudžbe kao primarnu referencu.

Googleova preporuka je da se oslonite na purchaseToken za vaše zapise i usklađivanjabarem dok je transakcija u obradi. Ako pronađete kupnju koja je nestala s Playa, provjerite Što učiniti ako kupnja nestane.

Ako još niste radili s nepodmirenim dugovima, pregledajte vodič za integraciju Billing Library i dokumentaciju o upravljanje životnim ciklusom nabaveTamo ćete pronaći različita stanja, kako reagirati na svako od njih i kako se RTDN-ovi uklapaju u ovu slagalicu.

Nove opcionalne mogućnosti u PBL 7: virtualne rate i avansna plaćanja

Među "lijepim" novim značajkama PBL-a 7 su virtualne pretplate (virtualne obročne pretplate) i proširena podrška za kupnje na čekanju za prepaid pretplate. Ove značajke nisu obavezne, ali vam mogu pružiti veću fleksibilnost prilikom prilagodbe poslovnog modela različitim tržištima.

Virtualne rate omogućuju korisniku plaćanje dugoročnije pretplate u male periodične uplateUmjesto jedne velike uplate, Google objašnjava da za potrebe naplate programerima nastavljate primati mjesečne uplate u okviru godišnjeg plana s mjesečnim ratama. Ako korisnik propusti plaćanje, ni vi ni Google ne biste trebali pokušavati naplatiti prošle rate. Zbog toga je njegova praktična upotreba prilično slična standardnoj mjesečnoj pretplati, barem u početku.

Za sada su ove pretplate dostupne samo u Brazil, Francuska, Italija i ŠpanjolskaGoogle preporučuje da pratite Play konzolu za novopodržane zemlje. Konfiguracija se vrši putem ProductDetails.InstallmentPlanDetails i slijedeći poseban vodič za njihovu integraciju u vašu aplikaciju.

Paralelno s tim, podrška se proširuje kupnje na čekanju za prepaid pretplateSada možete ponuditi modele u kojima korisnik započinje kupnju u aplikaciji i dovršava plaćanje kasnije na druge načine, a Billing Library zna kako ispravno obraditi taj tok. Aktivacija se vrši pozivom enablePendingPurchases() prilikom inicijalizacije BillingClienta i, posebno za prepaid planove, korištenjem PendingPurchasesParams.Builder.enablePrepaidPlans().

Razdoblja amortizacije za Play Billing Library 5 i 6

S obzirom na pojavu PBL 7, Google je postavio jasne datume za povlačenje podrške za verzije 5 i 6Ako se još uvijek nalazite u nekom od njih, morate označiti kalendar crvenom bojom:

  • Google Play Billing Library 5 službeno će biti ukinut 31. kolovoza 2024. za nove aplikacije i ažuriranja. Moguće je zatražiti produljenje do 1. studenog 2024., ali to nije nešto na što biste se trebali dugoročno oslanjati.
  • Google Play Billing Library 6 može se koristiti za objavljivanje novih aplikacija do 1. kolovoza 2025. i za ažuriranje postojećih aplikacija do 1. studenog 2025.

Nakon tog datuma, ako niste migrirali barem na verziju 6 ili idealno na verziju 7, morat ćete ažurirati na najnoviju verziju. Verzija 7Ažuriranja će vam biti blokirana u Play konzoli. Iako će vaša aplikacija i dalje funkcionirati na korisničkim uređajima, bit ćete zamrznuti i nećete moći ispravljati greške ili dodavati nove značajke koje ovise o objavljivanju u trgovini.

Slučaj .NET MAUI-ja i trenutna ograničenja

Ako radite s .NET MAUI-jem i pretplatama na Androidu, vjerojatno ste već pročitali ili iskusili da to nije tako jednostavno. Mnogi projekti koriste Plugin.InAppBilling od Jamesa Montemagna, ali dodatak je arhiviran i neodržavan, tako da neće biti ažuriran kako bi podržavao Billing Library 7. Istovremeno, službeni paket Xamarin.Android.Google.BillingClient Ostao je vezan za ekosustav Xamarin.Android i nije izravno kompatibilan s .NET MAUI-jem.

Praktična posljedica je da Upozorenja Play konzole Vaša aplikacija ne koristi Billing Library 7.0.0 ili noviju verziju, što blokira ažuriranja ako nastavite koristiti starije biblioteke. Neki su se programeri odlučili za drastična rješenja, poput privremenog onemogućavanja pretplata kako bi mogli prenijeti verziju, ali očito to nije održivo ako vaš poslovni model ovisi o toj monetizaciji.

U tom kontekstu, mnogi timovi razmatraju alternative kao što su SDK-ovi trećih strana Ove usluge već podržavaju PBL 7 u osnovi i pružaju stabilniji API za više platformi (na primjer, rješenja za pretplatu s SDK-ovima za Android, iOS i druge platforme). Ove usluge obično obrađuju migracije verzija Billing Library i pružaju stabilnu omotačku verziju, značajno smanjujući opterećenje sa svakim novim Googleovim ukidanjem.

Dok Microsoft i MAUI tim ne ponude Službeni paket ažuriran i potpuno kompatibilan S Billing Library 7, opcije uključuju: implementaciju vlastitog povezivanja s izvornom Billing Library, korištenje usluge treće strane ili ponovno razmišljanje o tome kako integrirati kupnje unutar svog MAUI projekta. U svakom slučaju, najbolje je ne ostavljati odluku do zadnjeg trenutka, jer su Playovi rokovi fiksni.

Biblioteka za naplatu Google Playa v7
Povezani članak:
Kako korak po korak zatražiti povrat novca za kupnje na Google Playu

Sveukupno, ažuriranje Google Play Billing Library v7 uključuje pregled ovisnosti, čišćenje zastarjelih API-ja, jačanje backend logike s provjerom kupnje i RTDN-om te korištenje alata za testiranje poput Play Billing Laba kako bi se otkrile sve greške prije objavljivanja. Oni koji odvoje vrijeme za fino podešavanje ove migracije moći će se bolje nositi s prepaid planovima, virtualnim naknadama, mrežnim pogreškama i promjenama životnog ciklusa pretplate te će imati puno veće šanse za održavanje stabilnih prihoda i uglađenog korisničkog iskustva na Google Playu. Podijelite informacije kako bi više korisnika moglo saznati više o toj temi.