Jika anda menggunakan pembelian dalam apl pada Android, lambat laun anda akan terpaksa berurusan dengan Pustaka Pengebilan Google Play v7Ia bukan sekadar satu lagi kemas kini: ia didatangkan dengan perubahan API, ciri langganan baharu, keperluan konsol dan tarikh akhir yang sangat jelas daripada Google. Mengabaikannya bukan lagi satu pilihan jika anda ingin terus menerbitkan atau mengemas kini apl anda di Google Play tanpa sebarang kejutan.
Sepanjang artikel ini anda akan melihat bagaimana Kemas kini dan laksanakan Pustaka Pengebilan Google Play v7 Langkah demi langkah: daripada perbezaan daripada PBL 5 dan 6, kepada cara mengintegrasikan langganan, pembelian sekali sahaja, RTDN, pengujian dengan Play Billing Lab dan cara untuk terus hidup dalam ekosistem seperti .NET MAUI di mana sokongan rasmi ketinggalan. Ideanya ialah, apabila anda selesai membaca, anda boleh menyediakan migrasi anda dengan yakin dan tanpa membelanjakan sesen pun.
Gambaran Keseluruhan Perpustakaan Pengebilan Google Play v7
Perpustakaan Pengebilan Google Play 7 memperkenalkan penambahbaikan ketara dalam cara bil diuruskan Pembayaran, langganan dan pelan khasWalau bagaimanapun, ia direka bentuk untuk menjadikan migrasi agak lancar. Berita baiknya ialah banyak API baharu adalah pilihan: anda boleh mengemas kini kebergantungan, mengubah suai beberapa rujukan dan integrasi asas anda masih akan berfungsi.
Versi ini memberi tumpuan kepada tiga bidang utama: pilihan langganan baharu (seperti kuota maya), sokongan yang lebih baik untuk pembelian tertangguh pada pelan prabayardan perubahan API yang membersihkan apa yang sudah lapuk dalam versi sebelumnya (PBL 5 dan 6). Di samping itu, Google melaraskan beberapa pengendalian ralat dan cara anda harus mengendalikan transaksi yang belum selesai untuk mengelakkan ketidakkonsistenan.
Untuk bermula, dalam modul aplikasi anda, anda perlu mengemas kini kebergantungan dalam fail anda membina.gradle:
dependencies {
def billingVersion = "7.0.0"
implementation "com.android.billingclient:billing:$billingVersion"
}
Setelah ini selesai, tiba masanya untuk menyemak semula kod yang menggunakan API legasi. Banyak panggilan yang berkaitan dengan prorasi langganan dan pengebilan alternatif Ia telah dinamakan semula atau dialih keluar, jadi adalah idea yang baik untuk melihat semua rujukan kepada BillingClient dan BillingFlowParams sebelum menyusun dan memuat naik apa-apa ke Play Console.
Strategi pengewangan dengan pembelian dan langganan sekali sahaja
Apabila anda menjual produk digital dalam aplikasi anda, tidak cukup hanya dengan menampal dialog pembelian dan berhenti: mereka bentuk a pengalaman pengguna yang lancar sepanjang kitaran pembelianIni terpakai untuk kedua-dua produk tunggal (boleh habis pakai atau tidak boleh habis pakai) dan langganan. Lebih semula jadi dan mudah prosesnya, lebih tinggi penukaran dan lebih rendah kadar pembatalan.
Aliran pembelian biasa dengan Play Billing, sama ada untuk langganan atau satu item, biasanya mengikuti peringkat yang jelas ini yang perlu diketahui oleh bahagian belakang anda:
- Pengguna meneroka produk yang tersedia dan memilih satu.
- Aplikasi ini memulakan proses pengebilan Google Play untuk menyelesaikan pembayaran.
- Pembelian selesai dan aplikasi anda menerima hasilnya.
- Pelayan anda mengesahkan pembelian tersebut menggunakan API Pembangun Google Play.
- Kandungan atau hak yang sepadan diberikan kepada pengguna dalam sistem anda.
- Google dimaklumkan bahawa pembelian telah diproses (digunakan atau diakui).
Dalam kes produk habis pakai, adalah penting bahawa gunakan token pada masa yang tepat untuk membolehkan pembelian balik yang lancar dan membantu Sekat pembelian tidak sengaja di Google PlayDalam langganan, anda mesti mengawal pembaharuan, tempoh tangguh, penggantungan dan pembatalan supaya pengguna menerima apa yang telah mereka bayar dan tidak kurang sehari pun.
Integrasi ke dalam aplikasi hanyalah separuh daripada tugas: pelayan anda mesti mengekalkan rekod hak dan status pembelian yang boleh dipercayaiIni amat penting terutamanya jika anda menawarkan akses merentas platform atau memerlukan statistik terperinci tentang hasil, pengekalan dan pemulangan. Di sinilah pemberitahuan pembangun masa nyata (RTDN) memainkan peranan, bertindak sebagai "kotak hitam" kitaran hayat pembelian.
Dengan RTDN, anda boleh bertindak balas hampir dalam masa nyata terhadap peristiwa kritikal: pembelian baharu, kegagalan pembaharuan, langganan memasuki tempoh tangguhnya atau pembelian yang dibatalkan. Ini membolehkan anda membangunkan strategi untuk pemulihan pelanggan dan pencegahan penipuan, seperti penghantaran e-mel automatik apabila pembayaran gagal atau pelarasan hak jika pelanggan tidak menerima mesej disebabkan oleh masalah rangkaian.
Pemberitahuan pembangun masa nyata (RTDN) dan Google Cloud Pub/Sub
Penggunaan RTDN Pub/Sub Awan Google sebagai sistem pesanan masa nyata antara Google Play dan bahagian belakang anda. Google Play menerbitkan acara tentang topik Pub/Sub dan anda melanggan topik tersebut untuk menerima mesej apabila status pembelian atau langganan berubah.
Aliran asasnya mudah: Google Play menghantar mesej yang dikodkan base64 ke topik Pub/Sub, pelanggan anda mengekstraknya, menyahkodnya dan memproses pemberitahuan tersebut. Dalam medan data Dalam mesej tersebut, anda akan menemui objek JSON Pemberitahuan Pembangunyang merangkumi maklumat seperti versi mesej, nama pakej, masa acara dan data khusus tentang pembelian sekali sahaja, langganan, pembelian yang dibatalkan atau percubaan.
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"voidedPurchaseNotification": VoidedPurchaseNotification,
"testNotification": TestNotification
}
Terima kasih kepada mesej-mesej ini, anda boleh Pastikan bahagian belakang anda disegerakkan walaupun peranti pengguna gagal berfungsiBayangkan pengguna berjaya membuat pembelian, Google Play mengesahkannya, tetapi peranti mudah alih terputus sambungan sebelum aplikasi anda menerima panggilan balik daripada Perpustakaan Pengebilan. Tanpa RTDN, anda mungkin tidak akan tahu. Dengan Pub/Sub, pelayan anda menerima pemberitahuan berasingan dan boleh memberikan kelayakan secara bebas daripada klien.
Konfigurasi Cloud Pub/Sub untuk RTDN
Sebelum mengaktifkan RTDN dalam konsol Google Play, anda perlu menyediakan projek dalam Platform Awan Google (GCP) dan konfigurasikan Pub/Sub di sana. Prosesnya agak mudah, tetapi sebaiknya ikuti dengan teliti bagi mengelakkan sebarang kejutan dengan kebenaran atau nama sumber.
Mencipta topik
Pertama sekali anda mesti mencipta Topik Pub/Subtopik yang akan bertindak sebagai titik penerbitan Google Play anda. Daripada konsol Google Cloud, pilih projek anda, pergi ke bahagian Pub/Sub dan cipta topik baharu mengikut panduan rasmi "cipta topik". Hasilnya akan mempunyai nama dalam format berikut:
projects/{project_id}/topics/{topic_name}
Nama penuh itulah yang perlu anda tampal ke dalam Play Console apabila anda mengaktifkan pemberitahuan.
Penciptaan langganan
Untuk membaca mesej dalam thread ini, anda memerlukan Langganan Pub/SubAnda boleh mengkonfigurasinya sebagai menolak atau sebagai tarikDalam codelab rujukan, kami bekerjasama dengan langganan tarik, yang mana bahagian belakang anda memulakan permintaan untuk mendapatkan mesej.
Anda harus menyemak pilihan dalam panduan pelanggan Cloud Pub/Sub untuk memutuskan sama ada push atau pull lebih sesuai untuk seni bina anda. Setelah anda memutuskan, ikuti dokumentasi "tambah langganan" dan pautkannya ke topik yang anda buat sebelum ini. Mulai saat itu, sebarang mesej yang diterbitkan oleh Google Play dalam topik tersebut akan dapat diakses oleh pelanggan anda.
Kebenaran untuk Google Play menerbitkan pada tema anda
Pub/Sub tidak akan membenarkan Google Play menerbitkan apa-apa melainkan anda memberikan kebenaran yang jelas. akaun perkhidmatanDalam konsol Google Cloud, anda perlu pergi ke tetapan kebenaran topik dan tambahkan yang utama:
[email protected]
Berikan akaun ini peranan sebagai Penerbit Pub/Sub (Penerbit). Simpan perubahan dan mulai saat itu, Google Play akan dapat menghantar RTDN ke tema anda tanpa masalah kebenaran.
Aktifkan RTDN dalam Konsol Google Play

Setelah Pub/Sub dikonfigurasikan, anda perlu memberitahu Play Console ke mana hendak menghantar pemberitahuan. Dalam apl anda di Google Play Console, pergi ke Wangkan dengan Play > Tetapan Pengewangan dan cari bahagian pemberitahuan pembangun masa nyata.
Di sana anda perlu:
- Tandakan kotak untuk mendayakan pemberitahuan masa nyata.
- Masukkan nama penuh topik Pub/Sub dalam medan yang sepadan, dengan mematuhi format yang ditetapkan.
projects/{project_id}/topics/{topic_name}. - Hantar mesej ujian menggunakan butang ujian.
Mesej ujian adalah penting untuk mengesahkan bahawa Integrasi dilaksanakan dengan baik.Jika anda mempunyai langganan tarik, anda boleh pergi ke konsol Awan, pilih langganan, klik "Lihat mesej" dan ekstrak mesej ujian. Jangan lupa untuk melakukannya ack sebarang mesej yang anda baca bagi mengelakkan penerimaan berulang.
Untuk langganan push, sahkan bahawa titik akhir anda menerima mesej dan membalas dengan kod HTTP yang sah. Jika berlaku masalah, konsol akan memaparkan ralat semasa menerbitkan ujian, biasanya berkaitan dengan nama topik atau kebenaran akaun perkhidmatan.
Akhir sekali, anda boleh mengkonfigurasi jenis pemberitahuan yang anda ingin terima: hanya langganan dan pembelian yang dibatalkan, atau semua pemberitahuan termasuk pembelian sekali sahaja (peristiwa seperti ONE_TIME_PRODUCT_PURCHASED dan ONE_TIME_PRODUCT_CANCELED). Jika anda juga menggunakan produk unik, amalan biasa untuk mengaktifkan keseluruhan set bagi mengekalkan keterlihatan pada semua produk.
Bina pelanggan Pub/Sub di bahagian belakang anda
Dengan tema dan langganan yang sedia, tiba masanya untuk melaksanakan pelanggan yang membaca dan memproses RTDNGoogle menyediakan contoh dalam beberapa bahasa; kes biasa dalam Java menggunakan pustaka klien Cloud Pub/Sub untuk memulakan Subscriber yang mendengar mesej dan menghubungi MessageReceiver.
Corak umum sentiasa sama: anda mendapatkan mesej, anda menyahkod medan tersebut data Anda menukar base64 kepada teks, menghuraikan JSON dan mengekstrak medan yang berkaitan (seperti packageName, oneTimeProductNotification o subscriptionNotification) dan tentukan apa yang perlu dilakukan dalam sistem anda. Selepas berjaya memproses pemberitahuan, anda mesti Sahkan mesej dengan tanda semak supaya Pub/Sub tidak menghantarnya lagi.
Kod contoh menunjukkan bagaimana penerima mencetak versi dan nama pakej, tetapi dalam pelaksanaan sebenar anda akan pergi lebih jauh: Anda akan mengesahkan pembelian, memberikan hak kepada pengguna yang betulAnda perlu mengemas kini pangkalan data anda dan, jika perlu, memanggil API Pembangun Play untuk menggunakan atau mengenali pembelian tersebut.
Pautkan pemberitahuan kepada pengguna: menggunakan obfuscatedAccountId
Masalah biasa semasa mengurus pembelian daripada pelayan ialah mengetahui pengguna mana yang menjadi milik pemberitahuan RTDN tertentu. Untuk ini, API Pelanggan Pengebilan membolehkan anda melampirkan pengecam akaun yang dikaburkan apabila anda melancarkan aliran pembelian: obfuscatedAccountId.
Ideanya ialah anda menggunakan pengecam stabil daripada sistem anda (contohnya, ID dalaman pengguna) tetapi dikaburkan atas sebab privasi dan keselamatanNilai ini dikaitkan dengan pembelian dan kemudian muncul dalam maklumat yang dikembalikan daripada API Pembangun Google Play, supaya apabila anda menerima RTDN dan mengesahkan token, anda akan tahu dengan jelas akaun mana dalam pangkalan data anda yang harus anda berikan haknya.
Di pihak pelanggan, semasa menyediakan BillingFlowParamsAnda hanya perlu membina senarai ProductDetailsParams dan panggil setObfuscatedAccountId(obfuscatedAccountId) sebelum melancarkan aliran. Itu tidak mengubah pengalaman pengguna yang kelihatan, tetapi ia sangat memudahkan prosesnya. logik peruntukan pembelian bahagian belakang dan membantu Google mengesan penipuan.
Sahkan pembelian menggunakan API Pembangun Google Play
Sebelum memberikan sebarang hak pada pelayan anda, adalah wajib untuk mengesahkan bahawa pembelian itu sah dengan menghubungi API Pembangun Google PlayTidak cukup hanya bergantung pada apa yang dikatakan oleh klien atau RTDN: anda mesti mengesahkannya purchaseToken secara langsung terhadap titik akhir rasmi, dan jika perlu uruskan bayaran balik.
Dalam kes produk unik, anda akan menggunakan titik akhir purchases.products:getUntuk langganan, laluan tersebut melalui purchases.subscriptionsv2:getAliran yang disyorkan ialah:
- Ekstrak
purchaseTokendaripada mesej Pub/Sub. - Semak pangkalan data anda untuk melihat sama ada anda telah memprosesnya; setiap token adalah unik di peringkat globalJadi ia sesuai sebagai kunci utama untuk mengelakkan pendua.
- Jika ia baharu, hubungi API Pembangun Google Play dengan pakej, SKU dan
purchaseToken. - Sahkan bahawa respons menunjukkan status pembelian DIBELI (tidak TERTANGGUH atau dibatalkan).
- Jika semuanya sepadan, daftarkan token dan berikan hak yang sepadan kepada pengguna yang berkaitan.
Untuk berkomunikasi dengan API Pembangun Play daripada Java, anda boleh menggunakannya Penerbit Android, diinisialisasikan dengan kelayakan akaun perkhidmatan dalam format JSON. Anda mengkonfigurasi skop AndroidPublisherScopes.ANDROIDPUBLISHERAnda membina klien dan memanggil kaedah tersebut purchases().products().get(...)Jika panggilan gagal disebabkan oleh masalah rangkaian atau perkhidmatan sementara, adalah disyorkan laksanakan percubaan semula dengan undur eksponen supaya tidak terlepas acara tersebut.
Sahkan atau lengkapkan pembelian daripada pelayan
Sebaik sahaja anda mengesahkan pembelian dan memberikan kebenaran dalam sistem anda, langkah seterusnya adalah untuk memaklumkan Google bahawa transaksi telah berjaya diproses. Untuk produk item tunggal, anda mempunyai dua pilihan: habiskan pembelian tersebut atau semata-mata mengenali dia.
Produk yang boleh digunakan (contohnya, mata wang maya, nyawa, dll.) mesti melalui titik akhir purchases.products:consumeIni menandakan token tersebut sebagai telah digunakan dan membolehkan pengguna membeli semula item yang sama tanpa konflik. Untuk produk yang tidak boleh digunakan (seperti membuka kunci versi premium seumur hidup), anda mesti menghubungi purchases.products:acknowledge, yang memaklumkan Google bahawa pengguna sudah mempunyai hak yang berkaitan.
Langganan digunakan purchases.subscriptions:acknowledgemenunjukkan bahawa langganan telah berjaya diproses dan diberikan kepada pengguna. Jika anda tidak mengakui pembelian dalam tempoh masa yang munasabah, Google mungkin menganggap terdapat masalah dan membalikkan transaksi tersebut, jadi adalah penting untuk anda kembali dilakukan sebaik sahaja memberikan hak.
Dalam pembantu AndroidPublisher anda, anda boleh menambah kaedah seperti executeProductPurchasesConsume y executeProductPurchasesAcknowledge yang memanggil titik akhir yang sepadan. Sekali lagi, adalah dinasihatkan untuk melaksanakan percubaan semula sekiranya berlaku kegagalan sekali-sekala, untuk memastikan tiada token kekal dalam keadaan perantaraan yang berbahaya.
Ujian lanjutan dengan Play Billing Lab
Satu aspek yang dipandang remeh oleh ramai pembangun ialah fasa pengujian. Untuk melancarkan dengan keyakinan yang tinggi, anda perlu berupaya mensimulasikan ralat rangkaian, respons bukan standard dan kes pinggirDi sinilah Play Billing Lab memainkan peranan, aplikasi percuma di Google Play yang direka khusus untuk menguji integrasi Pustaka Billing Play.
Makmal Pengebilan Play merangkumi simulator jawapan yang membolehkan pemaksaan yang berbeza BillingResponseCode dalam panggilan aplikasi anda ke Perpustakaan Pengebilan. Dengan cara ini, anda boleh mencipta semula senario di mana, sebagai contoh, pelanggan tidak dapat menyelesaikan pembelian disebabkan oleh masalah rangkaian, tetapi bahagian belakang anda memproses RTDN dengan betul dan akhirnya memberikan kelayakan tanpa campur tangan pengguna.
Agar aplikasi anda berkomunikasi dengan simulator, anda perlu mendayakan pengujian "penggantian pengebilan" menggunakan metadata dalam 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>
Labelnya dayakanPengujianPenggantianPengebilan Aktifkan ujian tindak balas simulasi dalam Perpustakaan Pengebilan. Tag NONPRODUCTION ialah sejenis peringatan bahawa binaan ini tidak sepatutnya dikeluarkan dengan penggantian aktif. Semasa menyediakan versi akhir untuk pengguna, pastikan untuk Alih keluar metadata ini atau gunakan manifes berasingan.
Setelah dikonfigurasikan, daripada aplikasi Play Billing Lab, log masuk dengan akaun penguji lesen, aktifkan pilihan "Simulasikan respons Pustaka Pengebilan Play" dan pilih kod ralat yang anda ingin kembalikan untuk setiap API (contohnya, ralat tertentu dalam consumeAsyncKemudian anda hanya perlu membuka aplikasi anda dan menjalankan aliran yang anda ingin uji: simulator akan mengembalikan respons yang dikonfigurasikan dan anda boleh mengesahkan bahawa logik percubaan semula, pengendalian ralat dan RTDN anda bertindak seperti yang dijangkakan.
Perubahan API utama apabila berhijrah ke Pustaka Pengebilan Play 7
Selain RTDN dan pengujian, perpindahan ke PBL 7 melibatkan menangani beberapa titik API tertentu. Bagi mereka yang datang dari PBL 5 atau 6, adalah wajar untuk menyemak perubahan yang paling relevan bagi memastikan projek dikompilasi dengan lancar dan logik perniagaan kekal konsisten.
Pertama, API yang berkaitan dengan Mod Prorasi Pilihan perubahan langganan telah dialih keluar. Kini, yang berikut digunakan: ModPenggantian untuk mengurus perubahan pelan (naik taraf, penurunan taraf, dsb.). Jika anda masih menggunakan kaedah seperti setReplaceProrationMode o setReplaceSkusProrationModeAnda perlu memindahkannya ke varian baharu setSubscriptionReplacementMode dan laraskan logik mengikut dokumentasi yang dikemas kini.
API juga telah dialih keluar launchPriceConfirmationFlowyang telah ditanda sebagai usang. Untuk mengendalikan perubahan harga langganan, anda harus merujuk kepada aliran kerja dan cadangan baharu dalam panduan perubahan harga, yang memperincikan cara memaklumkan pengguna dengan betul dan cara mengurus persetujuan.
Satu lagi perkara penting ialah API pengebilan alternatifKaedah-kaedah tersebut BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener y AlternativeChoiceDetails telah hilang demi tatanama yang lebih sejajar: kini anda mesti menggunakannya BillingClient.Builder.enableUserChoiceBilling() sebelah UserChoiceBillingListener y UserChoiceDetailsMenurut Google sendiri, ia pada asasnya merupakan perubahan nama tanpa perubahan tingkah laku, dalam konteks yang ditandai dengan perjanjian seperti Google dan Epic Games bersetuju untuk membuka Android.
Akhirnya, kod ralat baharu dimasukkan. RALAT_RANGKAIAN en BillingResultdan maksud serta syarat-syaratnya SERVICE_TIMEOUT dan SERVICE_UNAVAILABLEJika anda mempunyai logik pengendalian ralat tersuai (contohnya, memutuskan bila hendak memaparkan mesej kepada pengguna, bila hendak mencuba semula secara senyap, dsb.), adalah dinasihatkan untuk menyemaknya bagi mengambil kira nuansa baharu ini.
Transaksi belum selesai dan ketiadaan ID pesanan sehingga DIBELI
Satu perubahan halus dalam PBL 7 ialah perpustakaan tidak lagi menjana ID Pesanan untuk pembelian yang belum selesai. Dalam kes ini, orderId Ia hanya akan tersedia sebaik sahaja pembelian mencapai keadaan DIBELI. Ini terutamanya mempengaruhi aliran kerja yang mana anda menggunakan ID pesanan sebagai rujukan utama dari awal.
Cadangan Google ialah anda bergantung pada beliToken untuk rekod dan penyelarasan andasekurang-kurangnya semasa transaksi sedang berjalan. Jika anda menemui pembelian yang telah hilang daripada Play, semak Apa yang perlu dilakukan jika pembelian itu hilang.
Jika anda belum lagi menguruskan baki tertunggak, semak panduan dan dokumentasi penyepaduan Perpustakaan Pengebilan di pengurusan kitaran hayat perolehanDi sana anda akan menemui keadaan yang berbeza, cara bertindak balas terhadap setiap satunya dan bagaimana RTDN sesuai dengan teka-teki ini.
Keupayaan pilihan baharu dalam PBL 7: ansuran maya dan prabayar
Antara ciri-ciri baharu "bagus" PBL 7 ialah langganan yuran maya (langganan ansuran maya) dan sokongan lanjutan untuk pembelian tertangguh untuk langganan prabayar. Ciri-ciri ini tidak wajib, tetapi ia boleh memberi anda lebih fleksibiliti apabila menyesuaikan model perniagaan anda dengan pasaran yang berbeza.
Ansuran maya membolehkan pengguna membayar langganan jangka panjang dalam bayaran berkala kecilDaripada satu pembayaran besar, Google menjelaskan bahawa untuk tujuan pengebilan pembangun, anda terus menerima pembayaran bulanan di bawah pelan tahunan dengan ansuran bulanan. Jika pengguna terlepas pembayaran, anda mahupun Google tidak harus cuba mendapatkan semula ansuran yang lalu. Ini menjadikan penggunaan praktikalnya agak serupa dengan langganan bulanan standard, sekurang-kurangnya pada mulanya.
Buat masa ini, yuran langganan ini hanya tersedia dalam Brazil, Perancis, Itali dan SepanyolGoogle mengesyorkan agar anda sentiasa memerhatikan Play Console untuk negara yang baru disokong. Konfigurasi dilakukan melalui ProductDetails.InstallmentPlanDetails dan mengikuti panduan khusus untuk mengintegrasikannya ke dalam aplikasi anda.
Secara selari, sokongan sedang diperluas pembelian tertangguh untuk langganan prabayarKini anda boleh menawarkan model di mana pengguna memulakan pembelian dalam aplikasi dan melengkapkan pembayaran kemudian melalui cara lain, dan Perpustakaan Pengebilan tahu cara mengendalikan aliran tersebut dengan betul. Pengaktifan dilakukan dengan menghubungi enablePendingPurchases() semasa memulakan BillingClient dan, khususnya untuk pelan prabayar, menggunakan PendingPurchasesParams.Builder.enablePrepaidPlans().
Tempoh susut nilai untuk Pustaka Pengebilan Play 5 dan 6
Dengan PBL 7 yang bakal dilancarkan, Google telah menetapkan tarikh yang jelas untuk penarikan balik sokongan untuk versi 5 dan 6Jika anda masih berada di mana-mana daripadanya, anda mesti menandakan kalendar dengan warna merah:
- Pustaka Pengebilan Google Play 5 akan ditamatkan secara rasmi pada 31 Ogos 2024 untuk aplikasi dan kemas kini baharu. Anda boleh meminta lanjutan sehingga 1 November 2024, tetapi ini bukanlah sesuatu yang harus anda andalkan untuk jangka masa panjang.
- Pustaka Pengebilan Google Play 6 boleh digunakan untuk menerbitkan aplikasi baharu sehingga 1 Ogos 2025 dan untuk mengemas kini aplikasi sedia ada sehingga 1 November 2025.
Selepas tarikh tersebut, jika anda belum berhijrah ke sekurang-kurangnya versi 6 atau idealnya ke versi 7, anda perlu mengemas kini kepada versi terkini. versi 7Kemas kini anda akan disekat dalam Play Console. Walaupun apl anda akan terus berfungsi pada peranti pengguna, anda akan dibekukan, tidak dapat membetulkan pepijat atau menambah ciri baharu yang bergantung pada penerbitan di gedung.
Kes .NET MAUI dan batasan semasa
Jika anda menggunakan .NET MAUI dan langganan pada Android, anda mungkin sudah membaca atau mengalami bahawa ia tidak begitu mudah. ​​Banyak projek yang digunakan Plugin.InAppBilling oleh James Montemagno, tetapi plugin tersebut diarkibkan dan tidak diselenggara, jadi ia tidak akan dikemas kini untuk menyokong Perpustakaan Pengebilan 7. Pada masa yang sama, pakej rasmi Xamarin.Android.Google.BillingClient Ia kekal berlabuh pada ekosistem Xamarin.Android dan tidak serasi secara langsung dengan .NET MAUI.
Akibat praktikalnya ialah Amaran Konsol Play Aplikasi anda tidak menggunakan Pustaka Pengebilan 7.0.0 atau lebih tinggi, yang menyekat kemas kini jika anda terus menggunakan pustaka lama. Sesetengah pembangun telah memilih penyelesaian drastik, seperti melumpuhkan langganan buat sementara waktu untuk dapat memuat naik versi, tetapi jelas sekali itu tidak mampan jika model perniagaan anda bergantung pada pengewangan tersebut.
Dalam konteks ini, banyak pasukan sedang mempertimbangkan alternatif seperti SDK pihak ketiga Perkhidmatan ini sudah menyokong PBL 7 di bawahnya dan mendedahkan API merentas platform yang lebih stabil (contohnya, penyelesaian bahagian belakang langganan dengan SDK untuk Android, iOS dan platform lain). Perkhidmatan ini biasanya mengendalikan migrasi versi Pustaka Pengebilan dan mendedahkan pembalut yang stabil, sekali gus mengurangkan tekanan dengan ketara dengan setiap penamatan Google yang baharu.
Sehingga Microsoft dan pasukan MAUI menawarkan Pakej rasmi dikemas kini dan serasi sepenuhnya Dengan Perpustakaan Pengebilan 7, pilihannya termasuk: melaksanakan pengikatan anda sendiri pada Perpustakaan Pengebilan asli, menggunakan perkhidmatan pihak ketiga atau memikirkan semula cara anda mengintegrasikan pembelian dalam projek MAUI anda. Walau apa pun, adalah lebih baik untuk tidak membiarkan keputusan itu sehingga saat akhir, kerana tarikh akhir Play telah ditetapkan.
Secara keseluruhannya, kemas kini Perpustakaan Pengebilan Google Play v7 melibatkan semakan kebergantungan, pembersihan API usang, pengukuhan logik bahagian belakang dengan pengesahan pembelian dan RTDN serta memanfaatkan alatan pengujian seperti Play Billing Lab untuk mendedahkan semua pepijat sebelum dilancarkan. Mereka yang meluangkan masa untuk memperhalusi penghijrahan ini akan lebih berupaya mengendalikan pelan prabayar, yuran maya, ralat rangkaian dan perubahan kitaran hayat langganan serta akan mempunyai peluang yang lebih baik untuk mengekalkan pendapatan yang stabil dan pengalaman pengguna yang digilap di Google Play. Kongsi maklumat supaya lebih ramai pengguna dapat mengetahui tentang topik tersebut.