Rozpocznij

Ten przewodnik jest przeznaczony dla wydawców, którzy chcą zarabiać na aplikacji na iOS za pomocą AdMob i nie korzystają z Firebase. Jeśli planujesz dodać Firebase do swojej aplikacji (lub nad rozwiązaniem problemu), zobacz AdMob z Firebase ten przewodnik.

Integracja pakietu SDK do reklam mobilnych Google z aplikacją to pierwszy krok wyświetlanie reklam i zarabianie na nich. Po zintegrowaniu pakietu SDK możesz: przejdź do implementacji co najmniej jednej 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 (preferowany),

Najprostszym sposobem importowania pakietu SDK do projektu na iOS jest użycie CocoaPods. Otwarta w pliku 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 znasz CocoaPods, zapoznaj się z oficjalną dokumentacją dotyczącą tworzenia i używania plików Pod.

Menedżer pakietów Swift

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

  1. Zainstaluj w Xcode pakiet Swift do reklam mobilnych Google. W tym celu przejdź na stronę Plik > Dodaj pakiety...

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

    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.

Gdy skończysz, Xcode rozpocznie rozpoznawanie zależności pakietów pobierając je w tle. Więcej informacji o dodawaniu pakietu Więcej informacji znajdziesz w artykule Apple.

Pobieranie ręczne

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

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. W ustawieniach kompilacji projektu:

    • Dodaj ścieżkę /usr/lib/swift do ścieżek wyszukiwania ścieżki Runpath.
    • Dodaj flagę tagu łączącego -ObjC do innych flag tagu łączącego.

Zaktualizuj plik Info.plist

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

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

  2. Klucz SKAdNetworkItems z SKAdNetworkIdentifier wartościami dla Google (cstr6suwn9.skadnetwork) i wybierz zewnętrznych kupujących 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Jeśli nie masz jeszcze utworzonej konta AdMob i zarejestrowali aplikację, teraz jest świetny moment. aby to zrobić.

W rzeczywistej aplikacji zastąp przykładowy identyfikator aplikacji rzeczywistym identyfikatorem AdMob identyfikator aplikacji. Możesz użyć identyfikatora próbki, 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 obiekcie GADMobileAds.sharedInstance. Spowoduje to zainicjowanie pakietu SDK, a po jego zakończeniu (lub 30 sekundach bezczynności) wywołanie zwrotne metody obsługi zakończenia. Wystarczy zrobić to raz, najlepiej przy uruchamianiu aplikacji. Należy zadzwonić pod numer 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 został zaimportowany i zainicjowany. Możesz implementować reklamy. AdMob Oferuje wiele różnych formatów reklam, aby można było wybrać taki, który najlepiej pasuje do użytkownika aplikacji z myślą o użytkownikach.

Programiści SwiftUI powinni skorzystać z naszego SwiftUI .

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

Implementowanie banerów reklamowych

Pełnoekranowa

Jednostki reklamy pełnoekranowej umożliwiają wyświetlanie w aplikacji reklam zajmujących całą stronę. Ustaw je w naturalnym przerwy i przejścia w interfejsie aplikacji, np. po ukończeniu poziomu; w grze mobilnej.

Zastosuj reklamy pełnoekranowe

Natywna

Reklamy natywne to reklamy, w których możesz dostosować sposób, w jaki zasoby, takie jak nagłówki, Wezwania do działania są wyświetlane w aplikacjach. Dostosowując styl reklamy, możesz: tworzyć naturalne, dyskretne prezentacje, które wzbudzą zainteresowanie z myślą o użytkownikach.

Implementowanie reklam natywnych

Z nagrodą

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ślać wartości nagród produkty otrzymane przez użytkownika.

Wdróż reklamy z nagrodą

Reklama pełnoekranowa z nagrodą

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

W przeciwieństwie do reklam z nagrodą użytkownicy nie muszą wyrazić zgody na obejrzenie reklamy z nagrodą. reklama pełnoekranowa.

Zamiast prośby o zgodę na wykorzystanie danych w reklamach z nagrodą reklamy pełnoekranowe z nagrodą wymagają: z informacją o nagrodzie i możliwości rezygnacji, jeśli że chcą to robić.

Implementowanie reklam pełnoekranowych z nagrodą

Otwarcia aplikacji

Reklama wyświetlana 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.

Wdrażanie reklam wyświetlanych przy otwarciu aplikacji