מיגרציה לגרסה 8 של ספריית החיובים ב-Google Play מגרסה 6 או 7

במאמר הזה מוסבר איך לעבור מגרסה 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, מבצעים את השלבים הבאים:

  1. מעדכנים את גרסת התלות של ספריית החיובים ב-Play בקובץ build.gradle של האפליקציה.

    dependencies {
       def billingVersion = 8.0.0
       implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (רלוונטי רק לשדרוג מגרסה 6 של PBL לגרסה 8 של PBL). טיפול בשינויים ב-API שקשורים למינויים באפליקציה.

    בטבלה הבאה מפורטים ממשקי ה-API שקשורים למינויים שהוסרו ב-PBL 8 וממשקי ה-API החלופיים שבהם צריך להשתמש באפליקציה.

    ‫API שהוצא משימוש בעבר הוסר ב-PBL 8 ‫API חלופי לשימוש
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. מעדכנים את ההטמעה של השיטה queryProductDetailsAsync.

    היה שינוי בחתימה של השיטה ProductDetailsResponseListener.onProductDetailsResponse, ולכן צריך לבצע שינויים בהטמעה של queryProductDetailsAsync באפליקציה. מידע נוסף זמין במאמר בנושא הצגת מוצרים שזמינים לרכישה.

  4. טיפול בממשקי ה-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

  5. (מומלץ) מפעילים חיבור מחדש אוטומטי לשירות.

    ספריית החיובים ב-Play יכולה לנסות ליצור מחדש באופן אוטומטי את חיבור השירות אם מתבצעת קריאה ל-API בזמן שהשירות מנותק. מידע נוסף זמין במאמר הפעלת חיבור מחדש אוטומטי לשירות.

  6. שינויים אופציונליים.