במאמר הזה מוסבר איך לעבור מגרסה 6 או 7 של ספריית החיובים ב-Google Play (PBL) לגרסה 8 של PBL, ואיך לשלב את האפשרויות החדשות והלא חובה לניהול מינויים.
רשימה מלאה של השינויים בגרסה 8.0.0 מופיעה בנתוני הגרסה.
כישורים ב-Android
הצגה ב-GitHubשדרוג ספריית החיובים ב-Play
android skills add --skill play-billing-library-version-upgradeHelp me upgrade my Play Billing Library implementation.סקירה כללית
PBL 8 כולל שיפורים בממשקי API קיימים, וגם הסרה של ממשקי API שהוצאו משימוש בעבר. הגרסה הזו של הספרייה כוללת גם ממשקי API חדשים למוצרים בחיוב חד-פעמי.
תאימות לאחור לשדרוג PBL
כדי לעבור ל-PBL 8, צריך לעדכן או להסיר חלק מההפניות הקיימות ל-API באפליקציה, כפי שמתואר בהערות לגרסה ובחלקים מאוחרים יותר במדריך הזה להעברה.
שדרוג מ-PBL 6 או 7 ל-PBL 8
כדי לשדרג מ-PBL 6 או 7 ל-PBL 8, מבצעים את השלבים הבאים:
מעדכנים את גרסת התלות של ספריית החיובים ב-Play בקובץ
build.gradleשל האפליקציה.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(רלוונטי רק לשדרוג מגרסה 6 של PBL לגרסה 8 של PBL). טיפול בשינויים ב-API שקשורים למינויים באפליקציה.
בטבלה הבאה מפורטים ממשקי ה-API שקשורים למינויים שהוסרו ב-PBL 8 וממשקי ה-API החלופיים שבהם צריך להשתמש באפליקציה.
API שהוצא משימוש בעבר הוסר ב-PBL 8 API חלופי לשימוש setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode מעדכנים את ההטמעה של השיטה
queryProductDetailsAsync.היה שינוי בחתימה של השיטה
ProductDetailsResponseListener.onProductDetailsResponse, ולכן צריך לבצע שינויים בהטמעה שלqueryProductDetailsAsyncבאפליקציה. מידע נוסף זמין במאמר בנושא הצגת מוצרים שזמינים לרכישה.טיפול בממשקי ה-API שהוסרו.
שדרוג מ
גרסה PBL 8 לא תומכת יותר בממשקי ה-API שמפורטים בטבלה הבאה. אם בהטמעה שלכם נעשה שימוש באחד מממשקי ה-API שהוסרו, תוכלו לעיין בטבלה כדי לראות אילו ממשקי API חלופיים מתאימים.
API שהוצא משימוש בעבר הוסר ב-PBL 8 API חלופי לשימוש queryPurchaseHistoryAsync APIs איך בודקים את היסטוריית הרכישות של שאילתות querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API ללא פרמטרים) enablePendingPurchases(PendingPurchaseParams params)
הערה: הפונקציה enablePendingPurchases() שהוצאה משימוש זהה מבחינת הפעולה שלה לפונקציהenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails שדרוג מ
בטבלה הבאה מפורטים ממשקי ה-API שהוסרו ב-PBL 8, וממשקי ה-API החלופיים המתאימים שבהם צריך להשתמש באפליקציה.
API שהוצא משימוש בעבר הוסר ב-PBL 8 API חלופי לשימוש queryPurchaseHistoryAsync APIs איך בודקים את היסטוריית הרכישות של שאילתות querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API ללא פרמטרים) enablePendingPurchases(PendingPurchaseParams params)
הערה: הפונקציה enablePendingPurchases() שהוצאה משימוש זהה מבחינת הפעולה שלה לפונקציהenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (מומלץ) מפעילים חיבור מחדש אוטומטי לשירות.
ספריית החיובים ב-Play יכולה לנסות ליצור מחדש באופן אוטומטי את חיבור השירות אם מתבצעת קריאה ל-API בזמן שהשירות מנותק. מידע נוסף זמין במאמר הפעלת חיבור מחדש אוטומטי לשירות.
שינויים אופציונליים.
תמיכה ברכישות בהמתנה של תוכניות בתשלום מראש. מידע נוסף זמין במאמר בנושא טיפול במינויים ובעסקאות בהמתנה.
מינויים לתשלומים וירטואליים. מידע נוסף זמין במאמר בנושא שילוב של מינויים לתשלומים.