اذهب إلى المحتوى
  • 0

كيف أقوم بإستخدام google analytics في مشروع React؟

Adam Ebrahim

السؤال

عندما أقوم بعمل موقع عادي (ليس من نوع SPA) يمكنني أن أقوم بوضع كود Google analytics بدون مشكلة لأنه سيتم تشغيله في كل صفحة، لكن عندما أقوم بعمل مشروع SPA بإستخدام React فسيتم تنفيذ كود Google analytics مرة واحدة فقط حتى وإن قام المستخدم بالدخول إلى صفحة أخرى بإستخدام React-router. كيف أقوم بإخبار Google analytics بأن المستخدم قد ذهب إلى صفحة معينة حتى أستطيع عمل Tracking للصفحات التي يزورها المستخدمون؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك الإستعانة بهاته الحزمة لتحقيق الغرض.

  1. بداية قم بتثبيت الحزمة عن طريق مدير الحزم : 
npm install react-ga --save

    2. تضمين الموديلات اللازمة بملف App.js :

import ReactGA from "react-ga";

    3. مصادقة غوغل انالتكس مع الحزمة , أيضا قم بتعريف ثابت بشكل globally (سنأتي لإستعماله في الخطوة التالية): 

ReactGA.initialize("TRACKING-ID");
const history= createHistory(window);

 4. بداخل وسم LocationProvider بالراوتر قم بتعريف الخاصية history و قم بإرفاقها بالثابت الذي تم تعريفه على هذا النحو : 

<LocationProvider history={history}>
  <Router>
    ..
  </Router>
</LocationProvider>

الان يتم رصد أي تغيير يخص الكائن window . ينبغي الان فقط الإستماع لهاته التغيرات و التصرف بناءا عليها . 

مثال : 

history.listen( window => {
  ReactGA.pageview(window.location.pathname + window.location.search);
});

و هذا جواب سؤالك :

بتاريخ 47 دقائق مضت قال Adam Ebrahim:

 كيف أقوم بإخبار Google analytics بأن المستخدم قد ذهب إلى صفحة معينة حتى أستطيع عمل Tracking للصفحات التي يزورها المستخدمون؟

 

تم التعديل في بواسطة Adnane Kadri
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استخدام react-ga مع history قم بتثبيت المكتبات

npm i react-ga history -S

بعد ذلك  تحتاج ببساطة إلى استيراد الحزمة react-ga وتهيئتها في التطبيق الخاص بك.

import ReactGA from 'react-ga';

const trackingId = "XXXXXXXXXXXXX"; // قم بنسخ مفتاح التراكينغ الخاص بك
ReactGA.initialize(trackingId);

بعد ذلك ، نحتاج ببساطة إلى توصيل  المتصفح الخاص بك بال Router وGoogle Analytics 

import React from 'react';
import ReactDOM from 'react-dom';
import ReactGA from 'react-ga';
import { createBrowserHistory } from 'history';
import { Router } from 'react-router-dom';

const history = createBrowserHistory();


history.listen(location => {
  ReactGA.set({ page: location.pathname }); 
  ReactGA.pageview(location.pathname); 
});

const App = () => (
  <Router history={history}>
   .....
  </Router>
);

ReactDOM.render(<App />, document.getElementById('root'));

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...