Aby wyświetlać reklamy i zarabiać, zintegruj Google Mobile Ads SDK z aplikacją na iOS. Aby przygotować projekt, zaimportuj i zainicjuj Google Mobile Ads SDK zanim poprosisz o reklamy.
Jeśli w aplikacji na iOS używasz Firebase, przeczytaj artykuł Pierwsze kroki z AdMob w projekcie na iOS.
Z tego przewodnika dowiesz się, jak zaimportować i zainicjować Google Mobile Ads SDK oraz jak wybrać format reklamy.
Wymagania wstępne
Zanim przejdziesz dalej, upewnij się, że masz:
- Xcode w wersji 16.0 lub nowszej.
- iOS w wersji 13.0 lub nowszej.
Importowanie Google Mobile Ads SDK
Aby zaimportować Google Mobile Ads SDK, wykonaj czynności opisane w jednej z tych sekcji:
Swift Package Manager (zalecane)
Aby dodać zależność pakietu do projektu:
- Otwórz Xcode.
- Kliknij File > Add Package Dependencies....
Zainstaluj pakiet Google Mobile Ads SDK w Swift.
W wyświetlonym oknie wyszukaj repozytorium GitHub pakietu SDK do reklam mobilnych Google w Swift:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitWybierz wersję pakietu Google Mobile Ads SDK w Swift, której chcesz używać. W przypadku nowych projektów zalecamy używanie opcji Up to Next Major Version.
CocoaPods
Aby używać CocoaPods:
Otwórz plik Podfile projektu i dodaj ten wiersz do konfiguracji kompilacji
targetaplikacji:pod 'Google-Mobile-Ads-SDK'W terminalu uruchom to polecenie:
pod install --repo-update
Konfigurowanie docelowego wdrożenia w Xcode 27
Xcode 27 wymaga, aby wszystkie cele miały minimalny docelowy poziom wdrożenia iOS 15.0. Ponieważ Google Mobile Ads SDK obsługuje iOS 13.0, kompilacje Xcode 27 kończą się niepowodzeniem, gdy używasz CocoaPods.
Aby rozwiązać ten problem:
Otwórz plik
Podfileprojektu i dodaj hakpost_install, który ustawi docelowy poziom wdrożenia na15.0. Jeśli masz blokpost_install, dodaj pętlę wewnętrzną do istniejącego bloku.Ten przykład ustawia klucz
IPHONEOS_DEPLOYMENT_TARGETna15.0dla wszystkich celów poda:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' end end endAby ponownie zainstalować pody, uruchom to polecenie:
pod install --repo-update
Pobieranie ręczne
Aby ręcznie pobrać Google Mobile Ads SDK:
- Pobierz Google Mobile Ads SDK.
- Rozpakuj pakiet
googlemobileadssdkios.zip. W projekcie Xcode dodaj te frameworki:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
W ustawieniach General (Ogólne) celu otwórz sekcję Frameworks, Libraries, and Embedded Content (Frameworki, biblioteki i treści osadzone).
Sprawdź, czy frameworki
GoogleMobileAds.xcframeworkiUserMessagingPlatform.xcframeworksą ustawione na Embed & Sign (Osadź i podpisz).W ustawieniach kompilacji projektu wykonaj te czynności:
- Dodaj ścieżkę
/usr/lib/swiftdo Runpath Search Paths (Ścieżki wyszukiwania ścieżki wykonywania). - Dodaj flagę linkera
-ObjCdo Other Linker Flags (Inne flagi linkera).
- Dodaj ścieżkę
Aktualizowanie pliku Info.plist
W pliku Info.plist aplikacji dodaj te klucze:
Klucz
GADApplicationIdentifierz wartością ciągu znaków zawierającą identyfikator aplikacji w AdMob. Więcej informacji znajdziesz w artykule Znajdowanie i kopiowanie identyfikatora aplikacji lub jednostki reklamowej .Klucz
SKAdNetworkItems. Ten klucz zawieraSKAdNetworkIdentifierwartości dla Googlecstr6suwn9.skadnetworki wybranych kupujących zewnętrznych.
Kompletny przykład
<key>GADApplicationIdentifier</key>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</string>
<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>Zastąp SAMPLE_APP_ID identyfikatorem aplikacji AdMob. Podczas testowania użyj przykładowego identyfikatora aplikacji pokazanego w poprzednim przykładzie.
Jeśli nie masz jeszcze konta AdMob i nie zarejestrowałeś(-aś) aplikacji, teraz jest na to dobry moment.
Inicjowanie Google Mobile Ads SDK
Zanim zaczniesz wczytywać reklamy, zainicjuj Google Mobile Ads SDK wywołując metodę start()
z właściwości GADMobileAds.sharedInstance. Ta metoda wywołuje procedurę obsługi zakończenia po Google Mobile Ads SDK i
adaptery mediacji zakończą przetwarzanie lub po 30 sekundach.
Ten przykład inicjuje Google Mobile Ads SDK:
Swift
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
Objective-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
Podczas inicjowania Google Mobile Ads SDK może wstępnie wczytywać reklamy lub inicjować pakiety SDK innych firm, gdy wywołuje metodę startWithCompletionHandler:. Jeśli musisz uzyskać zgodę użytkowników z Europejskiego Obszaru Gospodarczego (EOG), Wielkiej Brytanii lub Szwajcarii, ustaw flagi dotyczące żądania. Jeśli musisz ustawić
flagi dotyczące żądania, zrób to przed zainicjowaniem
Google Mobile Ads SDK. Więcej informacji znajdziesz w sekcji Kierowanie.
Wybieranie formatu reklamy
Po zaimportowaniu Google Mobile Ads SDK możesz wybrać format reklamy do wdrożenia.
AdMob oferuje te formaty reklam:
| Format reklamy | Opis | Dokumentacja |
|---|---|---|
| Baner | Wyświetla prostokątne reklamy w sekcji układu aplikacji. Ta reklama odświeża się automatycznie w ustawionych odstępach czasu. Użytkownicy widzą te reklamy okresowo, gdy pozostają na tym samym ekranie. | Konfigurowanie banerów reklamowych |
| Pełnoekranowa | Wyświetla w aplikacji reklamy zajmujące całą stronę. Umieść tę reklamę w naturalnych przerwach i przejściach w interfejsie aplikacji, np. po ukończeniu poziomu w grze mobilnej. | Reklamy pełnoekranowe |
| Natywna | Umożliwia dostosowywanie zasobów, takich jak nagłówki i wezwania do działania, w aplikacjach. Dostosowując reklamę, tworzysz reklamy pasujące do wyglądu aplikacji. | Wczytywanie reklamy natywnej |
| Z nagrodą | Użytkownicy zdobywają nagrody w aplikacji, takie jak monety lub punkty, grając w gry, wypełniając ankiety lub oglądając filmy. Możesz ustawić nagrody w jednostkach reklamowych oraz określić wartości nagród i elementy, które otrzymają użytkownicy. | Reklamy z nagrodą |
| Reklama pełnoekranowa z nagrodą | Umożliwia oferowanie nagród, takich jak monety lub dodatkowe życia, za reklamy wyświetlane podczas przejść w aplikacji. | Reklamy pełnoekranowe z nagrodą |
| Otwarcie aplikacji | Wyświetla się, gdy użytkownicy otwierają aplikację lub do niej wracają. Reklama nakłada się na ekran wczytywania. | Reklamy wyświetlane przy otwarciu aplikacji |