Wenn Sie Anzeigen ausliefern und Einnahmen erzielen möchten, müssen Sie Google Mobile Ads SDK for React Native in Ihre React Native-App einbinden. In diesem Leitfaden wird beschrieben, wie Sie Google Mobile Ads SDK for React Native installieren und initialisieren und ein Anzeigenformat auswählen.
Vorbereitung
Bevor Sie fortfahren, benötigen Sie Folgendes:
- React Native 0.85.0 oder höher.
- Ein AdMob-Konto und eine App-ID. Informationen zum Abrufen einer App-ID finden Sie unter Eine App in AdMob einrichten.
Die folgenden Android-Elemente:
- Android API-Level 24 oder höher.
- Die aktuelle Version von Android Studio.
- Android-Gradle-Plug-in (AGP) Version 8.0 oder höher
Die folgenden iOS-Elemente:
- iOS-Version 13.0 oder höher.
- Xcode-Version 16.0 oder höher und aktivierte Befehlszeilentools.
- CocoaPods
Google Mobile Ads SDK for React Native installieren
So installieren Sie Google Mobile Ads SDK for React Native:
- Laden Sie den Ordner
gma-sdk-react-nativevon Google Drive herunter. Extrahieren Sie das ZIP-Archiv in ein separates Verzeichnis außerhalb Ihres Arbeitsverzeichnisses. Dadurch können Konflikte mit den Konfigurationsdateien Ihres Projekts vermieden werden.
Erstellen Sie im Stammverzeichnis Ihres Projekts ein
local_packages/-Verzeichnis.Kopieren Sie in diesem Verzeichnis die Datei
mobile-ads-0.1.0.tgz:mkdir -p local_packages cp EXTRACT_DIR/gma-sdk-react-native/google-mobile-ads/mobile-ads-0.1.0.tgz local_packages/Ersetzen Sie EXTRACT_DIR durch den Pfad zu dem Verzeichnis, in das Sie das Archiv extrahiert haben.
Installieren Sie das Paket mit Ihrem bevorzugten Paketmanager:
npm
npm install ./local_packages/mobile-ads-0.1.0.tgzGarn
yarn add ./local_packages/mobile-ads-0.1.0.tgz
Eigene App konfigurieren
Wenn Sie Ihre App mit Plattformabhängigkeiten konfigurieren möchten, fügen Sie Ihre AdMob-App-IDs der Datei app.json im Stammverzeichnis Ihres Projekts hinzu.
Verwenden Sie zum Testen die AdMob-Beispiel-App-IDs aus dem folgenden Beispiel:
{
"name": "APP_NAME",
"displayName": "APP_NAME",
"googleMobileAds": {
"android_app_id": "ca-app-pub-3940256099942544~3347511713",
"ios_app_id": "ca-app-pub-3940256099942544~1458002511"
}
}
Während des Build-Vorgangs fügt Google Mobile Ads SDK for React Native das Attribut android_app_id in die Datei AndroidManifest.xml und das Attribut ios_app_id in die erstellte Datei Info.plist als Schlüssel GADApplicationIdentifier ein.
Wählen Sie für plattformspezifische Optionen oder die manuelle Konfiguration eine der folgenden Plattformen aus:
Android
Wenn Sie mehrere Build-Konfigurationen verwalten oder React Native in eine vorhandene Android-App einbinden, fügen Sie Ihre AdMob-App-ID im <application>-Element der AndroidManifest.xml-Datei Ihres Projekts anstelle der app.json-Datei hinzu:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="SAMPLE_APP_ID"
tools:replace="android:value"/>
</application>
</manifest>
Gradle löst Android-Abhängigkeiten während des Builds automatisch auf.
iOS
Gehen Sie folgendermaßen vor:
Installieren Sie CocoaPods-Abhängigkeiten aus dem Verzeichnis
ios/Ihres Projekts:pod install --repo-updateAlternativ können Sie CocoaPods-Abhängigkeiten aus dem Stammverzeichnis Ihres Projekts installieren:
npx pod-installDurch die automatische Verknüpfung von CocoaPods wird das Xcode-Build-Phasenscript konfiguriert, das das Attribut
ios_app_idaus der Dateiapp.jsonin die erstellteInfo.plist-Datei einfügt.Fügen Sie in der Datei
Info.plistIhrer App einenSKAdNetworkItems-Schlüssel im Element<dict>für Googlecstr6suwn9.skadnetworkund ausgewählte Drittanbieterkäufer hinzu.Das folgende Beispiel zeigt eine vollständige
Info.plist-Datei, die das erforderlicheSKAdNetworkItems-Array enthält:Vollständiges Beispiel
<key>SKAdNetworkItems</key> <array> <dict> <key>SKAdNetworkIdentifier</key> <string>cstr6suwn9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4fzdc2evr5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2fnua5tdw4.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ydx93a7ass.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>p78axxw29g.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v72qych5uu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ludvb6z3bs.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>cp8zw746q7.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3sh42y64q3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c6k4g5qg8m.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>s39g8k73mm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wg4vff78zm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qy4746246.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>f38h382jlk.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>hs6bdukanm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v4nxqhlyqp.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wzmmz9fp6w.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>su67r6k2v3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>yclnxrl5pm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>t38b2kh725.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>7ug5zh24hu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>gta9lk7p23.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>vutu7akeur.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>y5ghdn5j9k.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v9wttpbfk9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n38lu8286q.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>47vhws6wlr.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbd757ywx3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>9t245vhmpl.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>a2p9lx4jpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>22mmun2rn5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>44jx6755aq.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>k674qkevps.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4468km3ulz.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2u9pt9hc89.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8s468mfl3y.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>klf5c3l5u5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ppxm28t8ap.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbmxgpxpgc.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>578prtvx9j.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4dzt52r2t5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>tl55sbb4fm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c3frkrj4fj.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>e5fvkxwrpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8c4e2ghe7u.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>97r2b46745.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
Google Mobile Ads SDK for React Native initialisieren
Rufen Sie vor dem Laden von Anzeigen die Methode initialize auf, um Google Mobile Ads SDK for React Native zu initialisieren. Rufen Sie die Methode initialize einmal beim Start der App auf, z. B. in der Stammkomponente App.tsx.
Im folgenden Beispiel wird Google Mobile Ads SDK for React Native initialisiert:
import {InitializationStatus, initialize} from '@google/mobile-ads';
import {useEffect, useState} from 'react';
import {Text, View} from 'react-native';
/**
* Root application component demonstrating Google Mobile Ads SDK initialization.
*/
export function App() {
const [isInitialized, setIsInitialized] = useState<boolean>(false);
useEffect(() => {
// Initialize the Google Mobile Ads SDK.
initialize({}, (status: InitializationStatus) => {
console.log('Mobile Ads SDK initialized successfully:', status);
setIsInitialized(true);
});
}, []);
return (
<View>
<Text>
{isInitialized ? 'Mobile Ads SDK Ready' : 'Initializing SDK...'}
</Text>
</View>
);
}
Wählen Sie ein Anzeigenformat aus.
Nachdem Sie Google Mobile Ads SDK for React Native initialisiert haben, können Sie Anzeigen implementieren. AdMob bietet die folgenden Anzeigenformate:
| Format | Beschreibung | Dokumentation |
|---|---|---|
| App-Start | Wird eingeblendet, wenn Nutzer Ihre App öffnen oder zu ihr zurückwechseln. Die Anzeige wird als Overlay über dem Ladebildschirm eingeblendet. | App-Start-Anzeigen einrichten |
| Interstitial | Vollbildanzeigen, die die Benutzeroberfläche der Host-App überlagern. Diese Anzeigen werden an natürlichen Übergangspunkten innerhalb einer App eingeblendet, beispielsweise zwischen Aktivitäten oder während der Pause zwischen Levels in einem Spiel. | Interstitial-Anzeigen einrichten |
| Verfügbar | Vollbildanzeigen, bei denen Nutzer für das Ansehen von Videoanzeigen oder die Interaktion mit spielbaren Anzeigen eine Prämie erhalten. | Anzeigen mit Prämie einrichten |
| Interstitial mit Prämie | Ein auf Incentives basierendes Anzeigenformat, das automatisch an natürlichen Übergangspunkten in einer App ausgeliefert wird. Sie können damit Nutzer, die sich die Werbung ansehen, mit Prämien belohnen. | Interstitial-Anzeigen mit Prämie einrichten |