Rewarded-Anzeigen
Belohnte Anzeigen ermöglichen die Vergabe von Gegenständen innerhalb der Anwendung für die Interaktion mit Videoanzeigen, spielbaren Anzeigen oder Umfragen. Googles Anleitungen für belohnte Anzeigen unter Android und iOS erklären das Format.
Behandeln Sie belohnte Anzeigen als Belohnungsablauf, nicht als weiteres unbelohntes Interstitial. Führen Sie dies nach Initialisierung und Einwilligung aus. Gewähren Sie die Belohnung ausschließlich anhand des zurückgegebenen Ergebnisses oder des Ereignisses Rewarded, nicht anhand von Dismissed.
Belohntes Video
Verwenden Sie eine belohnte Anzeige für einen gezielten Belohnungsablauf.
import {
AdLoadInfo,
AdMob,
AdMobRevenueData,
AdMobRewardItem,
RewardAdOptions,
RewardAdPluginEvents,
} from '@capacitor-community/admob';
await AdMob.addListener(RewardAdPluginEvents.Loaded, (info: AdLoadInfo) => {
console.log('Rewarded ad loaded', info.adUnitId);
});
await AdMob.addListener(RewardAdPluginEvents.FailedToLoad, console.error);
await AdMob.addListener(RewardAdPluginEvents.Rewarded, (reward: AdMobRewardItem) => {
console.log('Reward earned', reward.amount, reward.type);
});
await AdMob.addListener(RewardAdPluginEvents.AdImpression, (data: AdMobRevenueData) => {
console.log(data);
});
const options: RewardAdOptions = {
adId: 'YOUR_AD_UNIT_ID',
// isTesting: true,
// npa: true,
// immersiveMode: true,
// ssv: {
// userId: 'USER_ID',
// customData: JSON.stringify({ placement: 'bonus' }),
// },
};
await AdMob.prepareRewardVideoAd(options);
const rewardItem = await AdMob.showRewardVideoAd();
// Die Belohnung einmal vergeben: anhand dieses Ergebnisses oder des Rewarded-Ereignisses, nicht beider.
console.log(rewardItem);
method prepareRewardVideoAd(...)
Lädt eine Rewarded-Anzeige und gibt die Kennung des geladenen Anzeigenblocks zurück.
prepareRewardVideoAd(options: RewardAdOptions) => Promise<AdLoadInfo>
method showRewardVideoAd(...)
Zeigt eine geladene Rewarded-Anzeige an und wird aufgelöst, wenn der Nutzer die Belohnung erhält.
showRewardVideoAd(options?: AdShowOptions | undefined) => Promise<AdMobRewardItem>
interface RewardAdOptions
Optionen zum Laden einer Rewarded-Anzeige.
| Eigenschaft | Typ | Beschreibung | Standard | Seit |
|---|---|---|---|---|
ssv |
AtLeastOne<{ /** * A user identifier passed to the SSV callback. */ userId: string; /** * Custom data passed to the SSV callback. */ customData: string; }> |
Optionen für die serverseitige Verifizierung einer Rewarded-Anzeige. Mindestens einen der Werte userId oder customData angeben. |
||
adId |
string |
Kennung des zu ladenden Anzeigenblocks. | 1.1.2 | |
isTesting |
boolean |
Ob eine Testanzeige angefordert werden soll. | false | 1.1.2 |
margin |
number |
Bannerabstand in logischen Anzeigeeinheiten (dp unter Android und Punkte unter iOS). Bei BOTTOM_CENTER ist dies der untere Abstand, bei TOP_CENTER der obere. |
0 | 1.1.2 |
npa |
boolean |
Ob nicht personalisierte Anzeigen angefordert werden sollen. | false | 1.2.0 |
immersiveMode |
boolean |
Ob eine Vollbildanzeige unter Android im immersiven Modus angezeigt werden soll. | 7.0.3 |
interface AdMobRewardItem
Belohnung, die der Nutzer nach dem Ansehen einer Rewarded-Anzeige erhalten hat.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
type |
string |
Für den Anzeigenblock konfigurierter Typ des Belohnungsartikels. |
amount |
number |
Vom Nutzer erhaltener Belohnungsbetrag. |
Ohne adId an showRewardVideoAd() wird die zuletzt vorbereitete Anzeige gezeigt.
Mehrere Anzeigen vorbereiten
await AdMob.prepareRewardVideoAd({ adId: 'ca-app-pub-xxx/reward-1' });
await AdMob.prepareRewardVideoAd({ adId: 'ca-app-pub-xxx/reward-2' });
const reward = await AdMob.showRewardVideoAd({ adId: 'ca-app-pub-xxx/reward-1' });
Belohntes Interstitial
Belohnte Interstitial-Anzeigen sind Vollbildanzeigen mit Anreiz, die an natürlichen Anwendungsübergängen erscheinen. Anders als bei belohnten Videos stimmt der Nutzer nicht vorher ausdrücklich zu. Googles Anleitungen für belohnte Interstitials unter Android und iOS erklären das Format.
Verwenden Sie ein belohntes Interstitial, wenn die Belohnungserfahrung an einen natürlichen Übergang der Anwendung gehört.
import {
AdMob,
AdMobRewardInterstitialItem,
RewardInterstitialAdOptions,
RewardInterstitialAdPluginEvents,
} from '@capacitor-community/admob';
await AdMob.addListener(RewardInterstitialAdPluginEvents.FailedToLoad, console.error);
const options: RewardInterstitialAdOptions = {
adId: 'YOUR_AD_UNIT_ID',
};
const { adUnitId } = await AdMob.prepareRewardInterstitialAd(options);
const rewardItem: AdMobRewardInterstitialItem = await AdMob.showRewardInterstitialAd({
adId: adUnitId,
});
console.log(rewardItem);
method prepareRewardInterstitialAd(...)
Lädt eine Rewarded-Interstitial-Anzeige und gibt die Kennung des geladenen Anzeigenblocks zurück.
prepareRewardInterstitialAd(options: RewardInterstitialAdOptions) => Promise<AdLoadInfo>
method showRewardInterstitialAd(...)
Zeigt eine geladene Rewarded-Interstitial-Anzeige an und wird aufgelöst, wenn der Nutzer die Belohnung erhält.
showRewardInterstitialAd(options?: AdShowOptions | undefined) => Promise<AdMobRewardInterstitialItem>
interface RewardInterstitialAdOptions
Optionen zum Laden einer Rewarded-Interstitial-Anzeige.
| Eigenschaft | Typ | Beschreibung | Standard | Seit |
|---|---|---|---|---|
ssv |
AtLeastOne<{ /** * A user identifier passed to the SSV callback. */ userId: string; /** * Custom data passed to the SSV callback. */ customData: string; }> |
Optionen für die serverseitige Verifizierung einer Rewarded-Interstitial-Anzeige. Mindestens einen der Werte userId oder customData angeben. |
||
adId |
string |
Kennung des zu ladenden Anzeigenblocks. | 1.1.2 | |
isTesting |
boolean |
Ob eine Testanzeige angefordert werden soll. | false | 1.1.2 |
margin |
number |
Bannerabstand in logischen Anzeigeeinheiten (dp unter Android und Punkte unter iOS). Bei BOTTOM_CENTER ist dies der untere Abstand, bei TOP_CENTER der obere. |
0 | 1.1.2 |
npa |
boolean |
Ob nicht personalisierte Anzeigen angefordert werden sollen. | false | 1.2.0 |
immersiveMode |
boolean |
Ob eine Vollbildanzeige unter Android im immersiven Modus angezeigt werden soll. | 7.0.3 |
interface AdMobRewardInterstitialItem
Belohnung, die der Nutzer nach dem Ansehen einer Rewarded-Interstitial-Anzeige erhalten hat.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
type |
string |
Für den Anzeigenblock konfigurierter Typ des Belohnungsartikels. |
amount |
number |
Vom Nutzer erhaltener Belohnungsbetrag. |
Informationen zu isTesting finden Sie unter Tests.
Serverseitige Verifizierung
Serverseitige Verifizierung (SSV) ermöglicht Ihrem Backend die Bestätigung einer verdienten Belohnung. Siehe Googles SSV-Dokumentation. Callbacks werden ausschließlich für Produktionsanzeigen ausgelöst. Testanzeigen rufen Ihren SSV-Endpunkt nicht auf.
Für die lokale Validierung der Nutzdaten ssv können Sie nach RewardAdPluginEvents.Rewarded eine simulierte Anfrage senden. Ersetzen Sie ENVIRONMENT_IS_DEVELOPMENT durch Ihr eigenes Entwicklungsflag:
const userId = 'USER_ID';
const customData = JSON.stringify({ placement: 'bonus' });
await AdMob.addListener(RewardAdPluginEvents.Rewarded, async () => {
if (!ENVIRONMENT_IS_DEVELOPMENT) {
return;
}
try {
const params = new URLSearchParams({
ad_network: 'TEST',
ad_unit: 'TEST',
custom_data: customData,
reward_amount: 'TEST',
reward_item: 'TEST',
timestamp: 'TEST',
transaction_id: 'TEST',
user_id: userId,
signature: 'TEST',
key_id: 'TEST',
});
await fetch(`https://your-staging-ssv-endpoint?${params.toString()}`);
} catch (err) {
console.error(err);
}
});