Οδηγός Αγοράς Εντός Εφαρμογής

Οδηγός Αγοράς Εντός Εφαρμογής (IAP) για Android: Υλοποίηση της Βιβλιοθήκης Χρέωσης Google Play v7

  • Ισχυρή εφαρμογή της Βιβλιοθήκης Τιμολόγησης v7 για τη διαχείριση αναλώσιμων προϊόντων, μη αναλώσιμων προϊόντων και συνδρομών.
  • Αγοράστε στρατηγικές επικύρωσης χρησιμοποιώντας ένα ασφαλές backend και RTDN για συγχρονισμό σε πραγματικό χρόνο.
  • Βελτιστοποίηση της εμπειρίας χρήστη μέσω ελέγχου των εκκρεμών συναλλαγών και διαχείρισης εξατομικευμένων προσφορών.
  • Χρήση διαγνωστικών εργαλείων όπως το Play Billing Lab για την προσομοίωση σφαλμάτων και τη διασφάλιση της σταθερότητας της ροής πληρωμών.

⚠️ Το ψηφιακό σας δακτυλικό αποτύπωμα (διεύθυνση IP) είναι εκτεθειμένο!

Η διεύθυνση IP σας είναι: ανίχνευση…

Κάντε streaming/download/«Σερφάρισμα» στο διαδίκτυο ανώνυμα με το Surfshark .

🌐 Μόνο $45.63 - 27 μήνες + Unlimited devices
Δεν αποθηκεύουμε τη διεύθυνση IP σας. Η ανίχνευση γίνεται τοπικά στον browser σας.

Το περιεχόμενο αυτού του σεναρίου δημιουργείται αυστηρά για εκπαιδευτικούς σκοπούς. Η χρήση γίνεται με δική σας ευθύνη.

Αν σκέφτεστε να δημιουργήσετε έσοδα από την εφαρμογή σας Android, πιθανότατα έχετε συνειδητοποιήσει ότι οι αγορές εντός εφαρμογής (IAP) είναι ο πιο αποτελεσματικός τρόπος για να δημιουργήσετε επαναλαμβανόμενα έσοδα. Είτε θέλετε να προσφέρετε premium περιεχόμενο, κορυφαία δωρεάν και premium παιχνίδια Android, εικονικό νόμισμα ή ένα μοντέλο μηνιαίας συνδρομής, το να το κάνετε σωστά δεν αφορά μόνο την προσθήκη ενός κουμπιού αγοράς. Πρόκειται για τη δημιουργία μιας αξιόπιστης και, πάνω απ ‘όλα, ασφαλούς αρχιτεκτονικής για την αποτροπή απάτης.

Από αυτή την άποψη, η Google έχει ενημερώσει τα εργαλεία της και η μετεγκατάσταση στην έκδοση 7 της Βιβλιοθήκης Χρέωσης είναι πλέον υποχρεωτική . Μην ανησυχείτε αν σας φαίνεται τρομακτική, επειδή παρόλο που η υποκείμενη λογική παραμένει η ίδια, οι νέες εκδόσεις φέρνουν βελτιώσεις στη σταθερότητα και τη διαχείριση επανασυνδέσεων που θα κάνουν τη ζωή σας πολύ πιο εύκολη. Ας αναλύσουμε βήμα προς βήμα τον τρόπο ρύθμισης αυτού του συστήματος, από τη διαμόρφωση στην κονσόλα έως την επεξεργασία στον διακομιστή σας.

Προετοιμασία του εδάφους στο Google Play Console

Για να διασφαλίσετε ότι όλα θα κυλήσουν ομαλά, το πρώτο βήμα είναι να τεθούν οι βάσεις. Πριν αγγίξετε έστω και μια γραμμή κώδικα, πρέπει να αποκτήσετε πρόσβαση στην κονσόλα προγραμματιστή και να διαμορφώσετε τα προϊόντα σας. Εδώ αποφασίζετε εάν θα πουλάτε μεμονωμένα είδη (όπως ένα σπαθί σε ένα παιχνίδι) ή συνδρομές (όπως μηνιαία πρόσβαση σε περιεχόμενο).

Όταν δημιουργείτε μια συνδρομή, δώστε ιδιαίτερη προσοχή στο αναγνωριστικό προϊόντος . Σας προτείνω να το κάνετε περιγραφικό, ώστε να μην χαθείτε αναλύοντας τα στατιστικά στοιχεία αργότερα. Αυτή είναι επίσης η κατάλληλη στιγμή για να πειραματιστείτε με την τιμολόγηση και, αν θέλετε να προσελκύσετε περισσότερα άτομα, μπορείτε να ορίσετε μια δωρεάν δοκιμαστική περίοδο ή μια ειδική τιμή γνωριμίας. Μην ξεχάσετε να ενεργοποιήσετε την περίοδο χάριτος , η οποία είναι απαραίτητη, ώστε οι χρήστες να μην χάσουν αμέσως την πρόσβαση εάν αντιμετωπίσουν κάποιο προσωρινό πρόβλημα με την πιστωτική τους κάρτα.

Σύνδεση της εφαρμογής σας με το σύστημα χρέωσης

Η καρδιά όλων αυτών είναι το BillingClient . Αυτή είναι η διεπαφή που επιτρέπει στην εφαρμογή σας να επικοινωνεί με το Google Play. Για να ξεκινήσετε, πρέπει να προσθέσετε τις απαραίτητες εξαρτήσεις στο αρχείο build.gradle . Εάν προγραμματίζετε σε Kotlin, συνιστώ να χρησιμοποιήσετε τη λειτουργική μονάδα KTX, καθώς σας επιτρέπει να αξιοποιήσετε τις συν-ρουτίνες και να γράψετε πολύ πιο καθαρό, πιο σύγχρονο κώδικα.

Για να αρχικοποιήσετε τη σύνδεση, χρησιμοποιήστε τη μέθοδο ` newBuilder` . Είναι ζωτικής σημασίας το `BillingClient` να είναι μια μοναδική παρουσία για να αποτρέψετε την ταυτόχρονη ενεργοποίηση πολλαπλών επανακλήσεων αγοράς. Ένα πολύ σημαντικό χαρακτηριστικό στην έκδοση v7 είναι η δυνατότητα ενεργοποίησης της αυτόματης επανασύνδεσης υπηρεσίας χρησιμοποιώντας τη μέθοδο `reconnect` enableAutoServiceReconnection(). Αυτό είναι ένα πλεονέκτημα, καθώς μειώνει δραστικά τα σφάλματα αποσύνδεσης που προηγουμένως ανάγκαζαν τους προγραμματιστές να γράφουν τεράστια μπλοκ κώδικα για να αποκαταστήσουν τη σύνδεση.

Παρουσίαση των προϊόντων και έναρξη αγοράς

Δεν μπορείτε απλώς να εμφανίσετε μια σταθερή τιμή στην εφαρμογή, καθώς οι τιμές διαφέρουν ανάλογα με τη χώρα και το νόμισμα. Επομένως, θα πρέπει να χρησιμοποιήσετε το `queryProductDetailsAsync` για να λαμβάνετε ενημερωμένες, μεταφρασμένες πληροφορίες απευθείας από την Google. Αυτή η μέθοδος θα επιστρέψει μια λίστα με λεπτομέρειες προϊόντος που μπορείτε να παρουσιάσετε στον χρήστη με ελκυστικό τρόπο.

Όταν ένας χρήστης αποφασίσει να πραγματοποιήσει μια αγορά, τίθεται σε εφαρμογή η μέθοδος launchBillingFlow . Εδώ είναι που η Google αναλαμβάνει τον έλεγχο και εμφανίζει τη δική της οθόνη πληρωμής. Ένα κόλπο για τη βελτίωση της ασφάλειας και την καταπολέμηση της απάτης είναι να επισυνάψετε το obfuscatedAccountId , το οποίο είναι ουσιαστικά ένα κρυπτογραφημένο αναγνωριστικό για τον χρήστη σας. Με αυτόν τον τρόπο, όταν η αγορά φτάσει στον διακομιστή σας, θα γνωρίζετε ακριβώς σε ποιον να διαθέσετε τα έσοδα χωρίς να εκθέσετε ευαίσθητα δεδομένα.

Διαχείριση συναλλαγών και κατάσταση αγοράς

Δεν είναι όλες οι αγορές άμεσες. Υπάρχει η έννοια των εκκρεμών συναλλαγών , η οποία συμβαίνει όταν ένας χρήστης επιλέγει μια μέθοδο αναβολής πληρωμής (όπως πληρωμή με μετρητά σε ένα κατάστημα). Σε αυτές τις περιπτώσεις, η αγορά παραμένει σε κατάσταση ΕΚΚΡΕΜΗΣ . Είναι σημαντικό η εφαρμογή σας να μην παραδίδει το περιεχόμενο μέχρι να αλλάξει η κατάσταση σε ΑΓΟΡΑΣΜΕΝΗ .

Για να το διαχειριστείτε αυτό, πρέπει να εφαρμόσετε το PurchasesUpdatedListener . Αυτός ο ακροατής θα σας ειδοποιεί σε πραγματικό χρόνο όταν ολοκληρωθεί μια συναλλαγή. Εάν η συναλλαγή είναι επιτυχής, θα λάβετε ένα διακριτικό αγοράς . Αυτό το διακριτικό είναι το κύριο κλειδί: είναι το μοναδικό αναγνωριστικό που πρέπει να στείλετε στο backend σας για να επικυρώσετε τη νομιμότητα της συναλλαγής πριν απονείμετε το βραβείο στον χρήστη.

Ο θεμελιώδης ρόλος του διακομιστή Backend

Αν θέλετε να έχετε το κεφάλι σας ήσυχο, μην βασίζεστε αποκλειστικά στο τηλέφωνο του χρήστη για την επικύρωση αγοράς, καθώς υπάρχουν εργαλεία για την παράκαμψη αυτών των ελέγχων. Ιδανικά, θα πρέπει να εφαρμόσετε μια υβριδική μέθοδο επικύρωσης . Η εφαρμογή σας στέλνει το διακριτικό στον διακομιστή, ο οποίος στη συνέχεια επικοινωνεί με το API προγραμματιστών Google Play χρησιμοποιώντας τα τελικά σημεία `account` purchases.products:getή `account` purchases.subscriptions:get.

Μόλις ο διακομιστής επιβεβαιώσει ότι η αγορά είναι νόμιμη και δεν έχει υποστεί προηγούμενη επεξεργασία, προχωρά στην παραχώρηση των δικαιωμάτων. Μετά από αυτό, είναι υποχρεωτικό να ειδοποιήσετε την Google ότι η αγορά έχει υποβληθεί σε επεξεργασία. Εάν δεν το κάνετε εντός τριών ημερών, η Google θα υποθέσει ότι υπήρξε πρόβλημα και θα επιστρέψει αυτόματα τα χρήματα στον χρήστη. [Τα παρακάτω φαίνεται να είναι ξεχωριστή, άσχετη ενότητα:] Για αναλώσιμα προϊόντα, [τα παρακάτω φαίνεται να είναι ξεχωριστή, άσχετη ενότητα:] consumeAsyncκαι για μη αναλώσιμα προϊόντα ή συνδρομές acknowledgePurchase, [τα παρακάτω φαίνεται να είναι ξεχωριστή, άσχετη ενότητα:]

Προηγμένος συγχρονισμός με RTDN

Για να αποφύγετε τον συνεχή έλεγχο με την Google κάθε πέντε λεπτά για να δείτε αν μια συνδρομή εξακολουθεί να είναι ενεργή, υπάρχουν οι Ειδοποιήσεις Προγραμματιστών σε Πραγματικό Χρόνο (RTDN) . Αυτό το σύστημα χρησιμοποιεί το Google Cloud Pub/Sub για να στέλνει μια άμεση ειδοποίηση στον διακομιστή σας κάθε φορά που αλλάζει κάτι: ανανέωση, ακύρωση ή πρόβλημα πληρωμής.

Η ρύθμιση του RTDN περιλαμβάνει τη δημιουργία ενός θέματος στην Κονσόλα Google Cloud και την εκχώρηση δικαιωμάτων στον λογαριασμό υπηρεσίας Google Play. Όταν ο διακομιστής σας λάβει μια ειδοποίηση, μπορεί να ενημερώσει αμέσως τη βάση δεδομένων δικαιωμάτων του χρήστη. Αυτό είναι ιδιαίτερα χρήσιμο για την εφαρμογή στρατηγικών ανάκτησης . Για παράδειγμα, εάν μια συνδρομή εισέλθει σε περίοδο χάριτος, μπορείτε να στείλετε ένα αυτοματοποιημένο email στον χρήστη ζητώντας του να ενημερώσει τη μέθοδο πληρωμής του.

Δοκιμές και διαγνωστικά με το Play Billing Lab

Η δοκιμή όλων των πιθανών σεναρίων (όπως η διακοπή λειτουργίας του δικτύου ακριβώς τη στιγμή που πληρώνετε) μπορεί να είναι ένας εφιάλτης. Εδώ έρχεται το Play Billing Lab , μια δωρεάν εφαρμογή που σας επιτρέπει να προσομοιώνετε απαντήσεις από τη βιβλιοθήκη χρεώσεων. Μπορείτε να διαμορφώσετε συγκεκριμένους κωδικούς σφάλματος για να δείτε πώς αντιδρά η εφαρμογή σας σε ένα μήνυμα SERVICE_DISCONNECTED ή σε ένα σφάλμα κατανάλωσης.

Για να λειτουργήσει αυτό, πρέπει να προσθέσετε ορισμένες ετικέτες μεταδεδομένων στο αρχείο AndroidManifest.xml , όπως `<metadata-tag> enableBillingOverridesTesting`. Θυμηθείτε να καταργήσετε αυτές τις ετικέτες πριν από την ανάπτυξη της τελικής έκδοσης στην παραγωγή, καθώς προορίζονται μόνο για περιβάλλοντα ανάπτυξης και δοκιμών. Η χρήση αυτού του εργαστηρίου διασφαλίζει την ομαλή ροή χρηστών και αποτρέπει τις διαρροές εσόδων λόγω σφαλμάτων υλοποίησης.

Αφήστε ένα Σχόλιο

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Δεν είναι διαφήμιση – ανήκει στο DirectVortex