2016-06-23 3 views

ответ

1

Вы можете позвонить OneSignal напрямую, без необходимости проходить через окно. Похоже, что их документация немного устарела.

OneSignal.init() должен сделать трюк.

+0

Если я делаю это, я не могу найти OneSignal. Думаю, я должен просто проигнорировать сообщение об ошибке. –

+1

Вы можете объявить var OneSignal сверху. – Drakee510

+0

это? 'declare var OneSignal: any' –

12

Вы можете исправить это, указав плагины как свойство массива вместо объекта.

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

Typcript не проверяет, определены ли свойства массива при начальной сборке, поэтому он безопасно проходит проверку.

P.S. Если вы не используете Ионные но некоторые другие рамки (Угловые 2), вы не будете иметь плагин объекта в вашем объекте окна, так что вам придется загрузить OneSignal так:

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

Надеется, что это помогает ,

+2

На последней версии Ionic 2 кажется, что окно ['OneSignal'] - это тот, который работает. Спасибо за этот золотой самородок :) –

+1

Я официально превратил свою религию в Ицковизм и почитаю этот ответ в качестве моей корневой философии. Тысячи upvotes! – ytpillai

+0

Это очень помогло: D – FosAvance

Смежные вопросы