如何将Moengage集成到ReactJs应用程序中?

时间:2018-09-04 14:20:32

标签: reactjs moengage

你们中的任何人是否成功将Moengage集成到ReactJs中?我通过将其放在HTMLWebpackPlugin模板的index.html上的<head>标记中来进行尝试。

<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 :(得分:1)

变量dynamic在窗口中可用,因此将其放在配置文件中将不起作用。初始化脚本必须放在moe标记中。

您可以根据需要通过<head>访问moe变量。在您的配置文件中,您可以尝试执行以下操作: window

PS。我在MoEngage开发了Web SDK。如有任何其他疑问,请随时通过support@moengage.com与我们联系。