ブラウザのJSからIntercomのユーザーを作成・更新する (React編)

以前Node.jsから操作する方法を調べました。ただ、ブラウザの情報などを取得できないので、やはりブラウザから取得する方法を試したいと思います。 ユーザーを作成・更新するスクリプト すごくザックリ書くとこんな風になります […]

広告ここから
広告ここまで

目次

    以前Node.jsから操作する方法を調べました。ただ、ブラウザの情報などを取得できないので、やはりブラウザから取得する方法を試したいと思います。

    ユーザーを作成・更新するスクリプト

    すごくザックリ書くとこんな風になります。

    const canUseDOM = !!(
      (typeof window !== 'undefined' &&
      window.document && window.document.createElement)
    );
    
    if (canUseDOM && window.Intercom) {
      window.Intercom(
        'update',
        {
          app_id: 'APP_ID',
          email: '[email protected]'
        }
      )
    }

    実際にはwindow.Intercomwindow.document.createElementを待機する必要がありますので、whileとかでいい感じにしてやってください。

    Reactで実行する

    Reactの場合、componentのライフサイクルを使えばいい感じにできます。

    class Example extends Component {
      componentDidUpdate = () => {
        const { window } = this.props;
        const canUseDOM = !!((typeof window !== 'undefined' && window.document && window.document.createElement))
        if (canUseDOM && window.Intercom) {
          window.Intercom(
            'update',
            {
              app_id: 'APP_ID',
              email: '[email protected]'
            }
          )
        }
      },
      render = () => null; 
    }
    
    const Wrapper = () => <Example window={window} />

    実際に使っているコードとちょっと変えているので、うまく動かなかったらすみません。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark