Wypróbuj

Ten przewodnik jest przeznaczony dla wydawców, którzy chcą zarabiać w AdMob na aplikacji na iOS i nie używają Firebase. Jeśli chcesz uwzględnić Firebase w swojej aplikacji (lub rozważasz jej wykorzystanie), obejrzyj wersję tego przewodnika dotyczącą AdMob z Firebase .

Zintegrowanie pakietu SDK do reklam mobilnych Google z aplikacją to pierwszy krok w kierunku wyświetlania reklam i zarabiania. Po zintegrowaniu pakietu SDK możesz wdrożyć co najmniej 1 obsługiwany format reklamy.

Wymagania wstępne

  • Użyj Xcode 14.1 lub nowszego
  • Kieruj reklamy na iOS 11.0 lub nowszy

Importowanie pakietu SDK do reklam mobilnych

CocoaPods (preferowany)

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

pod 'Google-Mobile-Ads-SDK'

Następnie z poziomu wiersza poleceń:

pod install --repo-update

Jeśli dopiero zaczynasz korzystać z CocoaPods, zapoznaj się z ich oficjalną dokumentacją, aby dowiedzieć się, jak tworzyć i używać podPod.

Menedżer pakietów Swift

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

  1. W Xcode zainstaluj pakiet Swift dla reklam mobilnych Google, klikając Plik > Dodaj pakiety.

  2. W wyświetlonym oknie wyszukaj repozytorium Pakietu reklam mobilnych Google na GitHubie:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Wybierz wersję pakietu Google Mobile Ads Swift, którego chcesz użyć. W przypadku nowych projektów zalecamy korzystanie z najnowszej wersji głównej.

Gdy skończysz, Xcode zacznie rozwiązywać 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 i rozpakuj ramkę pakietu SDK bezpośrednio i zaimportuj te projekty do projektu Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Dodaj flagę łączącą -ObjC do Innych flagi łączących 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 wybierz zewnętrznych kupujących, którzy przekazali te wartości 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>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>3sh42y64q3.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>prcb7njmu6.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>9rd848q2bz.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>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>av6w8kgt66.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>424m5254lk.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>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>gta9lk7p23.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>

To dobry moment, aby utworzyć konto AdMob i zarejestrować je.

Zainicjuj pakiet SDK do reklam mobilnych

Przed wczytaniem reklam wywołaj metodę startWithCompletionHandler: na platformie GADMobileAds.sharedInstance, która inicjuje pakiet SDK i wywołuje moduł obsługi ukończenia po zakończeniu inicjowania (lub po upływie 30 sekund). Wystarczy to zrobić raz, najlepiej przy uruchamianiu aplikacji. Należy skontaktować się z firmą startWithCompletionHandler: jak najszybciej.

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

Przykładowy plik AppAuthorization.m (fragment)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

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

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

    return true
  }

}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

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

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

@end

Jeśli korzystasz z zapośredniczenia, przed wczytaniem reklam warto poczekać, aż wywoływany będzie moduł obsługi ukończenia, ponieważ dzięki temu wszystkie adaptery zapośredniczenia zostaną zainicjowane.

Wybierz format reklamy

Pakiet SDK do reklam mobilnych został zaimportowany i zainicjowany i możesz przejść do implementacji reklamy. AdMob Oferuje wiele różnych formatów reklam, dzięki czemu możesz wybrać ten, który najlepiej pasuje do Twojej aplikacji.

Prostokątne reklamy wyświetlane u góry lub u dołu ekranu urządzenia. Banery reklamowe pozostają widoczne na ekranie, gdy użytkownicy korzystają z aplikacji, a po określonym czasie mogą się automatycznie odświeżać. Jeśli dopiero zaczynasz przygodę z reklamami mobilnymi,

Implementowanie banera

Pełnoekranowa

reklamy pełnoekranowe, które zakrywają interfejs aplikacji do momentu ich zamknięcia przez użytkownika. Najlepiej robić to w naturalnych przerwach w wyświetlaniu aplikacji, np. między poziomami gry lub zaraz po ukończeniu zadania.

Stosowanie reklamy pełnoekranowej

Natywny

Reklamy, które można dostosować do wyglądu i stylu aplikacji. Ty decydujesz, jak i gdzie się wyświetlają, więc ich układ jest bardziej spójny z aplikacją.

Wdrożenie Native Ads

Otrzymano

Reklamy, które nagradzają użytkowników za oglądanie krótkich filmów oraz interakcje z reklamami i ankietami. Dobre rozwiązanie do zarabiania na bezpłatnych grach.

Wdrażanie reklam z nagrodą Wdrażanie reklam z nagrodą (nowe interfejsy API)