рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ рдФрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдорд╛рд░реЗрдВ рдирд╣реАрдВ

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

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

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

рдкреНрд░рдпрд╛рд╕ рдирдВрдмрд░ 1


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

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

рдЫрд╡рд┐
рдЪрд┐рддреНрд░рд╛ 1. рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдХреНрд░реАрди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ

рдкреНрд░рдпрд╛рд╕ рдирдВрдмрд░ 2


рдФрд░ рдЕрдЧрд░ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪреА рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рддрдХ рдИрд╡реЗрдВрдЯ рднреЗрдЬрдирд╛ рд╕реНрдердЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рд╣рдореНрдо, рдЯреАрдо рдиреЗ рд╕реЛрдЪрд╛, рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рдХрддрд╛рд░ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднреЗрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ: рд╣рдо OnScrollListener рдХреЛ RecyclerView рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдирдпрд╛рд╕реНрдЯреЗрдЯ рдлреНрд▓реИрдЯ SCROLL_STATE_IDLE рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ - рд╕рдорд╕реНрдпрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред

class IdleStateScrollListener(private val analyticsFacade: AnalyticsFacade) : RecyclerView.OnScrollListener() { fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { analyticsFacade.setPending(newState != RecyclerView.SCROLL_STATE_IDLE) } } 

рдЕрдЧрд▓рд╛ рдХрджрдо рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рдВрдЪрдп рдФрд░ рдЙрдирдХреЗ рдкреНрд░реЗрд╖рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред

рдХрддрд╛рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ рдЬреЛ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХрддрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдерд╛ред рд╕рдордп-рд╕рдордп рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рд╢реЗрдбреНрдпреВрд▓реНрдб рдХреЗ рд╕рд╛рде рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЧрдП рд░рди рдереНрд░реЗрдбреЗрдмрд▓ рдХреЗ рд╕рд╛рде рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛, рд╕рдордп рдХреЛ рдЖрдиреБрднрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред

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

рдЫрд╡рд┐
рдЪрд┐рддреНрд░рд╛ 2. рджреВрд╕рд░реЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд╛рдж рд╕реНрдХреНрд░реАрди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ

рдкреНрд░рдпрд╛рд╕ рдирдВрдмрд░ 3


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

рдЫрд╡рд┐

рдЪрд┐рддреНрд░рд╛ 3. рддреАрд╕рд░реЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд╛рдж рд╕реНрдХреНрд░реАрди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ

рдирд┐рд╖реНрдХрд░реНрд╖


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

рдХреНрдпрд╛ рдХреБрдЫ рдФрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛?


рд╣рдорд╛рд░реА рдЯреАрдо рддреАрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдмрд╕ рдЧрдИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдРрд╕реА рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

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


All Articles