Rozpocznij

Ten przewodnik jest przeznaczony dla wydawców, którzy nie korzystają z Firebase, ale chcą zarabiać na aplikacji na iOS za pomocą AdMob. Jeśli planujesz umieścić Firebase w swojej aplikacji (lub się nad tym zastanawiasz), zapoznaj się z wersją AdMob z Firebase w tym przewodniku.

Zintegrowanie 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 system iOS 12.0 lub nowszy

Zaimportuj pakiet SDK do reklam mobilnych

Aby zaimportować pakiet SDK do reklam mobilnych Google, użyj 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 polecenie w wierszu poleceń:

pod install --repo-update

Jeśli nie masz doświadczenia z CocoaPods, zapoznaj się z oficjalną dokumentacją, w której znajdziesz informacje o tworzeniu i używaniu plików Podfiles.

Menedżer pakietów Swift

Pakiet SDK do reklam mobilnych Google obsługuje Swift Package Manager od wersji 9.0.0. Aby zaimportować pakiet Swift, wykonaj te czynności:

  1. Zainstaluj w Xcode pakiet Swift do reklam mobilnych Google, klikając File > Add Packages... (Plik > Dodaj pakiety).

  2. W wyświetlonym komunikacie wyszukaj repozytorium GitHub pakietu Swift do reklam mobilnych Google:

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

Po zakończeniu Xcode zacznie rozpoznawać zależności pakietów i pobierać je w tle. Więcej informacji o dodawaniu 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ę łączącą -ObjC do innych flag łączących w ustawieniach kompilacji projektu:

Zaktualizuj plik Info.plist

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

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

  2. klucz SKAdNetworkItems z wartościami SKAdNetworkIdentifier dla Google (cstr6suwn9.skadnetwork) i wybrani zewnętrzni kupujący, którzy przekazali te wartości do Google;

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 konta AdMob i zarejestrujesz aplikacji, teraz jest dobry moment, by to zrobić.

W prawdziwej aplikacji zastąp przykładowy identyfikator 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 metodę startWithCompletionHandler: w GADMobileAds.sharedInstance, co spowoduje zainicjowanie pakietu SDK, a po zakończeniu inicjowania (lub po 30-sekundowym czasie oczekiwania) ponownie wywoła moduł obsługi ukończenia. Wystarczy to zrobić raz, najlepiej przy uruchamianiu aplikacji. Koniecznie skontaktuj się z firmą startWithCompletionHandler: jak najwcześniej.

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 został zaimportowany i zainicjowany. Możesz już zaimplementować reklamę. AdMob Oferuje wiele różnych formatów reklam, możesz więc wybrać ten, który najlepiej pasuje do potrzeb Twojej aplikacji.

Deweloperzy korzystający z SwiftUI powinni skorzystać z naszego przewodnika po SwiftUI.

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

Implementowanie 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, np. po ukończeniu poziomu w grze.

Zastosuj reklamy pełnoekranowe

Natywna

Reklamy natywne to reklamy, w których możesz dostosować sposób prezentowania zasobów, takich jak nagłówki czy wezwania do działania, w aplikacjach. Wybierając styl reklamy, możesz utworzyć naturalne, dyskretne prezentacje, które będą atrakcyjne dla 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 poszczególnych jednostkach reklamowych i określić ich wartości oraz przedmioty, jakie użytkownik otrzymał.

Wdróż reklamy z nagrodą

Reklama pełnoekranowa z nagrodą

Reklama pełnoekranowa z nagrodą to nowy format reklamy zachęcającej do działania, który pozwala oferować nagrody, takie jak monety lub dodatkowe życia, za reklamy, które wyświetlają się automatycznie w naturalnych momentach przejściowych w aplikacji.

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

Zamiast komunikatu z prośbą o zgodę w reklamach z nagrodą reklamy pełnoekranowe z nagrodą wymagają ekranu z wprowadzeniem, na którym wyświetla się informacja o nagrodzie i pozwala użytkownikom zrezygnować z reklam z nagrodą.

Implementowanie reklam pełnoekranowych z nagrodą

Reklama przy otwarciu aplikacji

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

Wdrażanie reklam wyświetlanych przy otwarciu aplikacji