This website uses cookies to improve the user experience, more information on the legal information path.
Notas
0
anos
0
meses
0
días
0
horas
0
minus
0
segus
00
2
Fai un contador de visitas con google analytics
Non é necesario facer un sistema complexo para contar as vistas do teu blogue. Pode usar Google Analytics para facelo, non necesita conservar os datos nunha base de datos.
Aquí non explicamos como crear unha conta de Google analytics, podes seguir este titorial para facelo.
1. Crea un endpoint para obter os datos usando a clase BetaAnalyticsDataClient
.analytics.ts
export default async function handler(req: NextApiRequest, res: NextApiResponse<Data>) {
const { query } = req;
const { slug = '/' } = query;
const analyticsDataClient = new BetaAnalyticsDataClient({
Non é necesario facer un sistema complexo para contar as vistas do teu blogue. Pode usar Google Analytics para facelo, non necesita conservar os datos nunha base de datos, pode usar a API de Google Analytics para obter os datos.
Aquí non explicamos como crear unha conta de Google Analytics, podes seguir este titorial para facelo.
1. Cre un punto final para obter os datos usando a clase BetaAnalyticsDataClient
ViewCounter.tsx
type Props = {
children?: React.ReactNode;
};
const Container = ({ children }: Props) => {
return (
<div className={styles.views} title="Number of views in this post from Google analytics">
<BsBook />
{children}
</div>
);
};
const StarCounter = () => {
const [views, setViews] = React.useState(-1);
const { asPath } = useRouter();
React.useEffect(() => {
(async () => {
try {
const { total } = await fetch(`/api/analytics?slug=${asPath}`).then((res) => res.json());
setViews(total);
} catch (e) {
setViews(-2);
}
})();
}, [asPath]);
if (views === -2)
return (
<Container>
<RxCross2 className={styles.error} title="Error on endpoint" />