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
- Zalecane: utwórz konto AdMob i zarejestruj aplikację.
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.
W Xcode zainstaluj pakiet Swift dla reklam mobilnych Google, klikając Plik > Dodaj pakiety.
W wyświetlonym oknie wyszukaj repozytorium Pakietu reklam mobilnych Google na GitHubie:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
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
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
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:
Klucz
GADApplicationIdentifier
z ciągiem znakówAdMob app ID found in the AdMob UI.Klucz
SKAdNetworkItems
z wartościamiSKAdNetworkIdentifier
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.
Baner
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,
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ą.
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) |