במאמר הזה נסביר איך לעבור מ-Google Play Billing Library (PBL) 6 או 7 ל-PBL 8, ואיך לשלב את היכולות החדשות והאופציונליות של מינויים.
רשימה מלאה של השינויים בגרסה 8.0.0 מופיעה בנתוני הגרסה.
סקירה כללית
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" }
(רלוונטי רק לשדרוג מ-PBL 6 ל-PBL 8). טיפול בשינויים ב-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 חלופי לשימוש ממשקי ה-API של queryPurchaseHistoryAsync שליחת שאילתה לגבי היסטוריית הרכישות 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 חלופי לשימוש ממשקי ה-API של queryPurchaseHistoryAsync שליחת שאילתה לגבי היסטוריית הרכישות querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API ללא פרמטרים) enablePendingPurchases(PendingPurchaseParams params)
לתשומת ליבכם: הפונקציה הקודמת enablePendingPurchases() הוצאה משימוש והיא זהה מבחינה פונקציונלית לפונקציהenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (מומלץ) מפעילים את החיבור האוטומטי מחדש לשירות.
אם מתבצעת קריאה ל-API בזמן שהשירות מנותק, ספריית החיוב ב-Play יכולה לנסות ליצור מחדש את החיבור לשירות באופן אוטומטי. מידע נוסף זמין במאמר הפעלת חיבור אוטומטי מחדש לשירות.
שינויים אופציונליים.
תמיכה ברכישות בהמתנה בתוכניות בתשלום מראש. למידע נוסף, ראו טיפול במינויים ובעסקאות בהמתנה.
מינויים לתשלומים וירטואליים. מידע נוסף זמין במאמר שילוב של מינויים בתשלומים.