adblock.service.ts
import { Injectable } from '@angular/core';
@Injectable({ providedIn: 'root' })
export class AdblockService {
public detect(): Promise<boolean> {
return new Promise((resolve) => {
const script = document.createElement('script');
script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
script.async = true;
script.onload = (): void => resolve(false);
script.onerror = (): void => resolve(true);
document.body.appendChild(script);
});
}
}
app.component.ts
private readonly _adblockService = inject(AdblockService);
public ngOnInit(): void {
this._adblockService.detect().then((isBlocked) => {
if (isBlocked) {
console.log('AdBlock true');
this.adBlockModal();
} else {
console.log('AdBlock false');
}
})
}