Konfigurowanie pakietu SDK do reklam mobilnych Google

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.

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:

  1. Otwórz Xcode.
  2. Kliknij File > Add Package Dependencies....
  3. Zainstaluj Google Mobile Ads SDK pakiet Swift.

  4. W wyświetlonym oknie wyszukaj repozytorium pakietu SDK do reklam mobilnych Google w języku Swift na GitHubie:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. Wybierz wersję pakietu Google Mobile Ads SDK w języku Swift, której chcesz użyć. W przypadku nowych projektów zalecamy używanie opcji Up to Next Major Version.

CocoaPods

Aby używać CocoaPods:

  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 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żywane są CocoaPods.

Aby rozwiązać ten problem:

  1. Otwórz plik Podfile projektu i dodaj do niego hak post_install, który ustawi docelowy poziom wdrożenia na 15.0. Jeśli masz blok post_install, dodaj pętlę wewnętrzną do istniejącego bloku.

    Ten przykład ustawia klucz IPHONEOS_DEPLOYMENT_TARGET na 15.0 dla wszystkich celów 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:

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

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. W ustawieniach General (Ogólne) celu otwórz sekcję Frameworks, Libraries, and Embedded Content (Frameworki, biblioteki i treści osadzone).

  5. Sprawdź, czy frameworki 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 sekcji Runpath Search Paths (Ścieżki wyszukiwania ścieżki wykonywania).
    • Dodaj flagę linkera -ObjC do sekcji Other Linker Flags (Inne flagi linkera).

Aktualizowanie pliku Info.plist

W pliku Info.plist aplikacji dodaj te klucze:

Kompletny przykład

<key>GADApplicationIdentifier</key>
<!-- Sample Ad Manager 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 Ad Managerze. Podczas testowania użyj przykładowego identyfikatora aplikacji podanego w poprzednim przykładzie.

Aby przyspieszyć inicjowanie aplikacji, połącz grupy zysku z konkretnymi aplikacjami. Jeśli grupa zysku jest kierowana na iOS, ale nie jest połączona z aplikacją, Google wysyła ją do wszystkich aplikacji na iOS na Twoim koncie. Takie podejście może spowolnić działanie.

Inicjowanie Google Mobile Ads SDK

Zanim wczytasz reklamy, zainicjuj Google Mobile Ads SDK, wywołując metodę start() z właściwości GADMobileAds.sharedInstance. To wywołanie metody wywołuje procedurę obsługi zakończenia po Google Mobile Ads SDK i adaptery zapośredniczenia 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ływana jest metoda startWithCompletionHandler:. Jeśli musisz uzyskać zgodę użytkowników z Europejskiego Obszaru Gospodarczego (EOG), Wielkiej Brytanii lub Szwajcarii, ustaw flagi specyficzne dla żądania. Jeśli musisz ustawić flagi specyficzne dla żą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.

Ad Manager 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ę między elementami lub w przejściach aplikacji, tak aby pasowała do interfejsu, np. po ukończeniu poziomu w grze w aplikacji z grą mobilną. 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