2016-06-23 35 views

risposta

1

È possibile chiamare OneSignal direttamente senza dover passare attraverso la finestra. Sembra che la loro documentazione sia un po 'obsoleta.

OneSignal.init() dovrebbe fare il trucco.

+0

Se faccio quel Typescript si lamenta che non riesce a trovare OneSignal. Credo che dovrei semplicemente ignorare il messaggio di errore. –

+1

Si potrebbe dichiarare var OneSignal nella parte superiore. – Drakee510

+0

è questo? 'Dichiara var OneSignal: any' –

12

È possibile risolvere questo problema facendo riferimento ai plugin come proprietà di matrice anziché oggetto.

var OneSignalClient = window['plugins'].OneSignal.init() 

tipografico non verifica se le proprietà di matrice sono definiti sulla costruzione iniziale in modo che passa in modo sicuro l'ispezione.

P.S. Se non si sta usando ionico ma qualche altro quadro (angolare 2), non si avrà un plugin oggetto nell'oggetto finestra, quindi dovrete caricare OneSignal in questo modo:

let OneSignalClient = window['OneSignal'] || []; 

Spero che questo aiuti .

+2

Su Ionic 2 ultima versione sembra che la finestra ['OneSignal'] sia quella che funziona. Grazie per questa pepita d'oro :) –

+1

Ho ufficialmente convertito la mia religione in Itskovismo e venerare questa risposta come la mia filosofia di base. Mille upvotes! – ytpillai

+0

Questo ha aiutato molto: D – FosAvance

Problemi correlati