React-native-iap: iOS рдкрд░ getAvailablePurchases рдПрдХ рд╕рдВрд╡рд╛рдж "iTunes рд╕реНрдЯреЛрд░ рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ" рджрд┐рдЦрд╛рдИ рджреЗрдВ

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

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

рей.рек.резрей

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг

0.60.5

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

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

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

getAvailablePurchases рдХрд╛ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ

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

IOS рдкрд░ getAvailablePurchases рдХреЙрд▓ рдХрд░рдирд╛ рдПрдХ рд╕рдВрд╡рд╛рдж "iTunes рд╕реНрдЯреЛрд░ рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ" рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рджреЗрдВред

рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

IMG_0020

рдореИрдВ рдЦрд░реАрджреЗ рдЧрдП рдЖрдЗрдЯрдо рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрдк рдкреНрд░рд╛рд░рдВрдн рдХреЗ рджреМрд░рд╛рди getAvailablePurchases рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдЦрд░реАрджреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ AppState рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ getAvailablePurchases рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢ AppState рди рдХреЗрд╡рд▓ рдРрдк рд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рдмрд▓реНрдХрд┐ p.ex. рдПрдХ рд╕рдВрд╡рд╛рдж рд╕реЗ рдРрдк рдкрд░ рд▓реМрдЯрдиреЗ рдХреЗ рдмрд╛рдж (рдРрдк рдХреЗ рдХрд╛рд░рдг) p.ex. ITunes рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ ... :(

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

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

рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕

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

рдХреЙрд▓ getAvailablePurchases

тЭУ question ЁЯУ▒ iOS ЁЯЩП help wanted ЁЯЪ╢ЁЯП╗ stale

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

рдХреНрдпрд╛ getAvailablePurchases рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдирдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд╢реАрдШреНрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛? рдпрд╛ рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдореИрдВ рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ iTunes рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

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

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

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

рдЕрд░реЗ @voxspox @alexpchin рд╕рд╣реА рд╣реИред @alexpchin рдЬрдм рд╕реЗ рд╣рдо рдкреБрд▓ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рдореВрд▓ рджреЗрд╢ рдореЗрдВ IAP рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирддреЗ рд╣реИрдВред рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рд░рдЦрдирд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ, рд░рдЦ-рд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдмреЛрдЭ рд╣реИрдВред рдпрджрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдХреБрдЫ рдХрд╛рдо рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдХреБрдЫ рднреА рдЬреЛрдбрд╝рдиреЗ рдФрд░ PR рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

@ рдореАрдлреА рдореИрдВрдиреЗ рдХрднреА рднреА "рдЕрдкрдиреА рдЦрд░реАрджрд╛рд░реА рдмрд╣рд╛рд▓ рдХрд░реЗрдВ" рдмрдЯрди рдХреЗ рд╕рд╛рде рдРрдк рдирд╣реАрдВ рджреЗрдЦреА рд╣реИред UX рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рдРрд╕рд╛ рдмрдЯрди рдПрдХ рдмреЛрдЭ рд╣реИ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рднреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдРрдк рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдЦрд░реАрджрд╛ рд╣реИ;)

@hyochan рдореБрдЭреЗ

рдореИрдВрдиреЗ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХреБрдЫ рдРрдк рджреЗрдЦреЗ рд╣реИрдВред рдореБрдЭреЗ рдЕрдм рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ (рдпрд╛ рд╕реЗрдм рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ) рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдРрдкрд▓ рдХреЗ рдРрдк рд╕реНрдЯреЛрд░ рдЧрд╛рдЗрдбрд▓рд╛рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдкрд╛рд╕ рдпрд╣ рдмрдЯрди рд╣реИ:
https://developer.apple.com/app-store/subsults/

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдмреБрд░рд╛ рд╣реЛрдЧрд╛ UX рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрднреА рдореЗрд░рд╛ рдРрдк рдЦреЛрд▓рддреЗ рд╕рдордп рдЕрдкрдиреА рдРрдкреНрдкрд▓ рдЖрдИрдбреА рджрд░реНрдЬ рдХрд░рдиреА рдкрдбрд╝реЗ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реЛрдЧрд╛ред (рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдРрд╕рд╛ рджреЗрдЦрд╛ рд╣реИ рдпрд╛ SSL MITM рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд╛рдИрдлрд╛рдИ рд▓реИрдВрдбрд┐рдВрдЧ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реЗрдм рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдХреНрдпрд╛ getAvailablePurchases рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдирдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд╢реАрдШреНрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛? рдпрд╛ рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдореИрдВ рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ iTunes рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

1+ рд╡рд╣реА

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ, рдЗрд╕ рдкрд░ рдХреЛрдИ рдЬрд╡рд╛рдм? рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЯреЗрд╕реНрдЯрдлрд▓рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЛрдб рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдЗрд╕ рдмреАрдЪ, рдореБрдЭреЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рдЪрд░ isRestorePurchasesEnabled рдЬреЛ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдРрдк рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред

рдореЗрдВ рдЗрд╕:

isRestorePurchasesEnabled = false

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рд░рдВрдн рдкрд░:

if (Android || isRestorePurchasesEnabled) {
  call getAvailablePurchases
  on error.code === 'E_USER_CANCELLED' -> isRestorePurchasesEnabled= false
}

рдЦрд░реАрдж рдкрд░:

isRestorePurchasesEnabled = true
requestSubscription ...

рд╕рдорд╛рдпреЛрдЬрди:

Button "restore purchases" -> isRestorePurchasesEnabled = true

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрдиреЗрдХреНрдЯ-рдЖрдИрдЯреНрдпреВрдиреНрд╕-рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдлрд┐рд░ рдХрднреА рдирд╣реАрдВ рджреЗрдЦреЗрдЧрд╛ред рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХреЗрд╡рд▓ рдЦрд░реАрджрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА + рд╕рдВрдЧреНрд░рд╣реАрдд рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЙрдореНрдкреНрдЯ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреЗрд╡рд▓ рд╡рд╣ рд╕реНрдерд╛рди рдЬрд╣рд╛рдВ рд╕рдВрдХреЗрдд рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ / рдЖрдЗрдЯреНрдпреВрдиреНрд╕ / рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЙрдЧ рдЖрдЙрдЯ рдХрд░рддрд╛ рд╣реИред рдкрддрд╛ рдирд╣реАрдВ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред

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

рдирдорд╕реНрдХрд╛рд░,
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ, рдХреНрдпрд╛ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдореИрдВ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрднреА рднреА рдЙрддреНрдкрд╛рдж рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ?
рдореИрдВ рд╕реЗрдм рдФрд░ рдЧреВрдЧрд▓ рдкреНрд▓реЗ рд╕реНрдЯреЛрд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ?
рдореИрдВ рдпрд╣ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ getAvailablePurchase рд╡рд┐рдзрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдзрдиреНрдпрд╡рд╛рджред

  • рд╡рд╣реА

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

Apple рдЕрднреА рднреА рд╣рдореЗрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдРрдк рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░

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

https://developer.apple.com/documentation/storekit/in-app_purchase/restoring_purchased_products# : ~: рдкрд╛рда = рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд% 20Completed% 20Transactions,% 20your% 20app рд╣реИ% 20completed% 20transactions рдХреАред

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд░реАрдж рдпрд╛ рдЦрд░реАрдж рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рдмреИрдХрдПрдВрдб рдкрд░ рд░рд╕реАрдж рднреЗрдЬрдиреА рд╣реИред рдлрд┐рд░ рдмреИрдХрдПрдВрдб рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдРрдк рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

Apple рдЕрднреА рднреА рд╣рдореЗрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _not_

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

https://developer.apple.com/documentation/storekit/in-app_purchase/restoring_purchased_products# : ~: рдкрд╛рда = рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд% 20Completed% 20Transactions,% 20your% 20app рд╣реИ% 20completed% 20transactions рдХреАред

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд░реАрдж рдпрд╛ рдЦрд░реАрдж рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рдмреИрдХрдПрдВрдб рдкрд░ рд░рд╕реАрдж рднреЗрдЬрдиреА рд╣реИред рдлрд┐рд░ рдмреИрдХрдПрдВрдб рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдРрдк рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрд╡рддрдГ-рдирд╡реАрдиреАрдХрд░рдг рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдирд╡реАрдирддрдо рд░рд╕реАрдж рдХреИрд╕реЗ рдорд┐рд▓реЗрдЧреА?

рдмреИрдХрдПрдВрдб рдореЗрдВ рдПрдХ рдЖрд╡рдзрд┐рдХ рдорддрджрд╛рди рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЦрд░реАрдж рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИ рдлрд┐рд░ рд╕рддреНрдпрд╛рдкрди рд╕реЗ рдирд╡реАрдирддрдо рд░рд╕реАрдж рд▓реЗрдВ (рдЬреЛ Google / рдРрдкреНрдкрд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрддрд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд╛рдкрд╕ рд╕рд╣реЗрдЬреЗрдВред

рдмреИрдХрдПрдВрдб рдореЗрдВ рдПрдХ рдЖрд╡рдзрд┐рдХ рдорддрджрд╛рди рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЦрд░реАрдж рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИ рдлрд┐рд░ рд╕рддреНрдпрд╛рдкрди рд╕реЗ рдирд╡реАрдирддрдо рд░рд╕реАрдж рд▓реЗрдВ (рдЬреЛ Google / рдРрдкреНрдкрд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрддрд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд╛рдкрд╕ рд╕рд╣реЗрдЬреЗрдВред

рд╣рд╛рдп @ mifi рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдореВрд▓ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдкрд░ latestReceipt рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рд╣реИред рддреЛ рдЬрдм рдореВрд▓ latestReceipt рд╕рд╛рде рдорддрджрд╛рди рдПрдХ рдирдпрд╛ latestReceipt рдореВрд▓реНрдп рд╣реИ?

рд╣рд╛рдВ, рдмреИрдХрдПрдВрдб рдкрд░ iap.validate рдлрд╝рдВрдХреНрд╢рди рдРрдкреНрдкрд▓ / Google рдПрдкрд┐рд╕ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдЬреЛ рдирд╡реАрдирддрдо рд░рд╕реАрдж рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╡рд┐рдХрд╛рд╕ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдЕрдХреНрд╖рдп рд╕рджрд╕реНрдпрддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг (5 рд╕рджрд╕реНрдпрддрд╛ рдкреНрд░рддрд┐ рдЕрд╡рдзрд┐)

рдзрдиреНрдпрд╡рд╛рдж @mifi рдЬрд┐рд╕рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдорджрдж рдХреА рд╣реИ! рдпрд╣ "рдирд╡реАрдирддрдоReceipt" рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "latestReceipt" рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рдерд╛

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

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

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

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

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

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

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

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

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