React-native-iap: рдПрдХреНрд╕рдкреЛ рдореЗрдВ рдПрдк рдЦрд░реАрдж рдореЗрдВ

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

рдирдорд╕реНрдХрд╛рд░,

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

тЭУ question ЁЯЪ╢ЁЯП╗ stale

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

рдмрд╕:

  • рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ detached рдмрдирд╛рдПрдБ
  • exp detach рдЪрд▓рд╛рдПрдВ
  • рд╕рд╛рдорд╛рдиреНтАНрдп рд░реВрдк рд╕реЗ рд╡рд╣ рд╕рдм рдХрд░реЗрдВ рдЬреЛ рдЖрдк рдХрд░реЗрдВрдЧреЗ
  • js рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП master рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ
  • рдЬрдм master рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдирд╛ IAP рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯреЗрдВ:
import { NativeModules } from 'react-native';
const { RNIapModule } = NativeModules;
function hasIAP() {
  return !!NativeModules.RNIapModule;
}
  • рдЗрд╕ рддрд░рд╣ рд╕реЗ IAP рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ рдХреЛрдб рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрдЧрд╛
  • рдЖрдИрдПрдкреА рдХреА рддреИрдирд╛рддреА рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрд╛ рдмрд╕ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рджреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВ> :)

рдпрд╣рд╛рдБ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ exp detach рд╕рд┐рд░реНрдл /ios & /android рдлреЛрд▓реНрдбрд░ рдХреЛ рд╕рд░реНрдлреЗрд╕ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ RN рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХреЗрдВред
рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдирд┐рдпрдорд┐рдд рдПрдХреНрд╕рдкреЛ рдРрдк рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд┐рд▓реЗрдЧреА, рдмрд╕ рдлрд╛рд╕реНрдЯрд▓реЗрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджреЗрд╢реА рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдЕрдВрдд рдореЗрдВ, рд╢рд╛рдЦрд╛рдПрдБ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдлрд┐рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджреЗрдпрддрд╛ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

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

рдмрд╕:

  • рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ detached рдмрдирд╛рдПрдБ
  • exp detach рдЪрд▓рд╛рдПрдВ
  • рд╕рд╛рдорд╛рдиреНтАНрдп рд░реВрдк рд╕реЗ рд╡рд╣ рд╕рдм рдХрд░реЗрдВ рдЬреЛ рдЖрдк рдХрд░реЗрдВрдЧреЗ
  • js рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП master рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ
  • рдЬрдм master рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдирд╛ IAP рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯреЗрдВ:
import { NativeModules } from 'react-native';
const { RNIapModule } = NativeModules;
function hasIAP() {
  return !!NativeModules.RNIapModule;
}
  • рдЗрд╕ рддрд░рд╣ рд╕реЗ IAP рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ рдХреЛрдб рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрдЧрд╛
  • рдЖрдИрдПрдкреА рдХреА рддреИрдирд╛рддреА рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрд╛ рдмрд╕ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рджреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВ> :)

рдпрд╣рд╛рдБ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ exp detach рд╕рд┐рд░реНрдл /ios & /android рдлреЛрд▓реНрдбрд░ рдХреЛ рд╕рд░реНрдлреЗрд╕ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ RN рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХреЗрдВред
рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдирд┐рдпрдорд┐рдд рдПрдХреНрд╕рдкреЛ рдРрдк рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд┐рд▓реЗрдЧреА, рдмрд╕ рдлрд╛рд╕реНрдЯрд▓реЗрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджреЗрд╢реА рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдЕрдВрдд рдореЗрдВ, рд╢рд╛рдЦрд╛рдПрдБ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдлрд┐рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджреЗрдпрддрд╛ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХреНрд╕рдкреЛ рд╕реЗ рдХреНрдпреЛрдВ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред

@ рдЗрдВрджреНрд░рдХреБрдорд╛рд░

рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП, рджреЗрд╢реА рдмрд┐рд▓реНрдб рдмрдирд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХреНрд╕рдкреЛ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорд╛рд╣реМрд▓ рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдПрдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрдлреНрдд рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рд╕реЗрд╡рд╛ рднреА рд╕реБрдкрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

@KevinColemanInc рд╣рд╛рдВред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рднреА рднрд╛рд░реА рдПрдХреНрд╕рдкреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ iap рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ iap рд╕реБрд╡рд┐рдзрд╛ рд╕рд╣рд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдПрдХреНрд╕рдкреЛ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдРрдкреНрдкрд▓ рд╕реНрдЯреЛрд░ рдореЗрдВ рдРрдкрд▓ Expo Client рдРрдк рдХреЛ рдкрд╣рд▓реЗ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджреЗрдЧрд╛ред

@dooboolab

рдЬреИрд╕рд╛ рдХрд┐ рджреВрд╕рд░реЛрдВ рдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рд╢рд╛рдВрдд рд╣реЛрддрд╛ рдЕрдЧрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рдареВрдВрд╕рд╛ рдЬрд╛рддрд╛ред рдореИрдВ рд╕рд┐рд░реНрдл рджреЗрд╡ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдкреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

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

@ImArtur рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ "рдПрдХреНрд╕рдкреЛ рдореЗрдВ рдРрдк рдЦрд░реАрдж"ред рдЖрдк рдПрдХреНрд╕рдкреЛ рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: https://docs.expo.io/versions/latest/introduction/why-not-expo

@ рдЗрд╡рд╛рдирдмрд╛рдХрди

рдирдорд╕реНрдХрд╛рд░ рдФрд░ рдЗрд╕ рд░рд╛рдЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ (рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж) рдЖрдк "рдбреЗрдЯреЗрдб" рд╢рд╛рдЦрд╛ рдореЗрдВ рдПрдХреНрд╕рдкреА рдпрд╛ рдПрдХреНрд╕рдХреЛрдб рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рдж!

@ EvanBacon рднреА, рдЖрдк iOS рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдПрдХ рдирдП рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЖрдИрдкреАрдПрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдЕрдЧрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрднреА рднреА CRNA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдЖрд░рдПрди рдореВрд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЬрд╛рдУ?

рдЬрдм рддрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХреНрд╕рдкреЛ рджреЗрд╡ рдмрд╣реБрдд рдЬрд▓реНрдж рд╣реА рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред

@edoantonioco рдореИрдВрдиреЗ рдПрдХреНрд╕рдкреЛ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдЖрдЗрдЯрдо рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП iap рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдкреЗрдЬ рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдмрдЯрди рдХреЛ рджрдмрд╛рддрд╛ рд╣реВрдВ рдЬрдм рдореИрдВ Xcode рдХреЗ рд╕рд╛рде рдЦрд░реАрджрд╛рд░реА рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдиреНрдпрдерд╛ рдореИрдВ рдПрдХреНрд╕рдкреЛ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

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

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

@inglesuniversal

рдЕрдЧрд░ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреБрдЫ рднреА рд╣реИ, рддреЛ рд╣рдордиреЗ рдбрдВрдкрд┐рдВрдЧ рдПрдХреНрд╕рдкреЛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ рдердХ рдЧрдПред

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдФрд░ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рдЬреИрд╕реЗ рд╕реВрдЪрдирд╛рдУрдВ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрд░реНрд╖рдг рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рджреЗрд╡ рдореБрдЭреЗ рдмрддрд╛рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, "рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХреНрд╕рдкреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ"ред

рдПрдХреНрд╕рдкреЛ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рд╣реИ рдпрд╣ рд╣рд╛рд▓ рд╣реА рдореЗрдВ 2019 рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ native modules рддреЛред

рдореИрдВ рдХрд╛рдо рдХреЗ рдКрдкрд░ @EvanBacon рдХрд╛ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореЗрд░рд╛ NativeModules рдЦрд╛рд▓реА рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк RNIapModule рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИред (рдХрдо рд╕реЗ рдХрдо iOS рдкрд░)

рдХреНрдпрд╛ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реВрдВ?

FWIW, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рд▓рд┐рдВрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ ...ред

$ react-native link react-native-iap
rnpm-install info Linking react-native-iap ios dependency 
rnpm-install info Platform 'ios' module react-native-iap has been successfully linked 
rnpm-install info Linking react-native-iap android dependency 
rnpm-install info Platform 'android' module react-native-iap has been successfully linked 

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдм рддрдХ рдореИрдВ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ред рдореБрдЭреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝реЛрд▓реНрдбрд░ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред
https://forums.expo.io/t/trouble-linking-with-expokit-unable-to-find-lbooks-in-xcode/16710

@EvanBacon рд╣рд╛рдп рд╕рд░,
рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА RN iap рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛
рддреЛ рдореИрдВ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ред
рддреЛ рдореИрдВ рдЧреЛрдЯреЛ ios рдбреАрдЖрдИрдЖрд░ рдФрд░ рдЪрд▓рд╛рдиреЗ рдлрд▓реА рд╕реНрдерд╛рдкрд┐рдд рдЕрдм рдпрд╣ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ
рдореБрдЭреЗ рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдпреЗ?
рдзрдиреНрдпрд╡рд╛рдж

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

рд╕рд╛рдорд╛рдиреНтАНрдп рд░реВрдк рд╕реЗ рд╡рд╣ рд╕рдм рдХрд░реЗрдВ рдЬреЛ рдЖрдк рдХрд░реЗрдВрдЧреЗ
js рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдЯрд░ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ
рдЬрдм рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдЕрдкрдирд╛ IAP рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯреЗрдВ:
@EvanBacon рдЙрдкрд░реЛрдХреНрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ?

рдмрд╕:

  • рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ detached рдмрдирд╛рдПрдБ
  • exp detach рдЪрд▓рд╛рдПрдВ
  • рд╕рд╛рдорд╛рдиреНтАНрдп рд░реВрдк рд╕реЗ рд╡рд╣ рд╕рдм рдХрд░реЗрдВ рдЬреЛ рдЖрдк рдХрд░реЗрдВрдЧреЗ
  • js рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП master рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ
  • рдЬрдм master рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдирд╛ IAP рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯреЗрдВ:
import { NativeModules } from 'react-native';
const { RNIapModule } = NativeModules;
function hasIAP() {
  return !!NativeModules.RNIapModule;
}
  • рдЗрд╕ рддрд░рд╣ рд╕реЗ IAP рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ рдХреЛрдб рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрдЧрд╛
  • рдЖрдИрдПрдкреА рдХреА рддреИрдирд╛рддреА рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрд╛ рдмрд╕ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рджреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВ> :)

рдпрд╣рд╛рдБ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ exp detach рд╕рд┐рд░реНрдл /ios & /android рдлреЛрд▓реНрдбрд░ рдХреЛ рд╕рд░реНрдлреЗрд╕ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ RN рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХреЗрдВред
рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдирд┐рдпрдорд┐рдд рдПрдХреНрд╕рдкреЛ рдРрдк рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд┐рд▓реЗрдЧреА, рдмрд╕ рдлрд╛рд╕реНрдЯрд▓реЗрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджреЗрд╢реА рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдЕрдВрдд рдореЗрдВ, рд╢рд╛рдЦрд╛рдПрдБ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдлрд┐рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджреЗрдпрддрд╛ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдп рдЗрд╡рд╛рди,
рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореЗрд░реА рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ (рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдЖрдИрдПрдкреА рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реИ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, RIIap.initConnection () рдХреЗ рдмрд╛рд╡рдЬреВрдж hasIAP рдлрд╝рдВрдХреНрд╢рди рдЧрд▓рдд рд╣реИ; рд╕рдЪ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдореИрдВ рдХреЛрдб рдХреЗ рдЗрд╕ рд╕рд░рд▓ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВред

async componentDidMount() {
    try {
      const result = await RNIap.initConnection();
      console.log("hasIAP " + hasIAP())  // returns false
      console.log('result', result);   // returns true
    } catch (err) {
      console.warn(err.code, err.message);
    }
}

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? (рдпрд╛ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА)

рдбреЙрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, https://docs.expo.io/versions/v32.0.0/sdk/payments/ , рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рднреБрдЧрддрд╛рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ? (рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛)

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

рдЕрд░реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреНрдпрд╛ рдореБрджреНрджрд╛ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдЕрднреА рднреА рд╕рдореБрджрд╛рдп рдХреЗ рдзреНрдпрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рди рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ "рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП" рдпрд╛ "рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдореБрджреНрджрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓реЗрдмрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЦреБрд▓рд╛ рд░рдЦреЗрдВ рдФрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдПрдХреНрд╕рдкреЛ рдПрд╕рдбреАрдХреЗ рд╡рд░реНрдЬрди 33.0 рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ

рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрджреНрдпрддрди рд╣реИ?

https://docs.expo.io/versions/latest/sdk/in-app-purchases/

рдЕрджреНрдпрддрди: рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпрд╛рдж рдХрд┐рдпрд╛:

рдпрд╣ рдореЙрдбреНрдпреВрд▓ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдирдВрдЧреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред

@kkarkos рдПрдХреНрд╕рдкреЛ рдХреЗ рдЕрдкрдиреЗ рдЗрди-рдРрдк-рдЦрд░реАрджрд╛рд░реА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдЕрднреА рднреА рдЕрдкрдиреЗ рдПрдХреНрд╕рдкреЛ рдРрдк (рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП) рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдХреЛрдИ рднреА рдЕрдзрд┐рдХ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ @EvanBacon рдХрд╛ рд╡рд░реНрдгрди рдХреИрд╕реЗ рдХрд░реЗрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рд╢рд╛рдпрдж рдПрдХ рдбреЗрдореЛ рдРрдк рднреА?

@ TheInternet рдореИрдВ рдЧрд╛рдпрдм "рд▓рд╛рдЗрдмреНрд░реЗрд░реА" рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ iOS рдкрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП?

@inglesuniversal
рдореИрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╣реВрдБ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдПрдХреНрд╕рдкреЛ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдРрдк рдХреЛ рдореЛрдиреЗрдЯрд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рдЦреЛрдЬреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рд╣рдо webView рдХреЗ рд╕рд╛рде рдИ-рднреБрдЧрддрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдиреВрдиреА рд╣реИ?

рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 3 рдкрд╛рд░реНрдЯреА рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдРрдк (рдЬреИрд╕реЗ рдХрд┐ рдкрдЯреНрдЯреА рдпрд╛ рдкреЗрдкрд▓) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди AppStore рдпрд╛ PlayStore рдХреЗ рдЕрдВрджрд░ рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЗ рдРрдк рдХреЛ рддрдм рддрдХ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╕рднреА рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдПрдХреНрд╕рдкреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдЬрдм рддрдХ рдЖрдк рдмрд╛рд╣рд░реА рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЦрд░реАрдж рд░рд╣реЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдЬрдм рдЖрдк рдЕрдореЗрдЬрд╝рди рдкрд░ рдХреЛрдИ рдЙрддреНрдкрд╛рдж рдЦрд░реАрджрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдмрд░ рдРрдк рдореЗрдВ рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВ) рдореЗрдВ рдЖрдк рд╕реНрдЯреНрд░рд╛рдЗрдк рдпрд╛ рдкреЗрдкреИрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдРрдк рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ (рдЬреИрд╕реЗ рдЦреЗрд▓ рдЯреЛрдХрди рдпрд╛ рдкреНрд░реАрдорд┐рдпрдо рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдмрд┐рдХреНрд░реА)

рдзрдиреНрдпрд╡рд╛рдж рдХреЗрд╡рд┐рди рдХреЙрд▓реЗрдореИрдирдЗрдВрдХреЗ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП ... рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕рджрд╕реНрдпрддрд╛ рдпрд╛ рдлрд┐рд▓реНрдо рдХреЗ рдХрд┐рд░рд╛рдпреЗ, рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ, рдСрдирд▓рд╛рдЗрди рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд░реНрддреА рднреБрдЧрддрд╛рди рдмреЗрдЪ рд░рд╣реЗ рд╣реИрдВ ... рдХреНрдпрд╛ рдХрд┐рд╕реА рдРрдк рдХреЗ рднреАрддрд░ рд╕реНрдЯреНрд░рд╛рдЗрдк рдпрд╛ рдкреЗрдкрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ -> (Playore рдпрд╛ AppStore) ? рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

@inglesuniversal

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рднреАрддрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рд╕рджрд╕реНрдпрддрд╛рдПрдБ, рдЗрди-рдЧреЗрдо рдореБрджреНрд░рд╛рдПрдВ, рдЧреЗрдо рдХрд╛ рд╕реНрддрд░, рдкреНрд░реАрдорд┐рдпрдо рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдпрд╛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдирд╛)

рдпреЗ рд╣реИрдВ Apple рдХреЗ рджрд┐рд╢рд╛-рдирд┐рд░реНрджреЗрд╢:
https://developer.apple.com/app-store/review/guidelines/#in -app-рдЦрд░реАрдж

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ "рдкреНрд░реАрдорд┐рдпрдо рд╕рд╛рдордЧреНрд░реА" рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрдПрдЧрд╛ред рдиреЗрдЯрдлреНрд▓рд┐рдХреНрд╕ рдХреЛ рд╕реЗрдм рдХрд░ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рднреА рдРрдкреНрдкрд▓ рдЯреИрдХреНрд╕ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдореЛрдмрд╛рдЗрд▓ рдкрд░ рдЙрдирдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдирдЕрдк рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЙрджрдореА рдХреЗ рдРрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рднреА IAP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЕрд░реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреНрдпрд╛ рдореБрджреНрджрд╛ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдЕрднреА рднреА рд╕рдореБрджрд╛рдп рдХреЗ рдзреНрдпрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рди рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ "рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП" рдпрд╛ "рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдореБрджреНрджрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓реЗрдмрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдмрд╕:

  • рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ detached рдмрдирд╛рдПрдБ
  • exp detach рдЪрд▓рд╛рдПрдВ
  • рд╕рд╛рдорд╛рдиреНтАНрдп рд░реВрдк рд╕реЗ рд╡рд╣ рд╕рдм рдХрд░реЗрдВ рдЬреЛ рдЖрдк рдХрд░реЗрдВрдЧреЗ
  • js рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП master рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ
  • рдЬрдм master рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдирд╛ IAP рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯреЗрдВ:
import { NativeModules } from 'react-native';
const { RNIapModule } = NativeModules;
function hasIAP() {
  return !!NativeModules.RNIapModule;
}
  • рдЗрд╕ рддрд░рд╣ рд╕реЗ IAP рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ рдХреЛрдб рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрдЧрд╛
  • рдЖрдИрдПрдкреА рдХреА рддреИрдирд╛рддреА рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрд╛ рдмрд╕ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рджреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВ> :)

рдпрд╣рд╛рдБ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ exp detach рд╕рд┐рд░реНрдл /ios & /android рдлреЛрд▓реНрдбрд░ рдХреЛ рд╕рд░реНрдлреЗрд╕ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ RN рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХреЗрдВред
рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдирд┐рдпрдорд┐рдд рдПрдХреНрд╕рдкреЛ рдРрдк рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд┐рд▓реЗрдЧреА, рдмрд╕ рдлрд╛рд╕реНрдЯрд▓реЗрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджреЗрд╢реА рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдЕрдВрдд рдореЗрдВ, рд╢рд╛рдЦрд╛рдПрдБ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдлрд┐рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджреЗрдпрддрд╛ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрддрдирд╛ рдШрдирд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ IAP рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХреНрд╕рдкреЛ рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ 'рд░реИрдк' рдХрд░рдирд╛ рд╣реИ) рдФрд░ рдлрд┐рд░ рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реА рдЧрдИ рдирдИ рд╢рд╛рдЦрд╛ рдкрд░ рдлрд┐рд░ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ рдПрдХреНрд╕рдкреЛ рдХреЛрдб рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЖрдк рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдкрд░ рд╢рд╛рдЦрд╛рдУрдВ рдХрд╛ рд╡рд┐рд▓рдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ ??! рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА IAP's рдХреЛ рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рдПрдХреНрд╕рдкреЛ рдРрдк рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ? рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдмрдбрд╝рд╛ рдРрдк рдЦрддреНрдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рд╢рд╛рдпрдж рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рд▓рдЧрддрд╛ рд╣реИ - рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд╕рдордЭреВрдВ! рдореБрдЭреЗ рдпрд╣ рднреА рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХреНрд╕рдкреЛ рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИ! рджреЗрд╢реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдпрд╣ рдЕрдм рддрдХ рдХрднреА рдирд╣реАрдВ рдорд┐рд▓рд╛, рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦреЗрдВ !!!

рдЕрд░реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреНрдпрд╛ рдореБрджреНрджрд╛ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдЕрднреА рднреА рд╕рдореБрджрд╛рдп рдХреЗ рдзреНрдпрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рди рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ "рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП" рдпрд╛ "рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдореБрджреНрджрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓реЗрдмрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ред рдпрджрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдмрд╕:

  • рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ detached рдмрдирд╛рдПрдБ
  • exp detach рдЪрд▓рд╛рдПрдВ
  • рд╕рд╛рдорд╛рдиреНтАНрдп рд░реВрдк рд╕реЗ рд╡рд╣ рд╕рдм рдХрд░реЗрдВ рдЬреЛ рдЖрдк рдХрд░реЗрдВрдЧреЗ
  • js рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП master рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ
  • рдЬрдм master рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдирд╛ IAP рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯреЗрдВ:
import { NativeModules } from 'react-native';
const { RNIapModule } = NativeModules;
function hasIAP() {
  return !!NativeModules.RNIapModule;
}
  • рдЗрд╕ рддрд░рд╣ рд╕реЗ IAP рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ рдХреЛрдб рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрдЧрд╛
  • рдЖрдИрдПрдкреА рдХреА рддреИрдирд╛рддреА рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрд╛ рдмрд╕ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рджреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВ> :)

рдпрд╣рд╛рдБ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ exp detach рд╕рд┐рд░реНрдл /ios & /android рдлреЛрд▓реНрдбрд░ рдХреЛ рд╕рд░реНрдлреЗрд╕ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ RN рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХреЗрдВред
рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдирд┐рдпрдорд┐рдд рдПрдХреНрд╕рдкреЛ рдРрдк рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд┐рд▓реЗрдЧреА, рдмрд╕ рдлрд╛рд╕реНрдЯрд▓реЗрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджреЗрд╢реА рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдЕрдВрдд рдореЗрдВ, рд╢рд╛рдЦрд╛рдПрдБ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдлрд┐рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджреЗрдпрддрд╛ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрддрдирд╛ рдШрдирд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ IAP рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХреНрд╕рдкреЛ рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ 'рд░реИрдк' рдХрд░рдирд╛ рд╣реИ) рдФрд░ рдлрд┐рд░ рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реА рдЧрдИ рдирдИ рд╢рд╛рдЦрд╛ рдкрд░ рдлрд┐рд░ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ рдПрдХреНрд╕рдкреЛ рдХреЛрдб рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЖрдк рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдкрд░ рд╢рд╛рдЦрд╛рдУрдВ рдХрд╛ рд╡рд┐рд▓рдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ ??! рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА IAP's рдХреЛ рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рдПрдХреНрд╕рдкреЛ рдРрдк рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ? рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдмрдбрд╝рд╛ рдРрдк рдЦрддреНрдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдПрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рд╢рд╛рдпрдж рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рд▓рдЧрддрд╛ рд╣реИ - рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд╕рдордЭреВрдВ! рдореБрдЭреЗ рдпрд╣ рднреА рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХреНрд╕рдкреЛ рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИ! рджреЗрд╢реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдпрд╣ рдЕрдм рддрдХ рдХрднреА рдирд╣реАрдВ рдорд┐рд▓рд╛, рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦреЗрдВ !!!

рдирдорд╕реНрддреЗ! рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛? рдЖрдкрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛?

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

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

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

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

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

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

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