Pierwszym krokiem, który musisz wykonać, aby zacząć wyświetlać reklamy i zarabiać, jest integracja Google Mobile Ads SDK z Twoją aplikacją. Gdy to zrobisz, możesz zaimplementować dowolną liczbę obsługiwanych formatów reklam.
Wymagania wstępne
- Używaj Xcode w wersji 16.0 lub nowszej.
- Ustaw docelowy system iOS w wersji 13.0 lub nowszej.
Importowanie Google Mobile Ads SDK
Aby zaimportować Google Mobile Ads SDK, użyj jednej z tych metod.
Swift Package Manager
Aby dodać zależność pakietu do projektu, wykonaj te czynności:
W Xcode zainstaluj pakiet Swift do reklam mobilnych Google, klikając kolejno File > Add Package Dependencies... (Plik > Dodaj zależności pakietu).
W wyświetlonym oknie wyszukaj repozytorium GitHub pakietu Swift do reklam mobilnych Google:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitWybierz wersję pakietu Swift do reklam mobilnych Google, której chcesz używać. W przypadku nowych projektów zalecamy używanie opcji Up to Next Major Version (Do następnej wersji głównej).
CocoaPods
Zanim przejdziesz dalej, zapoznaj się z informacjami o tworzeniu i używaniu plików Podfile w artykule Korzystanie z CocoaPods.
Aby korzystać z CocoaPods, wykonaj te czynności:
Otwórz plik Podfile projektu i dodaj ten wiersz do konfiguracji kompilacji
targetaplikacji:pod 'Google-Mobile-Ads-SDK'
W terminalu uruchom:
pod install --repo-update
Pobieranie ręczne
Pobierz Google Mobile Ads SDK i
Embed & Signte frameworki w projekcie Xcode:GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
W ustawieniach kompilacji projektu:
- Dodaj ścieżkę
/usr/lib/swiftdo Runpath Search Paths (Ścieżki wyszukiwania ścieżki wykonywania). - Dodaj flagę linkera
-ObjCdo Other Linker Flags (Inne flagi linkera).
- Dodaj ścieżkę
Zaktualizuj plik Info.plist
Zaktualizuj plik Info.plist aplikacji, aby dodać 2 klucze:
Klucz
GADApplicationIdentifierz wartością ciągu znaków, która jest identyfikatorem aplikacji w Ad ManagerzeZnajdziesz go w interfejsie Ad Managera. Ma on postaćca-app-pub-################~##########.Klucz
SKAdNetworkItemsz wartościamiSKAdNetworkIdentifierdla Google (cstr6suwn9.skadnetwork) i wybranych kupujących zewnętrznych którzy przekazali te wartości Google.
Pełny fragment kodu
<key>GADApplicationIdentifier</key>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</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>wg4vff78zm.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>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>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>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>44jx6755aq.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>k674qkevps.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>kbmxgpxpgc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uw77j35x4d.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>c3frkrj4fj.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>97r2b46745.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qcr597p9d.skadnetwork</string>
</dict>
</array>Zastąp SAMPLE_APP_ID identyfikatorem aplikacji w Ad Managerze. Podczas testowania użyj przykładowego identyfikatora aplikacji pokazanego w poprzednim przykładzie.
Aby uzyskać optymalną wydajność inicjowania, ważne jest, aby powiązać grupy zysku z konkretnymi aplikacjami, w których są używane. Konfiguracje grup 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 inicjowanie.
Inicjowanie Google Mobile Ads SDK
Zanim zaczniesz wczytywać reklamy, wywołaj metodę start() w
GADMobileAds.sharedInstance,
co spowoduje zainicjowanie pakietu SDK, a po jego zakończeniu (lub 30 sekundach bezczynności) wywołanie zwrotne detektora.
Wywołaj start() jak najwcześniej.
Swift
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
Objective-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
Wybierz format reklamy
Google Mobile Ads SDK został zaimportowany i zainicjowany. Możesz teraz zaimplementować reklamę. Ad Manager oferuje wiele różnych formatów reklam, dzięki czemu możesz wybrać ten, który najlepiej pasuje do wrażeń użytkowników w Twojej aplikacji.
Baner
W jednostkach banerów reklamowych wyświetlane są 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.
Implementowanie banerów reklamowych
Pełnoekranowa
Jednostki reklam pełnoekranowych wyświetlają w aplikacji reklamy zajmujące całą stronę. Umieść je między elementami lub w przejściach aplikacji, tak aby pasowały do interfejsu, np. po ukończeniu poziomu w grze w aplikacji z grą mobilną.
Implementowanie reklam pełnoekranowych
Natywna
Reklamy natywne to reklamy, w których możesz dostosować sposób prezentowania w aplikacjach zasobów takich jak nagłówki i wezwania do działania. Dzięki samodzielnemu określeniu stylu reklamy możesz stworzyć naturalne, nienachalne prezentacje reklam, które mogą wzbogacić wrażenia użytkowników.
Google Ad Manager oferuje 2 sposoby implementowania reklam natywnych: style natywne i standardowe reklamy natywne z renderowaniem niestandardowym.
Style natywne zostały zaprojektowane tak, aby uprościć implementowanie reklam natywnych. To świetny wybór, jeśli dopiero zaczynasz korzystać z tego formatu. Renderowanie niestandardowe zostało zaprojektowane tak, aby zapewnić Ci jak największą swobodę w tworzeniu prezentacji.
Implementowanie stylów natywnych Implementowanie 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 elementy, które otrzymają użytkownicy.
Implementowanie 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 wprowadzający z informacjami o nagrodzie i dają użytkownikom możliwość rezygnacji, jeśli chcą to zrobić.
Implementowanie reklam pełnoekranowych z nagrodą
Przy otwarciu aplikacji
Reklama wyświetlana przy otwarciu aplikacji to format reklamy, który pojawia się, gdy użytkownicy otwierają Twoją aplikację lub do niej wracają. Reklama nakłada się na wczytywany ekran.
Implementowanie reklam wyświetlanych przy otwarciu aplikacji