Преглед на файлове

修改多语言加入追踪

PigTech преди 2 години
родител
ревизия
d27a6dab5a

+ 1 - 1
src/api/request.js

@@ -42,7 +42,7 @@ const service = axios.create({
     timeout: 10000, // Request timeout
     retry:2,//重复5次
     retryDelay:1000,
-    compress:true
+    compress:false
 });
 //出错重试 retry
 const checkRetryRequest=(error)=>{

+ 12 - 0
src/features/actions/hallClient.js

@@ -2,6 +2,8 @@ import {APP_SERVER} from "@constants/app";
 import {connectServer, disconnectServer, onDisconnect, sendToServer} from "@features/socketSlice";
 import {reqGameInfo} from "@features/api";
 import {updatePayFinish} from "@features/paySlice";
+import {trackEvent} from "../../tracking/TrackAll";
+
 const roomName=APP_SERVER.ROOM_HALL;
 const serverUrl=APP_SERVER.SERVER_URL;
 //信息处理
@@ -25,7 +27,17 @@ const roger=(message,dispatch)=>{
             }
             case "call_client":{
                 //调用客户端接口,比如将进入游戏的客户端踢出返回,强制登出等 message={cmd:"",data:{}}
+                if(!!message.data&&!!message.data.type){
+                    let {data}=message;
+                    switch(message.data.type){
+                        case "track":{
+                            trackEvent(data.event,data.params)
+                            break;
+                        }
+                    }
+
 
+                }
                 break;
             }
         }

+ 10 - 2
src/features/mainSlice.js

@@ -1,3 +1,4 @@
+import { fb_setPixelID } from "../tracking/FacebookPixel"
 import {createAsyncThunk, createSlice} from "@reduxjs/toolkit";
 import {routes} from "@db/routes";
 import {
@@ -151,8 +152,15 @@ const reducerRoutes=(state,action)=>{
         let conf=json.conf;
         let hallServerUrl='';
         if (conf){
-            if (conf.hall)hallServerUrl=conf.hall;
-            if (conf.DOLLAR!=null)global.DOLLAR=conf.DOLLAR;
+            if (!!conf.hall)hallServerUrl=conf.hall;
+            if (!!conf.DOLLAR)global.DOLLAR=conf.DOLLAR;
+            global.pf=conf.pf;
+            //平台配置
+            if(!!conf.pf&&!!conf.pf.id){
+                if(conf.pf.type==="fb"){
+                    fb_setPixelID(conf.pf.id);
+                }
+            }
         }
         Object.assign(state, {routes:state.routes,asyncRoutes:data,styles:styles,blocks:blocks,...generData,isLogin:isLogin,userInfo:userInfo,hallServerUrl:hallServerUrl});
     }

+ 9 - 9
src/locales/languages/en_US.json

@@ -4,9 +4,9 @@
     "menu_title": {
       "settings": "Settings",
       "toppicks": "Top Picks",
-      "agent": "Agent",
+      "agent": "Agent Cash",
       "cashwheel": "CashWheel",
-      "rain": "MoneyRain"
+      "rain": "Cash Rain"
     },
     "route_title": {
       "activity": "All activities",
@@ -36,7 +36,7 @@
     "quest": "QUEST",
     "spin": "SPIN",
     "log_out": "Log out",
-    "check_in": "CHECK IN"
+    "check_in": "DAILY BONUS"
   },
   "tab": {
     "withdraw": "Withdraw",
@@ -546,7 +546,7 @@
     "take":"Take",
     "getMore":"Get More Chips",
     "nota":"You are not a",
-    "title": "All Bonus Days",
+    "title": "Every Day Bonus",
     "day1": "DAY 1",
     "day2": "DAY 2",
     "day3": "DAY 3",
@@ -621,11 +621,11 @@
       "payment_error": "Payment Error"
     },
     "checkin": {
-      "user_signin_error": "Failed to get user sign-in information",
-      "user_already_signed_in": "You have already signed in today",
-      "signin_event_ended": "The sign-in activity has ended",
-      "signin_data_error": "Failed to read sign-in data",
-      "recharge_required": "Recharge is required to sign in",
+      "user_signin_error": "Failed to get user daily bonus information",
+      "user_already_signed_in": "You have already got bonus today",
+      "signin_event_ended": "The daily bonus activity has ended",
+      "signin_data_error": "Failed to read daily bonus data",
+      "recharge_required": "Recharge is required to daily bonus",
       "unknown_error": "Unknown error",
       "exception_occurred": "An error occurred while processing your request"
     }

+ 7 - 7
src/locales/languages/es_MX.json

@@ -19,7 +19,7 @@
       "msg": "Mensaje",
       "agent_policy": "Política de Agente",
       "cashwheel": "Recibe R$100 gratis",
-      "check_in": "Bono todos los días"
+      "check_in": "Bono Diario"
     },
     "casino": "Casino",
     "slots": "Tragamonedas",
@@ -536,7 +536,7 @@
     "take": "Tomar",
     "getMore": "Obtener Más Fichas",
     "nota": "No eres",
-    "title": "Todos los Días de Bono",
+    "title": "Bono Todos Los Días",
     "day1": "DÍA 1",
     "day2": "DÍA 2",
     "day3": "DÍA 3",
@@ -611,11 +611,11 @@
       "payment_error": "Error de pago"
     },
     "checkin": {
-      "user_signin_error": "Error al obtener información de inicio de sesión del usuario",
-      "user_already_signed_in": "Ya has iniciado sesión hoy",
-      "signin_event_ended": "La actividad de inicio de sesión ha terminado",
-      "signin_data_error": "Error al leer los datos de inicio de sesión",
-      "recharge_required": "Se requiere recarga para iniciar sesión",
+      "user_signin_error": "Error al obtener información de bonificación diaria del usuario",
+      "user_already_signed_in": "Ya has recibido el bono hoy",
+      "signin_event_ended": "La actividad de bonificación diaria ha terminado",
+      "signin_data_error": "Error al leer los datos de bonificación diaria",
+      "recharge_required": "Se requiere recarga para obtener el bono diario",
       "unknown_error": "Error desconocido",
       "exception_occurred": "Ocurrió un error al procesar su solicitud"
     }

+ 9 - 9
src/locales/languages/pt_BR.json

@@ -2,9 +2,9 @@
   "links": {
     "home": "Início",
     "menu_title": {
-      "agent": "Agente",
+      "agent": "Agente R$",
       "cashwheel": "GrátisR$100",
-      "rain": "R$ Chuva"
+      "rain": "FundosChuva"
     },
     "route_title": {
       "activity": "Todas as atividades",
@@ -19,7 +19,7 @@
       "msg": "Mensagem",
       "agent_policy": "Política de Agente",
       "cashwheel": "Receba R$100 grátis",
-      "check_in": "Todos Os Dias Bônus"
+      "check_in": "Bônus Diário"
     },
 
     "casino": "Cassino",
@@ -537,7 +537,7 @@
     "take": "Pegar",
     "getMore": "Obter Mais Fichas",
     "nota": "Você não é um",
-    "title": "Todos os Dias de Bônus",
+    "title": "Todos Os Dias Bônus",
     "day1": "DIA 1",
     "day2": "DIA 2",
     "day3": "DIA 3",
@@ -612,11 +612,11 @@
       "payment_error": "Erro de pagamento"
     },
     "checkin": {
-      "user_signin_error": "Falha ao obter informações de login do usuário",
-      "user_already_signed_in": "Você já fez login hoje",
-      "signin_event_ended": "A atividade de login terminou",
-      "signin_data_error": "Falha ao ler os dados de login",
-      "recharge_required": "É necessário recarregar para fazer login",
+      "user_signin_error": "Falha ao obter informações diárias de bônus do usuário",
+      "user_already_signed_in": "Você já recebeu bônus hoje",
+      "signin_event_ended": "A atividade de bônus diário terminou",
+      "signin_data_error": "Falha ao ler os dados diários de bônus",
+      "recharge_required": "É necessário recarregar para receber o bônus diário",
       "unknown_error": "Erro desconhecido",
       "exception_occurred": "Ocorreu um erro ao processar sua solicitação"
     }

+ 7 - 7
src/locales/languages/ru_RU.json

@@ -19,7 +19,7 @@
       "msg": "Сообщение",
       "agent_policy": "Агентская политика",
       "cashwheel": "Получите 100 R$ бесплатно",
-      "check_in": "Все бонусные дни"
+      "check_in": "БОНУС В ДЕНЬ"
     },
     "casino": "Казино",
     "slots": "Слоты",
@@ -536,7 +536,7 @@
     "take": "Взять",
     "getMore": "Получить больше фишек",
     "nota": "Вы не",
-    "title": "Все бонусные дни",
+    "title": "Бонус каждый день",
     "day1": "ДЕНЬ 1",
     "day2": "ДЕНЬ 2",
     "day3": "ДЕНЬ 3",
@@ -611,11 +611,11 @@
       "payment_error": "Ошибка платежа"
     },
     "checkin": {
-      "user_signin_error": "Не удалось получить информацию о входе пользователя",
-      "user_already_signed_in": "Вы уже вошли сегодня",
-      "signin_event_ended": "Событие входа завершено",
-      "signin_data_error": "Не удалось прочитать данные входа",
-      "recharge_required": "Для входа требуется пополнение",
+      "user_signin_error": "Не удалось получить информацию о ежедневных бонусах пользователя",
+      "user_already_signed_in": "Вы уже получили бонус сегодня",
+      "signin_event_ended": "Активность ежедневного бонуса завершена",
+      "signin_data_error": "Не удалось прочитать данные ежедневного бонуса",
+      "recharge_required": "Для получения ежедневного бонуса требуется пополнение",
       "unknown_error": "Неизвестная ошибка",
       "exception_occurred": "Произошла ошибка при обработке вашего запроса"
     }

+ 7 - 7
src/locales/languages/zh_TW.json

@@ -19,7 +19,7 @@
       "msg": "消息",
       "agent_policy": "代理政策",
       "cashwheel": "免費獲得R$100",
-      "check_in": "所有獎勵日"
+      "check_in": "每日獎金"
     },
     "casino": "賭場",
     "slots": "老虎機",
@@ -536,7 +536,7 @@
     "take": "領取",
     "getMore": "獲得更多籌碼",
     "nota": "您不是",
-    "title": "所有獎金天數",
+    "title": "每日獎勵",
     "day1": "第1天",
     "day2": "第2天",
     "day3": "第3天",
@@ -611,11 +611,11 @@
       "payment_error": "支付錯誤"
     },
     "checkin": {
-      "user_signin_error": "獲取用戶簽到信息失敗",
-      "user_already_signed_in": "您今天已經簽到過了",
-      "signin_event_ended": "簽到活動已結束",
-      "signin_data_error": "讀取簽到數據失敗",
-      "recharge_required": "簽到需要充值",
+      "user_signin_error": "獲取用戶每日獎金信息失敗",
+      "user_already_signed_in": "您今天已經獲得獎金",
+      "signin_event_ended": "每日獎金活動已結束",
+      "signin_data_error": "讀取每日獎金數據失敗",
+      "recharge_required": "每日獎金需要充值",
       "unknown_error": "未知錯誤",
       "exception_occurred": "處理您的請求時發生錯誤"
     }

+ 66 - 0
src/tracking/FacebookPixel.js

@@ -0,0 +1,66 @@
+// FacebookPixel.js
+import React, { useEffect } from "react";
+export const fb_setPixelID = (pixelID) => {
+    if (!pixelID) return;
+
+    !(function (f, b, e, v, n, t, s) {
+        if (f.fbq) return;
+        n = f.fbq = function () {
+            n.callMethod
+                ? n.callMethod.apply(n, arguments)
+                : n.queue.push(arguments);
+        };
+        if (!f._fbq) f._fbq = n;
+        n.push = n;
+        n.loaded = !0;
+        n.version = "2.0";
+        n.queue = [];
+        t = b.createElement(e);
+        t.async = !0;
+        t.src = v;
+        s = b.getElementsByTagName(e)[0];
+        s.parentNode.insertBefore(t, s);
+    })(
+        window,
+        document,
+        "script",
+        "https://connect.facebook.net/en_US/fbevents.js"
+    );
+    fbq('set', 'autoConfig', false, pixelID);
+    fbq("init", pixelID);
+    fbq("track", "PageView");
+};
+
+const standardEvents = [
+    'PageView',
+    'ViewContent',
+    'Search',
+    'AddToCart',
+    'AddToWishlist',
+    'InitiateCheckout',
+    'AddPaymentInfo',
+    'Purchase',
+    'Lead',
+    'CompleteRegistration'
+];
+// fbPixel.js
+export const fb_trackPageView = () => {
+    if (window.fbq) {
+        window.fbq('track', 'PageView');
+    }
+};
+
+/**
+ * fbq('trackCustom', "firstpayD0", {external_id: data.udid})
+ * @param eventName
+ * @param params
+ */
+export const fb_trackEvent = (eventName, params) => {
+    if (window.fbq) {
+        if (standardEvents.includes(eventName)) {
+            window.fbq('track', eventName, params);
+        }else{
+            window.fbq('trackCustom', eventName, params);
+        }
+    }
+};

+ 14 - 0
src/tracking/TrackAll.js

@@ -0,0 +1,14 @@
+import {fb_trackEvent,fb_trackPageView} from "./FacebookPixel";
+
+
+export const trackPageView = () => {
+    if (window.fbq&&global.pf&&global.pf.type==='fb') {
+        fb_trackEvent();
+    }
+};
+
+export const trackEvent = (eventName, params) => {
+    if (window.fbq&&global.pf&&global.pf.type==='fb') {
+        fb_trackEvent(eventName, params);
+    }
+};