React-native-iap: рдПрдХ рд╣реА рдЙрддреНрдкрд╛рдж рдХреЛ рджреЛ рдмрд╛рд░ рдЦрд╝рд░реАрджрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА

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

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

0.3.13

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

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

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

рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЙрддреНрдкрд╛рдж рдЦрд░реАрджрдиреЗ рдХреА рдЙрдореНрдореАрдж

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

рдкрд╣рд▓реА рдмрд╛рд░ рдореИрдВ рдХрд┐рд╕реА "рдирдП" рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ product_A рдЦрд░реАрджрддрд╛ рд╣реВрдВ - рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рджреВрд╕рд░реА рдмрд╛рд░ рдореИрдВ рд╡рд╣реА рдЙрддреНрдкрд╛рдж_рдП рдЦрд░реАрджрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ (рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рдРрдк рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реВрдВ рдпрд╛ рдирд╣реАрдВ)
рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реИ: "рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдпрд╛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рддреНрд░реБрдЯрд┐ рдЖрдИ рд╣реИред рдХреГрдкрдпрд╛ рдмрд╛рдж рдореЗрдВ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред"

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

1. рдЖрдИрдПрдкреА рдХреЛ рд░реАрдбрдПрдордИ рдХреА рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

try {
      const msg = await RNIap.prepare()
      const products = await RNIap.getProducts([`${productId}`])
      const purchase = await RNIap.buyProduct(productId)
      this.props.purchaseCoinsPack(coinsPack)
      await RNIap.consumePurchase(purchase.transactionReceipt)
    } catch (err) {
      alert(err.message);
    }

_рдмрд╕ рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдХреЛрдб рдореЗрд░реЗ рдХрдВрдкреЛрдиреЗрдВрдЯрдбрд┐рдбрдорд╛рдЙрдВрдЯ () рдФрд░ рдХрдВрдкреЛрдиреЗрдВрдЯрд╡рд┐рд▓рдпреВрдирдорд╛рдЙрдВрдЯ (): _ рдореЗрдВ рд╣реИ

getPurchases = async () => {
    try {
      const purchases = await RNIap.getAvailablePurchases();
      purchases.forEach(async purchase => {
        const boughtPack = R.find(R.propEq('androidStoreId', purchase.productId))(this.props.coinsPacks)
        if (boughtPack) {
          this.props.purchaseCoinsPack(boughtPack);
          await RNIap.consumePurchase(purchase.transactionReceipt);
        }
      })
    } catch (err) {
      console.warn(err); // standardized err.code and err.message available
    } finally {
      this.setState({ isLoading: false })
    }
  }

  async componentDidMount() {
    try {
      await RNIap.prepare()
    } catch (err) {
      console.warn(err);
    }
    this.getPurchases()
  }

  async componentWillUnmount() {
    RNIap.endConnection()
  }

2. рдкрд╣рд▓реЗ рдЦрд░реАрдж рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдмрд╛рдж рдореЗрдВ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред"

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

рдирд╡реАрдирддрдо v0.3.15 рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде error code рджреЗрдЧрд╛ред
рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛрдб рдХреНрдпрд╛ рд╣реИ?
рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдХреЛрдб -1001 рд╣реИ, рддреЛ рдпрд╣ Apple рдХреА рдУрд░ рд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рднреА рджреЗрдЦреВрдВрдЧрд╛ред

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

рдЙрддреНрдкрд╛рдж рдЙрдкрднреЛрдЬреНрдп рд╣реИ рдпрд╛ рдЕрдиреБрдкрдпреЛрдЧреА?

@JJMoon рдЙрдкрднреЛрдЬреНрдпред
2018-04-19_07h40_09

рдирд╡реАрдирддрдо v0.3.15 рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде error code рджреЗрдЧрд╛ред
рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛрдб рдХреНрдпрд╛ рд╣реИ?
рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдХреЛрдб -1001 рд╣реИ, рддреЛ рдпрд╣ Apple рдХреА рдУрд░ рд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рднреА рджреЗрдЦреВрдВрдЧрд╛ред

0.3.15 рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рдЖрдИрдУрдПрд╕ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред
рдПрдВрдбреНрд░реЙрдЗрдб рднреА рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рд╕реБрдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!
рдпрд╣ Apple рдХреА рдУрд░ рд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдиреЗ рд▓реЙрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ред
рдЬрдм рд╣рдо рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдмрд╣реБрдд рд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрддреА рд╣реИрдВред
рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЗ рдРрдк рд╕реНрдЯреЛрд░ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

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

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

summonerriftofficial picture summonerriftofficial  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

iutin picture iutin  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

hakkikonu picture hakkikonu  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jvandenaardweg picture jvandenaardweg  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ