4.3.3 рд╣реИ
0.59.10 рд╣реИ
рдПрдВрдбреНрд░реЙрдпрдб
рдЬрдм рдирд╡реАрдиреАрдХрд░рдг рдореЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦрд░реАрдж рдЕрдкрдбреЗрдЯ рд╢реНрд░реЛрддрд╛ рдХреЛ рдирдП рд▓реЗрдирджреЗрди рд░рд╕реАрдж рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЦрд░реАрдж рддреНрд░реБрдЯрд┐ рд╢реНрд░реЛрддрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
{рд╕рдВрджреЗрд╢: 'рдЦрд░реАрдж рд╢реВрдиреНрдп рд╣реИрдВред'
рдХреЛрдб: 'рдареАрдХ рд╣реИ',
debugMessage: '',
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛрдб: 0}
рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ - рд╕реИрдВрдбрдмреЙрдХреНрд╕
1. RNIap.requestSubscription (sku) рдХреЗ рд╕рд╛рде рд╕рджрд╕реНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
2. RNIap.requestSubscription (newSku, false, sku, 4) рдХреЗ рд╕рд╛рде рд╕рджрд╕реНрдпрддрд╛ рдХрд╛ рдирд╡реАрдиреАрдХрд░рдг рдпрд╛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░реЗрдВред (4 рдбрд┐рдлрд░реНрдб рдкреНрд░рд┐рд╡реЗрдВрд╢рди рдореЛрдб рд╣реИ) Google Play рдмрд┐рд▓рд┐рдВрдЧ рдбрд╛рдпрд▓реЙрдЧ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдкреНрд▓рд╛рди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ Google Play рд╕реЗ рдПрдХ рд╕реВрдЪрдирд╛ рдИрдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рддреНрд░реБрдЯрд┐ рд╢реНрд░реЛрддрд╛ рдХреЛ рдЙрдкрд░реНрдпреБрдХреНрдд рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
3. рдпрджрд┐ рдЖрдк RNIap.requestSubscription (newSku, false, sku, 4) рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Google Play рдмрд┐рд▓рд┐рдВрдЧ рд╕рдВрд╡рд╛рдж рдХрд╣реЗрдЧрд╛ рдХрд┐ рд╡реЗ рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛ рдХреЛ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реБрдирдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
{рд╕рдВрджреЗрд╢: 'Google рд╕рдВрдХреЗрдд рджреЗ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднреБрдЧрддрд╛рди рд╕реЗ рдЬреБрдбрд╝реЗ рдХреБрдЫ рдореБрджреНрджреЗ рд╣реИрдВред'
рдХреЛрдб: 'E_DEVELOPER_ERROR',
debugMessage: '',
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛрдб: 5}
рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА Google Play рдмрд┐рд▓рд┐рдВрдЧ рд╕рдВрд╡рд╛рдж рдпрд╣ рдХрд╣реЗрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдЖрджреЗрд╢ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рдж рдХреЛ рдЬрд▓реНрдж рд╣реА рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рддреНрд░реБрдЯрд┐ рд╢реНрд░реЛрддрд╛ рдХреЛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
{рд╕рдВрджреЗрд╢: 'рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдЖрдЗрдЯрдо рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВред'
рдХреЛрдб: 'E_ALREADY_OWNED',
debugMessage: '',
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛрдб: 7}
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрджрдо 2 рдХреЗ рд▓реЗрдирджреЗрди рдХреЗ рдХрд╛рд░рдг рдорд╛рдирд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪреВрдВрдХрд┐ рдЪрд░рдг 2 рдПрдХ рд░рд╕реАрдж рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд╡реАрдиреАрдХрд░рдг / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдмрд╛рдж getAvailablePurchases
рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
Doc , The list of Purchase objects in onPurchasesUpdated() does not contain paused subscriptions.
рд╕рдВрджрд░реНрдн рд▓реЗрдВред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрдард┐рди рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЪрд░реНрдЪрд╛ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред
рдореИрдВрдиреЗ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдЙрдиреНрдирдпрди / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХреЗ рдмрд╛рдж getAvailablePurchases () рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореВрд▓ рдЦрд░реАрдж рдХреА рдХреЗрд╡рд▓ рд▓реЗрди-рджреЗрди рд░рд╕реАрдж рд▓реМрдЯрд╛рдП рдЧрдП рд╕рд░рдгреА рдореЗрдВ рд╣реИред
RNIap v2.3.19 & v2.5.5 рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдм рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЦрд░реАрдж () рдПрдХ рдирдИ рд░рд╕реАрдж рд▓реМрдЯрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ v3 рдпрд╛ v4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдПрдХ рдмреЗрд╣рддрд░ рдИрд╡реЗрдВрдЯ рдЖрдзрд╛рд░рд┐рдд рдореЙрдбрд▓ рд╣реЛред
рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрджрд░реНрдн рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рджрд╕реНрдпрддрд╛ рдЕрдкрдЧреНрд░реЗрдб / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХреЗ рдмрд╛рдж рдирдИ рд░рд╕реАрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред
@ howg0924 рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ v2 рдФрд░ рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдорддрднреЗрджреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдореИрдВрдиреЗ # 893 рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдкрд░ рдХреЛрдб рджреЗрдЦрд╛ рд╣реИ
рдирдпрд╛ рдЕрдкрдбреЗрдЯ 4.4.0
рдореЗрдВ рдЖрдиреЗ рд▓рдЧреЗрдЧрд╛ред
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ [email protected]
рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
@hyochan рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл 4.4.0-rc.1 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╕реНрдерд┐рддрд┐ рдЕрднреА рднреА рд╡рд╣реА рд╣реИред
RNIap.requestSubscription (oldSku, false, newSku 4) рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЕрдкрдЧреНрд░реЗрдб / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рддреНрд░реБрдЯрд┐ рд╢реНрд░реЛрддрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
{рд╕рдВрджреЗрд╢: 'рдЦрд░реАрдж рд╢реВрдиреНрдп рд╣реИрдВред'
рдХреЛрдб: 'рдареАрдХ рд╣реИ',
debugMessage: '',
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛрдб: 0}
рдФрд░ getAvailablePurchases () рдореЗрдВ рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреА рд░рд╕реАрдж рд╣реИред
@ howg0924 рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддреЛ android
, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреБрдЫ рдбрд╛рд▓ рдмрд╛рд╣рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ Log.d
рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣ рдЧреБрдЬрд░рддрд╛ if
рдореЗрдВ рд╕реНрдерд┐рддрд┐ buyItemByType
ред рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ? рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЕрдВрдЬрд╛рдо рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
@ howg0924 рдУрд╣ рд░реБрдХреЛ ~! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдвреВрдВрдв рд▓рд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдЬрд▓реНрдж рд╣реА рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдиреЗ рджрд┐рдпрд╛!
@ howg0924 рдХреНрдпрд╛ рдЖрдк 4.4.0-rc.2
рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рдордп рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
@hyochan 4.4.0-rc.2 рдмрд┐рд▓реНрдб рдкрд░ рд╡рд┐рдлрд▓:
RNIapModule.java:436: error: incompatible types: SkuDetails cannot be converted to String:
builder.setOldSku(selectedOldSku);
^
@hyochan рдореИрдВрдиреЗ 4.4.0-rc.1 рдХреЗ buyItemByType () рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреАред рдЕрдкрдЧреНрд░реЗрдб / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╣реЛрдиреЗ рдкрд░, рдЗрд╕рдиреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛:
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.DEFERRED);
рдФрд░ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд:
BillingResult billingResult = billingClient.launchBillingFlow(activity, flowParams);
рдХреНрдпрд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рдкреНрд░рд╡рд╛рд╣ / рдбреЗрдЯрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА / рдбрдВрдкрд┐рдВрдЧ рдХрд░реВрдВ?
(рдХреБрдЫ рдЧрд▓рддрдлрд╣рдореА рдХреЗ рдХрд╛рд░рдг рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛)
@ howg0924 рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХрд┐ рдореИрдВрдиреЗ рдЧрд▓рддреА рдХреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ env
ред рдореИрдВрдиреЗ рдЗрд╕реЗ 4.4.0-rc.3
рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб builder.setOldSku(oldSku)
рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
2.5.5 рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ 2.5.5 рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
build..RetplaceekkkProrationMode (BillingFlowParams.ProrationMode.DEFERRED);
рдбрд┐рдлрд░реНрдб рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордпред
рдЗрд╕рд▓рд┐рдП рдореИрдВ 4.4.0-rc.1 рдкрд░ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд▓реЗрдХрд┐рди, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛:
1. рдХреНрдпрд╛ рдкреНрд░рдЪрд▓рди рдореЛрдб рдпрд╣ рдЕрдм рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
2. рдЬрдм рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореЛрдб рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ setReplaceSkusProrationMode () рджреНрд╡рд╛рд░рд╛
if (prorationMode != null && prorationMode != -1) {
if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_AND_CHARGE_PRORATED_PRICE) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_AND_CHARGE_PRORATED_PRICE);
if (type.equals(BillingClient.SkuType.SUBS) == false) {
String debugMessage = "IMMEDIATE_AND_CHARGE_PRORATED_PRICE for proration mode only works in subscription purchase.";
WritableMap error = Arguments.createMap();
error.putString("debugMessage", debugMessage);
error.putString("code", PROMISE_BUY_ITEM);
error.putString("message", debugMessage);
sendEvent(reactContext, "purchase-error", error);
promise.reject(PROMISE_BUY_ITEM, debugMessage);
return;
}
} else if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_WITHOUT_PRORATION) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_WITHOUT_PRORATION);
} else if (prorationMode == BillingFlowParams.ProrationMode.DEFERRED) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.DEFERRED);
} else if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_WITH_TIME_PRORATION) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_WITH_TIME_PRORATION);
} else {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY);
}
}
рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдКрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ ProrationMode
рдиреАрдЪреЗ рджреЗ рд░рд╣реЗ рд╣реИрдВред рддреЛ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк auto renew subscription
рддрдм рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк DEFERRED
?
рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдХреЛрдб рдмрджрд▓реВрдВ:
if (prorationMode != null && prorationMode != -1) {
if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_AND_CHARGE_PRORATED_PRICE) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_AND_CHARGE_PRORATED_PRICE);
if (type.equals(BillingClient.SkuType.SUBS) == false) {
String debugMessage = "IMMEDIATE_AND_CHARGE_PRORATED_PRICE for proration mode only works in subscription purchase.";
WritableMap error = Arguments.createMap();
error.putString("debugMessage", debugMessage);
error.putString("code", PROMISE_BUY_ITEM);
error.putString("message", debugMessage);
sendEvent(reactContext, "purchase-error", error);
promise.reject(PROMISE_BUY_ITEM, debugMessage);
return;
}
} else if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_WITHOUT_PRORATION) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_WITHOUT_PRORATION);
} else if (prorationMode == BillingFlowParams.ProrationMode.DEFERRED) {
// comment following line
// builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.DEFERRED);
} else if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_WITH_TIME_PRORATION) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_WITH_TIME_PRORATION);
} else {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY);
}
}
рддреЛ рдореИрдВ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб / рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RNIap.requestSubscription (newSku, false, sku, 4 / * DEFERRED рдореЛрдб * /) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд┐рд▓реНрдбрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкреНрд░рдЪрд▓рди рдореЛрдб рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ v2.5.5 рдХреЗ рд░реВрдк рдореЗрдВ, рдмрд┐рд▓реНрдбрд░ред setReplaceSkusProrationMode () рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб v2.5.5 рд╕реЗ рд╣реИ:
if (type.equals(BillingClient.SkuType.SUBS) && oldSku != null && !oldSku.isEmpty()) {
// Subscription upgrade/downgrade
if (prorationMode != null && prorationMode != 0) {
builder.setOldSku(oldSku);
if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_AND_CHARGE_PRORATED_PRICE) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_AND_CHARGE_PRORATED_PRICE);
} else if (prorationMode == BillingFlowParams.ProrationMode.IMMEDIATE_WITHOUT_PRORATION) {
builder.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_WITHOUT_PRORATION);
} else {
builder.addOldSku(oldSku);
}
} else {
builder.addOldSku(oldSku);
}
}
@ howg0924 рдпрд╣ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ DEFFERED
рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реИ рдЬреЛ 4.3.4
ред рдореИрдВрдиреЗ рдЗрд╕ рдХреЛрдб рдХреЛ 4.4.0+
рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рдЦрдмрд░ рд╣реЛ рддреЛ рдЖрдк рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдмрдВрдзрд┐рдд # 391 # 555
рдареАрдХ рд╣реИ, рдореИрдВ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред
рд╕рдВрдмрдВрдзрд┐рдд # 707
@hyochan 4.4.0-rc.1 рдкрд░ рдЖрдЧреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж:
IMMEDIATE_WITH_TIME_PRORATION => рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
IMMEDIATE_AND_CHARGE_PRORATED_PRICE => рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
IMMEDIATE_WITHOUT_PRORATION => рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
рдкрд░рд┐рднрд╛рд╖рд┐рдд => рдХрд╛рдо рдирд╣реАрдВ (рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ)
рд╡реИрд╕реЗ рдпрд╣ рдмрд╣реБрдд рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ DEFFERED рднреА рдирд╣реАрдВ рд░рдЦрд╛ рд╣реИ рдЬреЛ рдХрд┐ 4.3.4 рд╣реИред рдореИрдВрдиреЗ рдпрд╣ рдХреЛрдб 4.4.0+ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ 4.3.0 рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рдХрд╛рд░рдг рдЕрднреА рднреА рдЗрд╕реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдореЛрдб рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
if (prorationMode != 0 && prorationMode != -1) {
builder.setReplaceSkusProrationMode(prorationMode);
}
рд╣рд╛рд▓рд╛рдБрдХрд┐, 2.3.19 рдФрд░ 2.5.5 рд╕реЗ рдКрдкрд░ рдХреЛрдб рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдореИрдВрдиреЗ 2.3.19 рдФрд░ 2.5.5 рдХреЛ RNIap.requestSubscription (newSku, false, sku, 4 / * DEFERRED * /) рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ IMMEDIATE_WITH_TIME_PRORATION рдореЛрдб рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред
рдареАрдХ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпреЛрдВ рджреЛрд╖ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдЕрдм рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред
рдореБрдЭреЗ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдорд┐рд▓рд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд▓рдЧ рд╣реИред
рдЬрдм рдореИрдВ requestSubscription(newSku, false, oldSku, 4)
рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЛрдб OK
рдФрд░ рдЦрд╛рд▓реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИред Google Play рд╕рд╛рдЗрдб рдкрд░ рднреБрдЧрддрд╛рди рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ (рдпрд╣ рд╕реНрдердЧрд┐рдд рд╣реИ)ред рдЬрдм рдЕрдЧрд▓рд╛ рд╕рджрд╕реНрдпрддрд╛ рд╢реБрд▓реНрдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдРрдк рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ purchaseUpdatedListener
рдЗрд╡реЗрдВрдЯ рдорд┐рд▓рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЦрд░реАрдж рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде ( finishTransaction()
)ред finishTransaction()
DEVELOPER_ERROR
рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред
рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдг 4.4.0
рдФрд░ 4.3.4
ред
Hi @hyochan , рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ https://github.com/dooboolab/react-native-iap/pull/893 рдореЗрдВ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА-рдЖрдИрдПрдкреА рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдирд╣реАрдВ рд╣реИ рддрдп рдХрд┐рдпрд╛ рд╣реБрдЖред рдореБрдЭреЗ рдЕрднреА рднреА рд╢реНрд░реЛрддрд╛ error {"code": "OK", "debugMessage": "", "message": "purchases are null.", "responseCode": 0}
рдореЗрдВ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдИрдореЗрд▓ You updated your subscription purchase
рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред рддреЛ рдореЗрд░рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ DEFERRED рдореЛрдб рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?
рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореБрдЭреЗ рдпрд╣ рдореБрджреНрджрд╛ рдорд┐рд▓рд╛ рдерд╛ред рдпрд╣ рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдХреЗрд╡рд▓ deferred
рдореЛрдб рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд╣рд╛рдп @ howg0924 , рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЕрднреА рддрдХ рдорд┐рд▓рд╛ рд╣реИ?
@ nenjamin2405 рдирд╣реАрдВ, рдореИрдВ рдЕрднреА рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ IMMEDIATE_WITH_TIME_PRORATION рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рд╛рдп @hyochan , рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрджреНрдпрддрди? рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд░реЗ рдРрдк рдХреА рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдЕрдЯрдХ рдЧрдИ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдЬрд╛рдВрдЪ рдореЗрдВ рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдзрдиреНрдпрд╡рд╛рдж
рдЕрднреА рдирд╣реАрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рднреА рд▓рд╛рдПрдЧрд╛ред
Google
рдпрд╛ StackOverflow
рдФрд░ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЕрд░реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреНрдпрд╛ рдореБрджреНрджрд╛ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдЕрднреА рднреА рд╕рдореБрджрд╛рдп рдХреЗ рдзреНрдпрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рди рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ "рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП" рдпрд╛ "рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдореБрджреНрджрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓реЗрдмрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рдореБрджреНрджрд╛ рдЦрд░реАрдж рдЕрджреНрдпрддрди рд╢реНрд░реЛрддрд╛ рдПрдХ рдЖрд╕реНрдердЧрд┐рдд рд╕рджрд╕реНрдпрддрд╛ рдкрд░ рдЦрд░реАрдж рдХреЗ рдПрдХ рд░рд┐рдХреНрдд рд╕реВрдЪреА рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХреА рдЬрдЧрд╣ рд╣реИ, рдЬреЛ рдХреИрд╕реЗ рдПрдВрдбреНрд░реЙрдпрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╣реИ (рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ рдпрд╣рд╛рдБ "рдЖрд╕реНрдердЧрд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЛрдб рдХреЗ рд▓рд┐рдП ...")
рд╣рдордиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рдлрд░реНрдб рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рдорд░реНрдерди рдХреЛ purchases are null
рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред ( рджреЗрдЦреЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз )
рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреА рдУрд░ рд╕реЗ рдХреБрдЫ рд░рд╕реАрджреЗрдВ рджреЗрдиреА рд╣реЛрдВрдЧреА, рд╕рд╛рде рд╣реА рдЕрдкрдиреА рд░рд╕реАрджреЛрдВ рдХреЛ рднреА рдорд╛рдиреНрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд░рд╕реАрдж рдХреЛ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рдбрд┐рдлрд░реЗрдВрд╢рд┐рдпрд▓ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ
рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рд░рд┐рдкреНрд▓реЗрд╕ рд╣реЛрдиреЗ рдФрд░ рдирдП рдЯреЛрдХрди рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рд░рд┐рдпрд▓рдЯрд╛рдЗрдо рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╛ рдЖрдк рдХреЗрд╡рд▓ IAPHUB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП I рдХрд░ рд░рд╣рд╛ рд╣реИ
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛?
рдЬреИрд╕рд╛ рдХрд┐ @ рдЖрдИрдлрдм рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ, рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ onPurchasesUpdated
рдХреЛ purchases
рддрд░реНрдХ рдХреЗ рд╕рд╛рде null
рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм DEFERRED рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Google рдбреЙрдХреНрд╕ рд╕реЗ :
рдЖрд╕реНрдердЧрд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЛрдб рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдРрдк рдХреЛ рдЦрд░реАрджрд╛рд░реА рдХреА рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рдФрд░ рдЕрдкрдЧреНрд░реЗрдб рдпрд╛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХреЗ рд╕рдлрд▓ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ BuyUUpdatedListener рдХреЛ рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
рддреЛ рдпрд╣ рд╕рд┐рд░реНрдл рдЙрд╕ рд╢реНрд░реЛрддрд╛ рдХреЗ рдЕрдВрджрд░ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдмрд╛рдд рд╣реИред
рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ рдХрд┐ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
undefined
рд╕рд╛рде рд╡рд╛рджрд╛ рд╣рд▓ рдХрд░рдирд╛PURCHASE_DEFERRED
рдХреЛрдб рдХреЗ рд╕рд╛рде рд╡рд╛рджрд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛?