Wypróbuj

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

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

W rzeczywistej aplikacji zastąp identyfikator przykładowej aplikacji rzeczywistymAd Manager 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ę. Ad Manager 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.

Google Ad Manager udostępnia 2 sposoby wdrażania reklam natywnych: style natywne i standardowe reklamy natywne w ramach renderowania niestandardowego.

Style natywne powstały z myślą o uproszczeniu implementacji reklam natywnych. To świetny wybór, jeśli dopiero zaczynasz korzystać z tego formatu. Renderowanie niestandardowe zostało zaprojektowane tak, aby zmaksymalizować swobodę tworzenia prezentacji.

Implementowanie stylów natywnych Implementowanie reklam natywnych (renderowanie niestandardowe)

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