Как интегрировать moengage в приложение ReactJs? - PullRequest
0 голосов
/ 04 сентября 2018

Кто-нибудь из вас успешно интегрировал Moengage в ReactJs? Я попытался сделать это, поместив это внутри тега <head> в index.html шаблона HTMLWebpackPlugin.

<script type="text/javascript">
    (function(i,s,o,g,r,a,m,n){
        i['moengage_object']=r;t={}; q = function(f){return function(){(i['moengage_q']=i['moengage_q']||[]).push({f:f,a:arguments});};};
        f = ['track_event','add_user_attribute','add_first_name','add_last_name','add_email','add_mobile',
        'add_user_name','add_gender','add_birthday','destroy_session','add_unique_user_id','moe_events','call_web_push','track','location_type_attribute'];
        for(k in f){t[f[k]]=q(f[k]);}
        a=s.createElement(o);m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m);
        i['moe']=i['moe'] || function(){n=arguments[0];return t;}; a.onload=function(){if(n){i[r] = moe(n);}};
    })(window,document,'script','https://cdn.moengage.com/webpush/moe_webSdk.min.latest.js','Moengage'); 
</script>

Я поместил конфигурацию moengage в файл с именем 'moengage.js'. Так что я могу легко импортировать и использовать его в других файлах.

export const Moengage = moe({
    app_id:"APP ID",
    debug_logs: 0
});

Затем я использую его в другом файле

import { Moengage } from '../config/moengage.js'

...
Moengage.track_event('Loan_Data', {
      'loan_name': 'Example name',
      'loan_type_id': 123,
})

К сожалению, моя не работает. Вы когда-нибудь пробовали использовать ReactJs? Любая помощь будет отличной. Спасибо

1 Ответ

0 голосов
/ 05 сентября 2018

Переменная moe доступна в окне, поэтому ее помещение в файл конфигурации не будет работать. Сценарий инициализации должен быть помещен в тег <head>.

Вы можете получить доступ к переменной moe через window, где это необходимо. В вашем конфигурационном файле вы можете попробовать что-то вроде этого: export const Moengage = window.moe({ app_id:"APP ID", debug_logs: 0 });

PS. Я разрабатываю Web SDK в MoEngage. Пожалуйста, не стесняйтесь обращаться к нам по адресу support@moengage.com для любых дальнейших запросов.

...