במאמר הזה מוסבר איך לבצע מיגרציה מגרסה 6 או 7 של ספריית החיוב של Google Play (PBL) לגרסה 8 של PBL, ואיך לשלב את יכולות המינוי החדשות והאופציונליות.
רשימת השינויים המלאה בגרסה 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 חלופי לשימוש 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 (מומלץ) מפעילים חיבור מחדש אוטומטי לשירות.
אם מתבצעת קריאה ל-API בזמן שהשירות מנותק, Play Billing Library יכולה לנסות ליצור מחדש את חיבור השירות באופן אוטומטי. מידע נוסף זמין במאמר הפעלת חיבור מחדש אוטומטי לשירות.
שינויים אופציונליים.
תמיכה ברכישות בהמתנה של תוכניות בתשלום מראש. מידע נוסף זמין במאמר בנושא טיפול במינויים ובעסקאות בהמתנה.
מינויים עם תשלומים וירטואליים. מידע נוסף זמין במאמר בנושא שילוב של מינויים לתשלומים.