Rozpocznij

Ten przewodnik jest przeznaczony dla wydawców, którzy chcą zarabiać w AdMob na aplikacjach na iOS i nie korzystają z Firebase. Jeśli planujesz dodać Firebase do swojej aplikacji (lub nad tym zastanawiasz się), zapoznaj się z wersją tego przewodnika dotyczącą AdMob z Firebase .

Integracja pakietu SDK do reklam mobilnych Google z aplikacją to pierwszy krok do wyświetlania reklam i zarabiania. Po zintegrowaniu pakietu SDK możesz wdrożyć co najmniej jeden z obsługiwanych formatów reklam.

Wymagania wstępne

  • Używaj Xcode w wersji 15.3 lub nowszej
  • Kierowanie na iOS w wersji 12.0 lub nowszej

Importowanie pakietu SDK do reklam mobilnych

Zaimportuj pakiet SDK do reklam mobilnych Google, korzystając z jednej z poniższych metod.

CocoaPods (preferowane)

Najprostszym sposobem zaimportowania pakietu SDK do projektu iOS jest użycie CocoaPods. Otwórz plik Podfile projektu i dodaj ten wiersz do miejsca docelowego aplikacji:

pod 'Google-Mobile-Ads-SDK'

Następnie uruchom wiersz poleceń:

pod install --repo-update

Jeśli nie masz doświadczenia z CocoaPods, zapoznaj się z ich oficjalną dokumentacją, aby dowiedzieć się, jak tworzyć i używać plików podów.

Menedżer pakietów Swift

Pakiet SDK do reklam mobilnych Google obsługuje Menedżera pakietów Swift od wersji 9.0.0. Aby zaimportować pakiet Swift, wykonaj te czynności:

  1. Zainstaluj w Xcode pakiet Swift dla reklam mobilnych Google, wybierając Plik > Dodaj pakiety...

  2. W wyświetlonym komunikacie wyszukaj repozytorium Google Mobile Ads Swift Package GitHub:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Wybierz wersję pakietu Swift dla reklam mobilnych Google, której chcesz użyć. W przypadku nowych projektów zalecamy używanie trybu Do następnej wersji głównej.

Gdy skończysz, Xcode zacznie rozpoznawać zależności pakietów i pobiera je w tle. Więcej informacji na temat dodawania zależności pakietów znajdziesz w artykule Apple.

Pobieranie ręczne

  1. Pobierz pakiet SDK do reklam mobilnych Google i Embed & Sign te platformy do projektu Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Dodaj flagę tagu łączącego -ObjC do innych flag tagu łączącego w ustawieniach kompilacji projektu:

Zaktualizuj plik Info.plist

Zaktualizuj plik Info.plist aplikacji, aby dodać 2 klucze:

  1. Klucz GADApplicationIdentifier z ciągiem znakówAdMob app ID found in the AdMob UI.

  2. Klucz SKAdNetworkItems z wartościami SKAdNetworkIdentifier dla Google (cstr6suwn9.skadnetwork) i wybranych kupujących zewnętrznych, którzy przekazali Google te wartości.

Pełny fragment

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</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>4pfyvq9l8r.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>5a6flpkh64.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>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>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.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>n6fk4nfna4.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>eh6m2bh4zr.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>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>ecpz2srf59.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>pwa73g5rt2.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.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>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>zq492l623r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Jeśli nie masz jeszcze utworzonego konta AdMob ani rejestracji aplikacji, jest to dobry moment, by to zrobić.

W rzeczywistej aplikacji zastąp identyfikator przykładowej aplikacji rzeczywistymAdMob identyfikatorem aplikacji. Możesz użyć przykładowego identyfikatora, jeśli tylko eksperymentujesz z pakietem SDK w aplikacji Hello World.

Zainicjowanie pakietu SDK do reklam mobilnych

Przed wczytaniem reklam wywołaj w GADMobileAds.sharedInstance metodę startWithCompletionHandler:, która zainicjuje pakiet SDK i wywoła moduł obsługi zakończenia po zakończeniu inicjowania (lub po upływie 30 sekund). Wystarczy zrobić to raz, najlepiej przy uruchomieniu aplikacji. Wywołaj ją startWithCompletionHandler: jak najszybciej.

Oto przykład wywołania metody startWithCompletionHandler: w AppDelegate:

Przykładowy element AppDelegate (fragment)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

Wybierz format reklamy

Pakiet SDK do reklam mobilnych jest teraz importowany i inicjowany. Możesz teraz wdrożyć reklamę. AdMob Dostępnych jest wiele różnych formatów reklam, dzięki czemu możesz wybrać ten, który najlepiej pasuje do Twojej aplikacji.

Jeśli jesteś deweloperem SwiftUI, postępuj zgodnie z naszym przewodnikiem po SwiftUI.

W jednostkach banerów reklamowych wyświetlane są prostokątne reklamy, które zajmują część układu aplikacji. Mogą one odświeżać się automatycznie po określonym czasie. Oznacza to, że użytkownicy wyświetlają nową reklamę w regularnych odstępach czasu, nawet jeśli są na tym samym ekranie w aplikacji. Jest to również najprostszy format reklamy do wdrożenia.

Wdrożenie banerów reklamowych

Pełnoekranowa

Pełnoekranowe jednostki reklamowe wyświetlają w aplikacji reklamy zajmujące całą stronę. Umieszczaj je w naturalnych przerwach i momentach przejściowych w interfejsie aplikacji, na przykład po ukończeniu poziomu w grze.

Stosowanie reklam pełnoekranowych

Natywna

Reklamy natywne to reklamy, w których możesz dostosować sposób wyświetlania komponentów, takich jak nagłówki i wezwania do działania, w swoich aplikacjach. Samodzielnie określając styl reklamy, możesz utworzyć naturalne, dyskretne prezentacje, które poprawią wrażenia użytkowników.

Implementowanie reklam natywnych

Otrzymano

Jednostki reklamowe z nagrodą umożliwiają użytkownikom granie w gry, wypełnianie ankiet lub oglądanie filmów, aby zdobywać nagrody w aplikacji, takie jak monety, dodatkowe życia lub punkty. Możesz ustawić różne nagrody w różnych jednostkach reklamowych i określić wartości nagród oraz przedmioty otrzymane przez użytkownika.

Wdrażanie reklam z nagrodą

Reklama pełnoekranowa z nagrodą

Reklama pełnoekranowa z nagrodą to nowy typ formatu reklamy zachęcającej do działania. Umożliwia on oferowanie nagród, takich jak monety lub dodatkowe życia, za reklamy wyświetlane automatycznie podczas naturalnych przejść w aplikacji.

W przeciwieństwie do reklam z nagrodą użytkownicy nie muszą wyrazić zgody na wyświetlenie reklamy pełnoekranowej z nagrodą.

Zamiast prośby o akceptację w reklamach z nagrodą reklamy pełnoekranowe z nagrodą wymagają ekranu z wprowadzeniem z informacją o nagrodzie i możliwością rezygnacji.

Stosowanie reklam pełnoekranowych z nagrodą

Reklama wyświetlana przy otwarciu aplikacji

Reklama przy otwarciu aplikacji to format reklamy, który pojawia się, gdy użytkownicy otwierają aplikację lub do niej wracają. Reklama nakłada się na ekran wczytywania.

Stosowanie reklam wyświetlanych przy otwarciu aplikacji