Aby wyświetlać reklamy i generować przychody, zintegruj Google Mobile Ads SDK z aplikacją na iOS. Aby przygotować projekt, zaimportuj i zainicjuj Google Mobile Ads SDK, zanim wyślesz żądanie reklamy.
Jeśli w aplikacji na iOS używasz Firebase, zapoznaj się z artykułem Pierwsze kroki z AdMob w projekcie na iOS.
Ten przewodnik zawiera informacje o importowaniu i inicjowaniu pakietu Google Mobile Ads SDK oraz o wybieraniu formatu reklamy.
Wymagania wstępne
Zanim przejdziesz dalej, upewnij się, że masz:
- Użyj Xcode w wersji 16.0 lub nowszej.
- Kieruj reklamy na system iOS 13.0 lub nowszy.
Importuj: Google Mobile Ads SDK
Aby zaimportować Google Mobile Ads SDK, wykonaj czynności opisane w jednej z tych sekcji:
Swift Package Manager (zalecany)
Aby dodać do projektu zależność pakietu, wykonaj te czynności:
- Otwórz Xcode.
- Kliknij File > Add Package Dependencies… (Plik > Dodaj zależności pakietu…).
Zainstaluj pakiet Swift Google Mobile Ads SDK.
W wyświetlonym oknie wyszukaj repozytorium GitHub pakietu Swift reklam mobilnych Google:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitWybierz wersję pakietu Swift Google Mobile Ads SDK, której chcesz użyć. W przypadku nowych projektów zalecamy użycie opcji Up to Next Major Version (Do następnej wersji głównej).
CocoaPods
Aby użyć CocoaPods, wykonaj te czynności:
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 celu wdrożenia w Xcode 27
Xcode 27 wymaga minimalnego celu wdrożenia iOS 15.0 dla wszystkich celów. Google Mobile Ads SDK obsługuje iOS 13.0, dlatego kompilacje Xcode 27 nie działają, gdy używasz CocoaPods.
Aby rozwiązać ten problem, wykonaj te czynności:
Otwórz plik
Podfileprojektu i dodaj punkt zaczepieniapost_install, który ustawia cel wdrożenia na15.0. Jeśli masz blokpost_install, dodaj pętlę wewnętrzną do istniejącego bloku.W tym przykładzie klucz
IPHONEOS_DEPLOYMENT_TARGETjest ustawiony na wartość15.0dla wszystkich podów: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, wykonaj te czynności:
- Pobierz Google Mobile Ads SDK.
- Rozpakuj pakiet
googlemobileadssdkios.zip. W projekcie Xcode dodaj te platformy:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
W ustawieniach Ogólne celu przejdź do sekcji Frameworks, Libraries, and Embedded Content (Platformy, biblioteki i umieszczone treści).
Sprawdź, czy właściwości
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. - Dodaj flagę tagu łączącego
-ObjCdo sekcji Other Linker Flags (Inne flagi tagu łączącego).
- Dodaj ścieżkę
Zaktualizuj plik Info.plist
W pliku Info.plist aplikacji dodaj te klucze:
Klucz
GADApplicationIdentifierz identyfikatorem aplikacji w AdMob jako ciągiem znaków. Więcej informacji znajdziesz w artykule Znajdowanie i kopiowanie identyfikatora aplikacji lub identyfikatora 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 w AdMob. Podczas testowania użyj identyfikatora przykładowej aplikacji podanego w poprzednim przykładzie.
Jeśli nie masz jeszcze konta AdMob i zarejestrowanej aplikacji, teraz jest dobry moment, aby to zrobić.
Zainicjuj Google Mobile Ads SDK
Zanim wczytasz reklamy, zainicjuj Google Mobile Ads SDK, wywołując metodę start() z właściwości GADMobileAds.sharedInstance. Ta metoda wywołuje moduł obsługi zakończenia po zakończeniu przetwarzania przez Google Mobile Ads SDK i adaptery zapośredniczenia lub po 30 sekundach.
Poniższy 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 konkretnych żądań. Jeśli musisz ustawić flagi dotyczące konkretnego żądania, pamiętaj, aby ustawić je przed zainicjowaniem Google Mobile Ads SDK. Więcej informacji znajdziesz w sekcji Kierowanie.
Wybierz format reklamy
Po zaimportowaniu pakietu Google Mobile Ads SDK możesz wybrać format reklamy do wdrożenia.
AdMob oferuje te formaty reklam:
| Format reklamy | Opis | Dokumentacja |
|---|---|---|
| Baner | Wyświetlają prostokątne reklamy w sekcji układu aplikacji. Ta reklama odświeża się automatycznie w określonych 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ść je w naturalnych przerwach i przejściach w interfejsie aplikacji, np. po ukończeniu poziomu w grze mobilnej. | Reklamy pełnoekranowe |
| Rodzimy użytkownik | Umożliwia dostosowywanie komponentów, takich jak nagłówki i wezwania do działania, w aplikacjach. Dostosowując reklamę, tworzysz reklamy, które pasują do wyglądu Twojej 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 i określić wartości nagród oraz 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 oglądanie reklam, które wyświetlają się w momentach przejściowych w aplikacji. | Reklamy pełnoekranowe z nagrodą |
| Reklama przy otwarciu aplikacji | Wyświetla się, gdy użytkownicy otwierają aplikację lub do niej wracają. Reklama nakłada się na wczytywany ekran. | Reklamy wyświetlane przy otwarciu aplikacji |