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

במאמר הזה מוסבר איך להעביר נתונים מספריית החיובים ב-Google Play‏ (PBL) בגרסה 6 או 7 אל PBL בגרסה 8, ואיך לשלב את היכולות החדשות והאופציונליות של המינויים.

רשימת השינויים המלאה בגרסה 8.0.0 מופיעה [בנתוני הגרסה][1].

סקירה כללית

‫PBL 8 כולל שיפורים בממשקי API קיימים, וגם הסרה של ממשקי API שהוצאו משימוש בעבר. הגרסה הזו של הספרייה כוללת גם ממשקי API חדשים למוצרים בחיוב חד-פעמי.

תאימות לאחור לשדרוג PBL

כדי לעבור ל-PBL 8, צריך לעדכן או להסיר חלק מההפניות הקיימות ל-API מהאפליקציה, כמו שמתואר ב[הערות לגבי הגרסה][8] ובחלקים מאוחרים יותר במדריך הזה להעברה.

שדרוג מ-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][9].

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

  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. (מומלץ) מפעילים חיבור מחדש אוטומטי לשירות.

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

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

    • תמיכה ברכישות בהמתנה לתוכניות בתשלום מראש. מידע נוסף זמין במאמר בנושא [טיפול במינויים ובעסקאות בהמתנה][4].

    • מינויים לתשלומים וירטואליים. מידע נוסף זמין במאמר בנושא [שילוב של מינויים לתשלומים][5].

‫[1]: /google/play/billing/release-notes ‫[2]: /reference/com/android/billingclient/api/ProductDetailsResponseListener#onProductDetailsResponse(com.android.billingclient.api.BillingResult,java.util.List%3Ccom.android.billingclient.api.ProductDetails%3E) ‫[3]: /google/play/billing/integrate#show-products ‫[4]: /google/play/billing/subscriptions#pending ‫[5]: /google/play/billing/subscriptions#installments ‫[6]: /google/play/billing/integrate#automatic-service-reconnection ‫[8]: /google/play/billing/release-notes ‫[9]: /reference/com/android/billingclient/api/BillingClient#queryProductDetailsAsync