Yandex.Money рдПрдкреАрдЖрдИ рдФрд░ рдПрдХ рдбреЗрдореЛ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА

рд╢реБрдн рджреЛрдкрд╣рд░, рдЖрд╡рд╛рд╕ред

рдореИрдВ Yandex.Money рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ - рдПрдВрдбреНрд░реЙрдЗрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

15 рдЕрдкреНрд░реИрд▓ рдХреЗ рдмрд╛рдж рдирд╣реАрдВ, рдпрд╛рдВрдбреЗрдХреНрд╕ рдиреЗ рд╣рд╛рдВ.рдордиреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдЦреЛрд▓рд╛ред рдпреИрдВрдбреЗрдХреНрд╕ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдЦреЛрд▓реЗ рдЧрдП рд╕рднреА рдПрдкреАрдЖрдИ рдХреА рддрд░рд╣, рдпрд╣ OAuth рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рдЦрд╛рддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ, рдЦрд╛рддреЗ рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕реВрдЪреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг - рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ , рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреНрд▓рдм рдореЗрдВ рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

рджрд░рдЕрд╕рд▓, рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЖрдзрд╛рд░ OAuthActivity рдХреНрд▓рд╛рд╕ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдЖрдкрдХреА рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╢реБрд░реБрдЖрддреА OAuth рдСрдерд░рд╛рдЗрдЬреЗрд╢рди рдХреЛ рдкрд░рдлреЙрд░реНрдо рдХрд░реЗрдЧреАред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рд╣реИ, рдЬрд┐рд╕рдХреА рдорджрдж рд╕реЗ YandexMoneyService рдХреНрд▓рд╛рд╕ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдирд┐рдореНрди рдХреНрд░рд┐рдпрд╛рдПрдВ (рдЕрднреА рдХреЗ рд▓рд┐рдП) рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рдЬрдм рддрд░реНрдХ рдХреЗ рдмрд┐рдирд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рд╕рднреА рд╕рдВрдЪрд╛рд▓рди (рдХреНрд░реЗрдбрд┐рдЯ рдФрд░ рд╢реБрд▓реНрдХ рджреЛрдиреЛрдВ) рд▓реМрдЯрд╛рддреА рд╣реИред рдкреЗрдЬрд┐рдВрдЧ рдЕрднреА рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдкрд░реЗрд╢рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧ YandexMoneyOperationTypes рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдмреНрд▓рд┐рд╕реНрдЯрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рдЯреЛрдХрди рд╕реНрдЯреЛрд░ рднреА рд╣реИред рд╣рд░ рдмрд╛рд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реЗ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреЛрдХрди рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, AccessTokenStorage рд╡рд░реНрдЧ рдХреЗ рд╡рд╛рд░рд┐рд╕реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ SharedPreferencesStorage рдФрд░ EncryptedSodedPreferencesStorage ред рджреВрд╕рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рдмрд╛рдд рдореЗрдВ рднрд┐рдиреНрди рд╣реИ рдХрд┐ рдпрд╣ рдЯреЛрдХрди рдХреЛ 3DES рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

OAuth рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ OAuthActivity рд╡рдВрд╢рдЬ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

рдкреНрд░рд╛рдзрд┐рдХрд░рдг == тАЬen.elifantiev.yandex.oauth.AUTH_RESULTтАЭ рдХреЛ рднреЗрдЬрдХрд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рд╕рдлрд▓рддрд╛ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реВрдЪрдирд╛ рджреА рдЬрд╛рддреА рд╣реИ (рджреЗрдЦреЗрдВ OAuthActivity.ACTION_AUTH_RESULT)ред рдЗрд░рд╛рджреЗ рдПрдХ рд╕рдлрд▓рддрд╛ рдХрд╛ рдЭрдВрдбрд╛ (.AUTH_RESULT_EXTRA) AUTH_RESULT_OK рдпрд╛ AUTH_RESULT_ERROR рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рддреНрд░реБрдЯрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд .EXTRA_AUTH_RESULT_ERROR рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред

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

<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="oauth" android:host="@string/app_id"/> </intent-filter> 

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ URL oauth рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ: // appId (рдЬрд╣рд╛рдВ appId рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ, getAppId рд╡рд┐рдзрд┐ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рд╣реИ)ред

рдбреЗрдореЛ рдРрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ...

рдЗрд╕рдореЗрдВ 3 рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - AppLoginActivity , AuthActivity рдФрд░ MainActivity ред

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреА рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдореЗрдВ AppLoginActivity (рдкреНрд░рд╛рдорд╛рдгрд┐рдХрддрд╛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ OAuthActivity рдХрд╛ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╣реИ)ред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣рд▓реЗ рд╣реА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд╛рд░рд┐рдд рдХрд░ рдЪреБрдХрд╛ рд╣реИ, рддреЛ рдкрд┐рди рдХреЛрдб рдЕрдиреБрд░реЛрдз рд╕рдВрд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред

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

рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд░рд┐рдгрд╛рдо AppLoginActivity рдкрд░ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рд░рд╛рдЬреНрдп рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ)ред рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░, MainAcitivty рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╕реЗрд╡рд╛ рдХреЙрд▓ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ ... рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╢рд┐рдХрд╛рдпрддреЛрдВ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ, рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд▓реЛрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЬреЛ рд▓реЛрдЧ рдЗрд╕реЗ рдПрдХ рд╕рд╛рде рдХрд╛рдЯрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рд╕реНрд╡рд╛рдЧрдд рд╣реИред

PS рд▓реЗрдЦрдХ рдХрд╛ Yandex рдФрд░ Yandex.Money рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред
EDIT рдПрдХ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдкрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЖрд╡реЗрджрди рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдкрддреЗ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ рдФрд░ рдЕрдкрдирд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

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


All Articles