Konfigurowanie pakietu SDK do reklam mobilnych Google

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:

  1. Otwórz Xcode.
  2. Kliknij File > Add Package Dependencies… (Plik > Dodaj zależności pakietu…).
  3. Zainstaluj pakiet Swift Google Mobile Ads SDK.

  4. W wyświetlonym oknie wyszukaj repozytorium GitHub pakietu Swift reklam mobilnych Google:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. Wybierz 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:

  1. Otwórz plik Podfile projektu i dodaj ten wiersz do konfiguracji kompilacji target aplikacji:

    pod 'Google-Mobile-Ads-SDK'
    
  2. 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:

  1. Otwórz plik Podfile projektu i dodaj punkt zaczepienia post_install, który ustawia cel wdrożenia na 15.0. Jeśli masz blok post_install, dodaj pętlę wewnętrzną do istniejącego bloku.

    W tym przykładzie klucz IPHONEOS_DEPLOYMENT_TARGET jest ustawiony na wartość 15.0 dla 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
    end
    
  2. Aby 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:

  1. Pobierz Google Mobile Ads SDK.
  2. Rozpakuj pakiet googlemobileadssdkios.zip.
  3. W projekcie Xcode dodaj te platformy:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. W ustawieniach Ogólne celu przejdź do sekcji Frameworks, Libraries, and Embedded Content (Platformy, biblioteki i umieszczone treści).

  5. Sprawdź, czy właściwości GoogleMobileAds.xcframework i UserMessagingPlatform.xcframework są ustawione na Embed & Sign (Osadź i podpisz).

  6. W ustawieniach kompilacji projektu wykonaj te czynności:

    • Dodaj ścieżkę /usr/lib/swift do Runpath Search Paths.
    • Dodaj flagę tagu łączącego -ObjC do sekcji Other Linker Flags (Inne flagi tagu łączącego).

Zaktualizuj plik Info.plist

W pliku Info.plist aplikacji dodaj te klucze:

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