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

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

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (רלוונטי רק לשדרוג מ-PBL 6 ל-PBL 8). טיפול בשינויים ב-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 חלופי לשימוש
    ממשקי ה-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

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

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

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