IOS рдкрд░ рдСрдЯреЛ-рд░рд┐рдиреНрдпреВрдПрдмрд▓ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди: рдЙрдЪрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдиреБрдХрд╕рд╛рди

рдСрдЯреЛ-рд░рд┐рдиреНрдпреВрдПрдмрд▓ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди iOS рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛, рд╢реБрд░реБрдЖрдд рд╕реЗ рдЕрдВрдд рддрдХ, рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕ рдХрдард┐рди рд░рд╛рд╕реНрддреЗ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдВрд╕рд░ рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдкрдХрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж, рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред


Auto-Renewable Subscription рдХреНрдпрд╛ рд╣реИ


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

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

рд╡реЗ рдореБрдЭреЗ рдордирд╛ рдХреНрдпреЛрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдЖрджрд░реНрд╢ рдпреЛрдЬрдирд╛, рдореИрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рд╣ рдмрдирд╛рдКрдВрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдорд╣реАрдиреЗ рддрдХ рдПрдХ рдбреЙрд▓рд░ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░рдиреЗ рджреВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╢рдмреНрдж рдпрд╣ рд╣реИ рдХрд┐ Auto-Renewable Subscription рдХреЛ Digital Content рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпреЗ рд╢рдмреНрдж рдмрд╣реБрдд рдзреБрдВрдзрд▓реЗ рд╣реИрдВред

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

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

рдареАрдХ рд╣реИ, рддреЛ рдЪрд▓реЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ

рдСрдЯреЛ-рд░рд┐рдиреНрдпреВрдПрдмрд▓ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреАрди рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:

рдЖрдИрдЯреНрдпреВрдиреНрд╕ рдХрдиреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдПрдХ рд╕рд╛рдЭрд╛ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдРрдкреНрдкрд▓ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдореИрдиреЗрдЬ рдЗрди-рдРрдк рдкрд░рдЪреЗрдЬ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рд╡рд╣рд╛рдВ рд╣рдо рдЙрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдирдпрд╛ рдЗрди-рдРрдк рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЕрд╡рдзрд┐, рдирд╛рдо рдФрд░ рднрд░рдг рдЪреБрдиреЗрдВред

рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрддреНрдкрд╛рдж рдЖрдИрдбреА рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рд╣рдо рдЗрд╕реЗ рдЖрд╡реЗрджрди рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗред

рд╣рдореЗрдВ рдЕрдкрдиреА Privcay рдкреЙрд▓рд┐рд╕реА рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИред рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ? рд╣рд╛рдВ, рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд╣рдордиреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рд╣реИ: www.easy10.com/privacy

рдЦреИрд░, рд╣рдореЗрдВ рд╕рд╛рдЭрд╛ рд░рд╣рд╕реНрдп рдорд┐рд▓рд╛, рдПрдХ рдЙрддреНрдкрд╛рдж рдЖрдИрдбреА рд╣реИ , рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдЬрд╛рдПрдВред

рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛

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

рдпрд╣ рддрдВрддреНрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
  1. рдЖрд╡реЗрджрди рдореЗрдВ рд╣рдо рдПрдХ рдЦрд░реАрдж рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ
  2. рд╣рдо Apple рд░рд╕реАрдж рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ
  3. рд╣рдо рдЗрд╕реЗ рдмреЗрд╕ 64 рдореЗрдВ рдПрдирдХреЛрдб рдХрд░рддреЗ рд╣реИрдВ
  4. рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВ (рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
  5. рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рдо Apple рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВ
  6. рд╡реЗ рдЗрд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рднреЗрдЬрддреЗ рд╣реИрдВ
  7. рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡реЗрджрди рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╕рджрд╕реНрдпрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИред

рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд░реНрд╡рд░ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реЗрд╡рд╛ www.beeblex.com рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 4-6 рдЪрд░рдг рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ

рдпрджрд┐ рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЪрд░рдг 5 рдореЗрдВ рдЖрдкрдХреЛ рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЦрд░реАрджрдирд╛ рд╣реЛрдЧрд╛ред itunes.apple.com/verifyReceipt JSON
{ "receipt-data" : "(receipt bytes here)", "password" : "(shared secret bytes here)"//  shared secret } 

рдЪрд░рдг 6 рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд JSON рдорд┐рд▓рддрд╛ рд╣реИ
 { "status" : 0, "receipt" : { (receipt here) }, "latest_receipt" : "(base-64 encoded receipt here)", "latest_receipt_info" : { (latest receipt info here) } } 


рдпрджрд┐ рд╕реНрдерд┐рддрд┐ = 0, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдпрджрд┐ рдпрд╣ 21006 рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдирд╡реАрдиреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдиреНрдп рд╕рднреА рдХреЛрдб рдпрд╣рд╛рдБ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рдСрдЯреЛ-рдЕрдХреНрд╖рдп рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдХреЛрдб

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

рдФрд░ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ?

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

рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдореЛрдб рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЫрд╣ рдмрд╛рд░ рдирд╡реАрдиреАрдХреГрдд рдХреА рдЬрд╛рдПрдЧреАред рдФрд░ рд╡рд╣ рд╕рдм рд╣реИред рдпрд╣ рд▓рдЧрднрдЧ рдХрднреА рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рд░рд╛рддреЛрдВ рдХреА рдиреАрдВрдж рд╣рд░рд╛рдо рдХрд░ рджреА, рдпрд╣ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░рдг рдерд╛ рдХрд┐ expires_date рдореЗрд░реЗ рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓рд╛ред рдЗрд╕реА рдореЗрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрддреНрдо-рдирд╡реАрдиреАрдХрд░рдг рдХреЗ рдЗрд╕ рдХреНрд╖рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реАрдХреНрд╖рдг рдореЛрдб рдореЗрдВ рд╡реИрдзрддрд╛ рдЕрд╡рдзрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдорд╛рд╕рд┐рдХ рд╕рджрд╕реНрдпрддрд╛ 5 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреБрдЪрд┐рдд рд╣реИред

рдЦреИрд░, рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЖрд╡реЗрджрди рдореЗрдВ рд╣реА рдЦрд░реАрдж рдХреЛрдб рджреВрдВрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реИрдХрдбрд╝реЛрдВ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИред

рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА


рдЗрд╕рдХреЗ рд▓рд┐рдП iOS StoreKit.framework рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЦрд░реАрджрд╛рд░реА рдХрд░рдиреЗ, рд▓реЗрдирджреЗрди рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдирдП рдЙрдкрдХрд░рдг рд╕реЗ рдЦрд░реАрджрд╛рд░реА рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рд▓реЗрди-рджреЗрди рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ SKPaymentTransactionObserver рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдЪрд╛рдирдХ рдлреЛрди рдпрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдмрдВрдж рдХрд░рдиреЗ рдкрд░ рд▓реЗрди-рджреЗрди рди рд╣реЛ рдЬрд╛рдП, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрд╣реАрдВ рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //// [[SKPaymentQueue defaultQueue] addTransactionObserver:sharedPaymentsOberver];//   ///} 

рдЪрд▓рд┐рдП рдПрдХ PaymentsOberver рдХреНрд▓рд╛рд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ред
 #import <Foundation/Foundation.h> #import <StoreKit/StoreKit.h> @interface PaymentsObserver : NSObject <SKPaymentTransactionObserver,SKProductsRequestDelegate,SKRequestDelegate> - (void)requestProductData:(NSString*)ofProduct; - (BOOL)validateReceipt; @end 


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рдЙрддреНрдкрд╛рдж рдЕрдиреБрд░реЛрдз рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕ рдЙрддреНрдкрд╛рдж рдЖрдИрдбреА рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ, рд╡рд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрддреНрдкрд╛рджреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
 - (void)requestProductData:(NSString*)ofProduct { if ([SKPaymentQueue canMakePayments])//,      { NSLog(@"Request Began"); SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject:ofProduct]]; request.delegate = self; [request start]; } else { UIAlertView *noPayment = [[UIAlertView alloc]initWithTitle:NSLocalizedString(@"You can't make payments", nil ) message:NSLocalizedString(@"Enable payments in your account settings,please", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Ok", nil) otherButtonTitles: nil]; [noPayment show]; } } 


рдЕрдиреБрд░реЛрдз рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рд╣рдо рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ SKProductRequestDelegate рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗред
 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { NSArray *myProduct = response.products; if ([response.products count]) { SKPayment *payment = [SKPayment paymentWithProduct:[myProduct lastObject]]; [[SKPaymentQueue defaultQueue] addPayment:payment]; } } 

рдЗрд╕рдореЗрдВ, рд╣рдо рдкрд░рд┐рдгрд╛рдореА рдЙрддреНрдкрд╛рдж рдХреЛ рд▓реЗрдирджреЗрди рдХрддрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред Apple рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдбреАрд▓ рдХрд░рддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдЦрд┐рдбрд╝рдХреА рдлреЗрдВрдХрддреЗ рд╣реБрдП рдЙрд╕рд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣ рдЦрд░реАрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ SKPaymentTransactionObserver рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ, рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд▓реЗрди-рджреЗрди рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рд╣рдо рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рд░рд╕реАрдж рдХреЛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрддреЗ рд╣реИрдВред
 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { for (SKPaymentTransaction *transaction in transactions) { switch (transaction.transactionState) { case SKPaymentTransactionStatePurchased: [self completeTransaction:transaction]; break; case SKPaymentTransactionStateFailed: [self failedTransaction:transaction]; break; case SKPaymentTransactionStateRestored: [self restoreTransaction:transaction]; default: break; } } } 


рд╣рдорд╛рд░реА рд░рд╕реАрдж рдХреЗ рд╕рдлрд▓ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░, рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдХрддрд╛рд░ рд╕реЗ рд▓реЗрди-рджреЗрди рдХреЛ рд╣рдЯрд╛ рджреЗрдВред

 - (void)completeTransaction:(SKPaymentTransaction *)transaction { if ([self validateReceipt:transaction.transactionReceipt]) { [self provideContent: transaction.payment.productIdentifier]; // Remove the transaction from the payment queue. [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; } } 


рд╕рджрд╕реНрдпрддрд╛ рдЕрд╡рдзрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рдмрд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдФрд░ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд╡реАрдиреАрдХреГрдд рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдпрд╣ рд╕рдм, рдпрд╣, рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ!

Source: https://habr.com/ru/post/In148318/


All Articles