Wypróbuj

Integracja pakietu SDK do reklam mobilnych Google z aplikacją to pierwszy krok do wyświetlania reklam i zarabiania. Gdy to zrobisz, możesz zaimplementować dowolną liczbę obsługiwanych formatów reklam.

Wymagania wstępne

  • Użyj Xcode w wersji 15.3 lub nowszej.
  • kierować reklamy na system iOS w wersji 12.0 lub nowszej,

Importowanie pakietu SDK do reklam mobilnych

Aby zaimportować pakiet SDK do reklam mobilnych Google, użyj jednej z podanych niżej metod.

CocoaPods (preferowane)

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

pod 'Google-Mobile-Ads-SDK'

Następnie w wierszu poleceń uruchom:

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. W Xcode zainstaluj pakiet Swift reklam mobilnych Google, klikając 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 Google Mobile Ads, której chcesz użyć. W przypadku nowych projektów zalecamy użycie następującej głównej wersji.

Gdy skończysz, Xcode zacznie rozwiązywać zależności pakietu i pobierać je w tle. Więcej informacji o dodawaniu zależności pakietu znajdziesz w artykule Apple.

Pobieranie ręczne

  1. Pobierz pakiet SDK do reklam mobilnych Google i Embed & Sign te frameworki 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ę łącznika -ObjC do sekcji Inne flagi łącznika.

Zaktualizuj plik Info.plist

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

  1. Klucz GADApplicationIdentifier z wartością ciągu znakówAd Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  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;

Kompletny 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>

Aby uzyskać optymalną wydajność inicjowania, ważne jest powiązanie grup zysku z konkretnymi aplikacjami, w których są używane. Konfiguracje grupy rentowności kierowane na iOS i nie powiązane z żadną konkretną aplikacją będą wysyłane do wszystkich aplikacji na iOS na Twoim koncie, co może wydłużyć czas inicjalizacji.

W rzeczywistej aplikacji zastąp przykładowy identyfikator aplikacji swoim prawdziwym identyfikatoremAd Manager aplikacji. Jeśli eksperymentujesz z pakietem SDK w aplikacji „Hello World”, możesz użyć przykładowego identyfikatora.

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ć tylko raz, najlepiej podczas uruchamiania aplikacji. Jak najszybciej zadzwoń pod numer startWithCompletionHandler:.

Oto przykład wywołania metody startWithCompletionHandler: w klasie 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 inicjowany, więc możesz zaimplementować reklamę. Ad Manager Oferuje on różne formaty reklam, więc możesz wybrać ten, który najlepiej pasuje do Twojej aplikacji.

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

W jednostkach z banerami reklamowymi wyświetlają się prostokątne reklamy, które zajmują część układu aplikacji. Mogą one 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.

Wdrażanie banerów reklamowych

Pełnoekranowa

Jednostki reklam pełnoekranowych wyświetlają w aplikacji reklamy zajmujące całą stronę. Umieść je w naturalnych przerwach między elementami strony lub podczas przejścia z jednego etapu do następnego w interfejsie aplikacji, np. po ukończeniu poziomu w aplikacji z grą.

Wdrażanie reklam pełnoekranowych

Natywna

Reklamy natywne umożliwiają dostosowanie sposobu wyświetlania w aplikacji komponentów takich jak nagłówki i wezwania do działania. Samodzielne nadawanie reklamie stylu pozwala tworzyć naturalne, nieinwazyjne prezentacje reklam, które mogą wzbogacać wrażenia użytkowników.

Google Ad Manager udostępnia 2 metody implementacji reklam natywnych: style natywne i standardowe reklamy natywne za pomocą renderowania niestandardowego.

Style natywne zostały zaprojektowane w celu uproszczenia implementacji reklam natywnych. To świetny wybór, jeśli dopiero zaczynasz korzystać z tego formatu. Renderowanie niestandardowe zostało zaprojektowane tak, aby maksymalnie zwiększyć swobodę tworzenia prezentacji.

Wdrażanie stylów natywnych Wdrażanie reklam natywnych (renderowanie niestandardowe)

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 różnych jednostkach reklamowych i określić wartości nagród oraz korzyści, które otrzymają użytkownicy.

Wdrażanie reklam z nagrodą

Reklama pełnoekranowa z nagrodą

Reklama pełnoekranowa z nagrodą to nowy format reklamy zachęcającej użytkownika do jej obejrzenia. Umożliwia uzyskanie nagród w aplikacji, takich jak monety lub dodatkowe życia. Reklamy tego typu 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 prośby o zgodę stosowanej w reklamach z nagrodą reklamy pełnoekranowe z nagrodą na początku wyświetlają ekran z informacjami o nagrodach za obejrzenie danej reklamy i dają użytkownikowi możliwość jej pominięcia.

Wdrażanie reklam pełnoekranowych z nagrodą

Otwarcie 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