Thats a toughy, some canvas guys will tell you NOT to apply anything to the canvas and others will recommend stuff, The best answer to that is find out who made the canvas and call or email the company and ask what they recommend, because certain chemicals will react to stuff and dyes in the fabric, all I ever do is make sure the canvas CLEAN and dry before you put it away, dirt and airborn stuff kill the fibres of canvas and bird and spider droppings don't help much either so hence the clean part, all I use is a really mild dish soap rub really lightly with a SOFT brush, rinse well and let dry, the more dirt and sun you keep off of it of course the longer it will last.
Ask the manufacturer of the top or cover. This may not be the boat builder, most of whom buy canvas products from a subcontractor.
As an example, Sunbrella "canvas" is made by Glen Raven Mills. They recommend 303 Protectant. Other makers may have other recommendations