React-native-iap: рдЬрдм рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ iOS рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдИ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 31 рдЕрдХреНрддреВре░ 2018  ┬╖  27рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dooboolab/react-native-iap

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА-рдЖрдИрдПрдкреА рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг

react-native-iap": "^2.3.17

рдЬрд┐рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдореЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рд╣реБрдИ (IOS рдпрд╛ Android рдпрд╛ рджреЛрдиреЛрдВ?)

рдЖрдИрдУрдПрд╕

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рднреБрдЧрддрд╛рди рддрднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм finishTransaction рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реЛ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдЬреИрд╕реЗ рднреБрдЧрддрд╛рди рдкрджреНрдзрддрд┐ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рд░рд╛рд╢рд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рд▓реЗрдХрд┐рди RNIap.buyProductWithoutFinishTransaction(sku) рдкрджреНрдзрддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдИред

рдкрд░реАрдХреНрд╖рдгрд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг (рдПрдореБрд▓реЗрдЯрд░? рд░рд┐рдпрд▓ рдбрд┐рд╡рд╛рдЗрд╕?)

рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ - iPhone 6s

рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

  • рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ Apple рдЦрд╛рддреЗ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдХрд░реЗрдВ рдХрд┐ рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рднреА рдпрд╛ рдХреБрдЫ рдЕрдорд╛рдиреНрдп рднреБрдЧрддрд╛рди рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ
  • рдРрдк рдХреЗ рдЬрд░рд┐рдП рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХрд░реЗрдВ
  • рдорд╛рдиреНрдп рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЦрд╛рддрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдХрд╛ рд╢реБрд▓реНрдХ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЗрдирджреЗрди рд░рд╕реАрдж рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ
ComponentDidMount(){
     await RNIap.initConnection();
     await RNIap.consumeAllItems();
     const prod = await RNIap.getProducts(product);

} 

  async componentWillUnmount() {
       RNIap.endConnection()
}

buyProduct(sku){
await RNIap.clearTransaction();

RNIap.buyProductWithoutFinishTransaction(sku)
.then(purchase => {
  // not reached
 if(calltoserverisSuccess){
    RNIap.finishTransaction();
 }
})
.catch(error => {
 // code enters catch case if ever
}}
ЁЯУ▒ iOS ЁЯЩП help wanted

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП apple рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрдпрд╛рдирдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓рд╛ рд╣реИ рдЬреЛ sandbox рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рдЬреЛ рд▓реЛрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рд╕реНрдХреНрд░реАрди рд░рд┐рдХреЙрд░реНрдб рдХрд░ рд▓реА рд╣реИ рдФрд░ рдЖрдк рдпрд╣рд╛рдВ рдХреНрд▓рд┐рдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред @anandwahed рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реЗрдм рд╕реЗ рднреА рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЙрд╕ рд╕рд╣рд╛рдпрдХ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╕рд╛рде рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЪрд▓реЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдХрдЯреНрдард╛ рд╣реЛрддреЗ рд╣реИрдВред

рд╕рднреА 27 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХрдИ рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐ рд╣реИред рдХреГрдкрдпрд╛ рд╣рдорд╛рд░реЗ рд░реЗрдкреЛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдХреЛрдб рд╕реЗ рддреБрд▓рдирд╛ рдХрд░реЗрдВред

@dooboolab
рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЬреЛ рдХреЛрдб рдпрд╣рд╛рдВ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореБрджреНрджрд╛ рдХреНрдпрд╛ рд╣реИ

  1. рдШрдЯрдХрдбрд┐рдорд╛рдЙрдВрдЯ

    • RNIap.initConnection(); рдХреЙрд▓ рдХрд░рдХреЗ рдЖрд░рдВрдн рдХрд┐рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди

    • рдлрд┐рд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ RNIap.getProducts(product) рдХреЙрд▓ рдХрд░рдХреЗ рд░рд╛рдЬреНрдп рдореЗрдВ рд▓рд╛рдпрд╛ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

  1. рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд░реАрдж рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ

    • RNIap.clearTransaction(); рдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд▓рдВрдмрд┐рдд рд▓реЗрдирджреЗрди рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИред
    • RNIap.buyProductWithoutFinishTransaction(sku) рдХреЛ рд╕рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрд▓ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рд╕рд░реНрд╡рд░ рд╕рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдЪ рджреЗрддрд╛ рд╣реИ, рддреЛ рднреБрдЧрддрд╛рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RNIap.finishTransaction(); рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдШрдЯрдХрд╡рд┐рднрд┐рдиреНрди ()

    • рдХрдиреЗрдХреНрд╢рди рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RNIap.endConnection() ред

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд▓реЗ рд╣реА рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝ рдЪреБрдХрд╛ рд╣реИ рддреЛ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рддреЛ рд╡рд╣ рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдкреГрд╖реНрда рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ RNIap.finishTransaction(); рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░рд╛рд╢рд┐ рд▓реА рдЬрд╛рддреА рд╣реИ

рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдм рдЖрдкрдХрд╛ рдореБрджреНрджрд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИред cc @ рдЬреЗрдПрдордореВрди

@ рдЬреЗрдПрдо рдореВрди

@ zohaibahmed-22 рдХреНрдпрд╛ рдпрд╣ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рд╣реИ?

@JMMoon рдирд╣реАрдВ, рдЗрд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдорд╛рдорд▓рд╛ рд╣реИред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧ рдЖрдЙрдЯ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рдХреЛрдИ рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдпрджрд┐ рд╡рд┐рдзрд┐рдпрд╛рдБ рдареАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рддреЛ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдХрд╣реАрдВ рдФрд░ рд╣реИред
рд╣рдореЗрдВ рдЗрд╕ рдПрдХреНрд╢рди рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬреЛ рдРрдк рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рд╡реНрдпреВрдбреАрдбрд╕реИрдкрд┐рдпрд░ рдЖрджрд┐ред
рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЛрдб рдореЗрдВ, рдпрд╣ рд▓рдХреНрд╖рдг рдХреБрдЫ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдореИрдВ рдПрдХ рдирдпрд╛ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЦрд╛рддрд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ, рдФрд░ рдкрд╣рд▓реА рдЦрд░реАрдж рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рджреВрд╕рд░реА рдмрд╛рд░, рдбрд┐рд╡рд╛рдЗрд╕ рд░рд╛рдЬреНрдп рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИред

@dooboolab @JJMoon рдХреА рдирдЬрд╝рд░ рдЗрд╕ рдкрд░ рд╣реИ
https://forums.developer.apple.com/thread/6431
https://forums.developer.apple.com/thread/64489

@dooboolab рдФрд░ @JJMoon рдХреЛ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╣рдорд╛рд░реЗ iOS рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реАред рдореЗрдВ updatedTransactions рд╡рд┐рдзрд┐ рдЬрдм рд╣рдо рдореЗрдВ рдПрдХ рд╡рд┐рдлрд▓рддрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ SKPaymentTransactionStateDeferred рдпрд╛ SKPaymentTransactionStateFailed рд╣рдо рд▓рдЧрддрд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ finishTransaction ред

рдЪреВрдБрдХрд┐ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ SKPaymentTransactionStateFailed рдкрд░рд┐рдгрд╛рдо, SKPaymentTransactionStatePurchased рд░реВрдк рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдереНрд░реЗрдб 6431 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдореИрдВ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдо рдЕрд╕рдлрд▓рддрд╛ рдкрд░ рд▓реЗрдирджреЗрди рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред

@anandwahed рдореИрдВ рдЖрдк рдкрд░ рд╕рд╣рдордд рд╣реВрдБред рдпрд╣ рдореЗрд░реА рдЧрд▓рддреА рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред
рдореИрдВ рдПрдкреНрдкрд▓ рдХреЗ рдзрд╛рдЧреЗ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ рдФрд░ рдореБрджреНрджреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреВрдВрдЧрд╛ред

@anandwahed рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ finish transaction рд╕рд╣реА рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рджреЗрдЦреЗрдВред https://stackoverflow.com/questions/11008636/inapp-purchase-skpaymentqueue-finish-transaction-doesnt-work
рдЬрдм рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рд░рд╕реАрдж рдирд╣реАрдВ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЦрд░реАрдж рдЙрддреНрдкрд╛рдж рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдкрд░рд┐рд╖реНрдХрд░рдг рд▓реЗрдирджреЗрди рдХрд╛ рдорддрд▓рдм рд╣рдореЗрд╢рд╛ 'рдЦрд░реАрдж' рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕ рдмреАрдЪ, рдореИрдВ рдереНрд░реЗрдб 6431 рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдереНрд░реЗрдб 6431 (https://forums.developer.apple.com/thread/6431#14562) рдкрдврд╝рд╛ рд╣реИ
рддрд▓ - рд░реЗрдЦрд╛ред рд╕рдорд╕реНрдпрд╛ 2015 рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИред рд╡рд╛рд╣ ..
рдЗрд╕ 'рд╕реНрдЯреЛрд░ рдХрд┐рдЯ рдлреНрд▓реЛ' рдкреНрд░рднрд╛рд╡ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВред

  1. рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рддрд░реНрдХ рди рджрд┐рдЦрд╛рдПрдВред
  2. рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдУред

рдФрд░ рдореИрдВрдиреЗ рджреЛ рдЪреАрдЬреЗрдВ рд╕реАрдЦреАрдВред
A. рдЬрдм рд╣рдо рдЕрд╕рдлрд▓ рд╣реБрдП рддреЛ рд╣рдореЗрдВ finishTransaction рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛, рд╣рдореЗрд╢рд╛)
рдмреАред рд╕реНрдЯреЛрд░рдХреАрдЯ рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд░рд╕реАрдж рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛ рдорд┐рд▓рддреА рд╣реИред (рдпрд╣ рдмреБрд░рд╛ рд╣реИ)

рдореИрдВ рдЖрдк рд╕рднреА рдХреЛ рдЗрд╕ рд╕реВрддреНрд░ рдХреЛ рдкрдврд╝рдиреЗ, рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд▓реМрдЯрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЖрдк рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ (1 рдпрд╛ 2), рдпрд╣ рдЖрдкрдХреЗ рджрдо рдкрд░ рд╣реИред
рд╡рд┐рдлрд▓рддрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЙрд▓ рдмреИрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

@JJMoon рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ buyProductWithoutFinishTransaction рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

@ maxs15 рдореЗрд░рд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рдерд╛ред рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред
StoreKit рдкреНрд░рд╡рд╛рд╣ рдХрд┐рд╕реА рднреА рдЦрд░реАрджрд╛рд░реА рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдИрдУрдПрд╕ рдЗрд╢реНрдпреВ рд╣реИ, рди рдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ред
рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рддреЛред рдпрд╣ рдмрд╛рдд рдХрд┐рд╕реА рднреА рдореВрд▓ iOS рдРрдк рдореЗрдВ рд╣реЛрддреА рд╣реИред рд╕рд╣реА?
рд╣рдо рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рдЕрдзрд┐рдХ рдЦреБрджрд╛рдИ рдХрд░реЗрдВрдЧреЗред

рдЖрдЬ, рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рд╣реИред рднреБрдЧрддрд╛рди finishTransanction рдФрд░ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди callback рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬрдм payMethod рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ console.log рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ dev рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рд▓рд┐рдВрдЧ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреИрд╕реЗ рдбрд┐рдмрдЧ рдХрд░реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ debug real purchase рд▓рд┐рдП рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдХреНрдпрд╛ рдореБрдЭреЗ sandbox рдореЛрдб рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдбрд┐рдмрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдмрд╣реБрдд рдЕрдирд┐рдЪреНрдЫреБрдХ рд╣реИред

рдЖрдЗрдП рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реИред

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рдорд┐рд▓ рд░рд╣реА рд╣реИ рдЬрдм рдореИрдВ рдЧреИрд░ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЦрд░реАрджрд╛рд░реА рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред

@hyochan рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ (рдЖрдкрдХрд╛) рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рд╣реИрдВ рдпрд╛ рд░рд┐рд▓реАрдЬрд╝ рдореЛрдб рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

  1. рдЖрдк Xcode рдореЗрдВ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред JS рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  2. рдЖрдк Xcode рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдореЛрдб рдореЗрдВ рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдХреЛрдб рдореЗрдВ NSLog рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
    рджреЛрдиреЛрдВ рддрд░реАрдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдПред

@JJMoon рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореИрдВ рдЖрдИрдУрдПрд╕ рдореЗрдВ рд▓рд╛рдЗрд╡ рдЦрд░реАрдж рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдХреНрдпрд╛ рдпрд╣ рд╕реНрдЯреИрдХрдУрд╡рд░рдлреНрд▓реЛ рд╕рд╣реА рд╣реИ? рдлрд┐рд░ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рд╣рдореЗрдВ рд▓рд╛рдЗрд╡ рдЦрд░реАрдж рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡реЗ рд╕рднреА рдХрд░рддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рджреЗрдВред in-app purchase fail when payment method added live рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд╢реАрд░реНрд╖рдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? @anandwahed рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЗрдм рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛?

@hyochan рдирд╣реАрдВ, рд╣рдордиреЗ Apple рд╕рдорд░реНрдерди рд╕реЗ рд╕рдВрдкрд░реНрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП apple рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрдпрд╛рдирдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓рд╛ рд╣реИ рдЬреЛ sandbox рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рдЬреЛ рд▓реЛрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рд╕реНрдХреНрд░реАрди рд░рд┐рдХреЙрд░реНрдб рдХрд░ рд▓реА рд╣реИ рдФрд░ рдЖрдк рдпрд╣рд╛рдВ рдХреНрд▓рд┐рдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред @anandwahed рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реЗрдм рд╕реЗ рднреА рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЙрд╕ рд╕рд╣рд╛рдпрдХ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╕рд╛рде рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЪрд▓реЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдХрдЯреНрдард╛ рд╣реЛрддреЗ рд╣реИрдВред

рдЖрдЬ рд╣рдореЗрдВ Apple рд╕реЗ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛ред failure рдмрд╛рдж рдлрд┐рд░ рд╕реЗ рдХреЙрд▓рдмреИрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо # 348 рдореЗрдВ рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рдзрд╛рди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП 2.4.0-beta1 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ PR # 348 рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕ рдлреАрдЪрд░ рдХреА рд░реАрдбрдореА рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рд▓рд╛рдЗрд╡ рдЦрд░реАрдж рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╢реНрд░реЛрддрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдХреЛрдИ рд╡рд┐рдлрд▓рддрд╛ рд╣реБрдИ рдереА рдпрд╛ рдЗрд╕реЗ рдПрдХ рд╕рдлрд▓ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рджреЛрд╕реНрддреЛрдВ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! ЁЯЩП

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдкреНрд░рд▓реЗрдЦрди рдХреЛ addAdditionalSuccessPurchaseListenerIOS рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣реА рдХреБрдЫ рдореИрдВрдиреЗ # 414 рдкрд░ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрдзрд╛рд░ рд╕реЗ рдПрдкреАрдЖрдИ рддрдХ рдХреЗ рдХрдорд░реЗ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рдПрдкреАрдЖрдИ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рд╣реЛрдВрдЧреЗ рдЬреЛ рддрдерд╛рдХрдерд┐рдд 'рд╕реНрдЯреЛрд░ рдХрд┐рдЯ рдлреНрд▓реЛ' рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж RxJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ:

const observable = RNIap.buyProduct('com.example.coins100')
                        .subscribe(
                            purchase => console.log(purchase), // successful payment
                            err => console.log(err) // err.code and err.message are available
                        )

рдпрд╛ рдХреБрдЫ рдЕрд▓рдЧ рд╣реИ рдЬреЛ рдмреЗрд╣рддрд░ iOS рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ?

@Edgpaez рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ android рдореЗрдВ рдХреА рдЬрд╛ рд░рд╣реА рдЦрд░реАрджрд╛рд░реА рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ version 3 рдореЗрдВ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ 2019 ред

hi @hyochan , AFAICT, рд╣рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЗ рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред рд╣рдо рд░рдЦ рд╕рдХрддреЗ buyItemByType рд╡рд┐рдзрд┐ рд╡рд╛рджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдФрд░ рдмрд╕ рдкрд░ рдЙрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЖрд░рдПрдХреНрд╕ рдХрд╛ рдПрдХ рд╕рд╛ рдЬреЛрдбрд╝рдиреЗ index.js ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ index.js рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ:

export const buyProduct = (sku) => Platform.select({
  android: () => Observable.of(RNIapModule.buyItemByType(ANDROID_ITEM_TYPE_IAP, sku, null, 0)), // returns an observable that emits when the RNIapModule.buyItemByType promise resolves
  ios: ... // ios would do the same but taking into account the usage of addAdditionalSuccessPurchaseListenerIOS
})();

рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ 'рд╕реНрдЯреЛрд░ рдХрд┐рдЯ рдлреНрд▓реЛ' рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рдХреНрдпрд╛ рддреБрдореНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдпреЛрдЬрдирд╛ рд╣реИ?
рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреАрдЖрд░ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ?

@Edgpaez рдареАрдХ рд╣реИред рдореИрдВ рдЕрдм рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЬреЛрдбрд╝рдиреЗ рдорд╣рд╕реВрд╕ RxJS рд╕рд╛ рднреА рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛ рд╣реИ feature рдХреЗ рдмрд╛рдж рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреАрдЪреЗ рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред

RNIap.buyProduct('com.example.coins100')
                        .subscribe(
                            purchase => console.log(purchase), // successful payment
                            err => console.log(err) // err.code and err.message are available
                        )

рдпрджрд┐ рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЬреИрд╕реЗ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП buyProduct рд╣реИрдВ,

RNIap.buyProduct('com.example.coins100');
RNIap.buyProduct('com.example.coins200');

рд╣рдо рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдкрд╣рд▓реЗ рдЦрддреНрдо рд╣реЛрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ sendEvent рдЖрдЙрдЯ рд╕реЗ JS рдореЗрдВ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдЬреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП

RNIap.buyProduct('com.example.coins100');
RNIap.buyProduct('com.example.coins200');

// receiving events
const subs =  RNIap.purchaseUpdateListener(purchase => {
  ...
});

рдХреГрдкрдпрд╛ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рдЫреВрдЯ рдЧрдпрд╛ рд╣реИред

# 423 рдореЗрдВ рдЖрдЧреЗ рдбрд┐рд╕реНрдХреНрдЯреБрд╕реНрдЯрд┐рди рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

fergalindez picture fergalindez  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MacMillan13 picture MacMillan13  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HamzaIkram2727 picture HamzaIkram2727  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

schumannd picture schumannd  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bakedbean picture bakedbean  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ