Per questi motivi, il Tribunale federale delle assicurazioni
p r o n u n c i a :
I. Il ricorso di diritto amministrativo è accolto, il
giudizio querelato 28 aprile 1998 essendo annullato.
II. Non si percepiscono spese giudiziarie.
III. La domanda di assistenza giudiziaria dell'opponente è
accolta. La Cassa del Tribunale rifonderà alla patrocinatrice
dell'interessato fr. 2'500.- (comprensivi
dell'imposta sul valore aggiunto) a titolo di patrocinio
per la procedura federale.
IV. La presente sentenza sarà intimata alle parti, al Tribunale
cantonale delle assicurazioni, Lugano, e all'Ufficio
federale delle assicurazioni sociali.