Does Unity have a mobile ad SDK?

Integrer Annoncer i Unity iOS-Spil med Succes

23/08/2022

Rating: 4.77 (15062 votes)

I den dynamiske verden af mobilspiludvikling er monetarisering nøglen til succes og bæredygtighed. Annoncer udgør en af de mest effektive måder at generere indtægter på, samtidig med at du tilbyder dit spil gratis til et bredt publikum. For Unity-udviklere, der sigter mod iOS-platformen, er integrationen af robuste annonce-SDK'er afgørende. Denne artikel vil guide dig gennem processen med at implementere to af de mest populære og kraftfulde annonceplatforme: Unity Ads og Google Mobile Ads (AdMob), med særligt fokus på den anbefalede installationsmetode via CocoaPods, som strømliner afhængighedshåndteringen markant.

How do I use CocoaPods for Unity Ads?
To use CocoaPods for UnityAds: To manually install Unity Ads: This integration method requires that you set the Framework Search Paths and Header Search Paths properties in your Build settings. Download the Unity Ads framework from the Assets section of your preferred SDK release.

Uanset om du er ny inden for mobilannoncering eller ønsker at optimere din nuværende opsætning, vil denne guide give dig den viden og de værktøjer, du har brug for til at integrere annoncer problemfrit i dine iOS-spil, løse almindelige problemer og maksimere dit indtjeningspotentiale. Lad os dykke ned i detaljerne og gøre dit spil klar til at generere indtægter!

Indholdsfortegnelse

Unity Ads: En Nem Start til Indtjening i Dine Spil

Unity Ads er en populær annonceplatform, der er tæt integreret med Unity-udviklingsmiljøet, hvilket gør den til et naturligt valg for mange spiludviklere. Den giver dig mulighed for at vise videoannoncer, der kan belønne spillere og dermed forbedre engagementet, samtidig med at du genererer indtægter.

Installation af Unity Ads via CocoaPods

Den mest effektive og anbefalede metode til at installere Unity Ads i dit iOS-projekt er ved brug af CocoaPods. CocoaPods er en afhængighedsmanager for Swift og Objective-C Cocoa-projekter, der automatisk håndterer de nødvendige biblioteker og indstillinger for dig.

For at komme i gang skal du blot åbne din projektmappe i terminalen og redigere din Podfile. Hvis du ikke allerede har en Podfile, kan du oprette en ved at køre pod init i din projektmappe.

Tilføj følgende linje til din Podfile:

pod 'UnityAds'

Efter at have tilføjet linjen, gem Podfile'en og kør følgende kommando i terminalen fra din projektmappe:

pod install

Denne kommando vil downloade Unity Ads SDK'et og integrere det i dit Xcode-projekt. Fremover skal du åbne din .xcworkspace-fil (i stedet for din .xcodeproj-fil) for at arbejde med dit projekt, da CocoaPods opretter et nyt workspace, der inkluderer alle dine pods.

Manuel Installation af Unity Ads (Anbefales ikke for de fleste)

Selvom CocoaPods er den foretrukne metode, er det også muligt at installere Unity Ads manuelt. Denne metode kræver, at du downloader Unity Ads framework-filen direkte fra Unitys SDK-udgivelsesside (vælg altid den nyeste version for optimal support) og trækker den ind i dit Xcode-projekt. Du skal derefter manuelt konfigurere Framework Search Paths og Header Search Paths i dine Build Settings, hvilket kan være fejlbehæftet og tidskrævende. For de fleste udviklere er CocoaPods-metoden langt at foretrække.

Vigtigt for iOS 14 og Nyere: Netværks-ID i Info.plist

For projekter, der målretter brugere, der kører iOS 14 eller nyere, er det et krav at implementere Unity Ads' netværks-ID i din Info.plist-fil. Dette er en del af Apples App Tracking Transparency (ATT) ramme og er afgørende for at sikre korrekt annoncedisplay og databehandling. Sørg for at tilføje de nødvendige indstillinger som beskrevet i Unity Ads' officielle dokumentation.

Swift Optimering og Kompatibilitet (SDK version 4.4.0 og nyere)

Fra SDK version 4.4.0 er Unity Ads blevet optimeret ved brug af programmeringssproget Swift. Dette har forbedret ydeevnen og integrationen, men kræver visse overvejelser i projekter, der primært bruger Objective-C.

  • Hvis dit projekt allerede bruger Swift: Der kræves ingen yderligere handling. SDK'et vil fungere problemfrit.
  • Hvis dit projekt ikke bruger Swift: Du skal tilføje en tom Swift-fil til dit projekt i Xcode. Dette gøres ved at vælge File > New > Swift File. Du behøver ikke at skrive kode i filen; selve tilstedeværelsen af en Swift-fil i projektet aktiverer Swift-runtime-understøttelse.

Bemærk: Hvis dit projekt målretter en iOS-version tidligere end 12.4, skal du sikre dig, at indstillingen Always Embed Swift Standard Libraries er sat til YES under Build Settings for din applikations mål i Xcode. Dette sikrer, at alle nødvendige Swift-biblioteker inkluderes i din app.

Almindelige Swift Interoperabilitetsproblemer og Løsninger

Under installationen af Unity Ads SDK'et kan du støde på Swift-relaterede problemer:

  • Xcode viser mange Undefined symbol _swift_FORCE_LOAD$_ fejl: Dette skyldes typisk, at projektet ikke er konfigureret korrekt til at inkludere Swift-biblioteker.
  • Løsning: Tilføj en tom Swift-fil til dit projekt i Xcode (File > New > Swift file), som beskrevet ovenfor. Dette tvinger Xcode til at linke de nødvendige Swift-biblioteker.
  • Applikationen crasher efter start med fejlen: dyld: Library not loaded: @rpath/libswiftCore.dylib: Denne fejl indikerer, at Swift-standardbibliotekerne ikke er indlejret i din applikationspakke.
  • Løsning: Sørg for, at indstillingen Always Embed Swift Standard Libraries er sat til YES under Build Settings for din applikations mål i Xcode.

Google Mobile Ads (AdMob): Udvid Dine Muligheder for Annoncering

Google Mobile Ads SDK'et (tidligere kendt som AdMob) giver Unity-udviklere mulighed for at vise Google-annoncer på både Android- og iOS-enheder uden at skulle skrive Java- eller Objective-C-kode. Plugin'et tilbyder en C#-grænseflade, der interagerer med dit Unity-projekt.

Forudsætninger for Google Mobile Ads Integration

Før du begynder integrationen, skal du sikre dig, at dit udviklingsmiljø opfylder følgende krav:

  • Unity Editor 2019.4 eller en nyere version.
  • For iOS-implementering:
    • Xcode 16.0 eller en nyere version.
    • Målrettet iOS 12.0 eller nyere.
    • CocoaPods installeret.
  • For Android-implementering (kort nævnt):
    • Minimum Android API-niveau 23 eller højere.
    • Målrettet API-niveau 34 eller højere. (Dette indstilles i Project Settings > Player > Android > Other Settings).

Import af Google Mobile Ads-pluginnet

Der er flere måder at importere Google Mobile Ads-pluginnet på. Den mest moderne og anbefalede metode er via OpenUPM.

Import via OpenUPM

Hvis du har OpenUPM CLI installeret, kan du tilføje OpenUPM-registret og installere pluginnet med denne kommando:

openupm add com.google.ads.mobile

Alternativt kan du gøre det direkte i Unity Editor:

  1. Åbn Package Manager-indstillingerne ved at vælge Edit > Project Settings > Package Manager.
  2. Tilføj OpenUPM som et scoped registry:
    • Name:OpenUPM
    • URL:https://package.openupm.com
    • Scopes:com.google
  3. Åbn Package Manager-vinduet ved at vælge Window > Package Manager.
  4. Skift dropdown-menuen for Package Managerens scope til My Registries.
  5. Vælg Google Mobile Ads for Unity-pakken fra listen og tryk på Install.

Fjernelse af gamle .unitypackage ressourcer (Vigtigt ved migration)

Hvis du migrerer fra en ældre .unitypackage-installation til OpenUPM, er det afgørende at du manuelt afinstallerer de tidligere importerede ressourcer. Fjern følgende mapper fra dit projekt:

  • Assets/ExternalDependencyManager
  • Assets/GoogleMobileAds
  • Assets/Plugins/Android/googlemobileads-unity.aar
  • Assets/Plugins/Android/GoogleMobileAdsPlugin
  • Assets/Plugins/iOS/GADUAdNetworkExtras
  • Assets/Plugins/iOS/unity-plugin-library.a

Import fra GitHub (.unitypackage)

Som et alternativ kan du downloade den seneste .unitypackage-version direkte fra AdMobs GitHub-side. Importer derefter filen ved at vælge Assets > Import Package > Custom Package i Unity og importere alle elementer.

How do I use CocoaPods for Unity Ads?
To use CocoaPods for UnityAds: To manually install Unity Ads: This integration method requires that you set the Framework Search Paths and Header Search Paths properties in your Build settings. Download the Unity Ads framework from the Assets section of your preferred SDK release.

Håndtering af Eksterne Afhængigheder (Unity Play Services Resolver)

Google Mobile Ads-pluginnet til Unity distribueres med Unity Play Services Resolver-biblioteket. Dette bibliotek er designet til at håndtere eksterne afhængigheder for Unity-plugins, uanset om det er Android AAR'er eller iOS CocoaPods. Det automatiserer processen med at løse og kopiere afhængigheder til dit Unity-projekt.

Vigtigt: For at sikre overholdelse af privatlivsbestemmelser og få adgang til alle funktioner, skal du altid bruge den nyeste Google Mobile Ads SDK.

For at sikre, at dit projekt inkluderer alle afhængigheder:

  • For Android: Gå til Project Settings > Player > Android > Publishing Settings > Build og vælg Custom Gradle Template for Main og Custom Gradle Properties Template. I Unity Editor, vælg derefter Assets > External Dependency Manager > Android Resolver > Resolve.
  • For iOS: Unity til iOS bruger CocoaPods til at identificere og administrere afhængigheder. Sørg for, at CocoaPods er korrekt konfigureret i dit system. Afhængighederne for Google Mobile Ads-pluginnet er specificeret i filen Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml, og Unity Play Services Resolver vil automatisk håndtere installationen via CocoaPods.

Konfigurer dit AdMob App-ID

Efter at have importeret SDK'et, skal du konfigurere dit unikke AdMob App-ID. Dette er afgørende for, at AdMob kan identificere din app og levere de rigtige annoncer.

  1. I Unity Editor, vælg Assets > Google Mobile Ads > Settings fra menuen.
  2. Indtast dit AdMob App-ID for både Android og iOS i de respektive felter. Du kan finde disse ID'er i din AdMob-konto.

Initialiser SDK'et

Før du kan begynde at indlæse annoncer, skal din app initialisere Google Mobile Ads SDK'et ved at kalde MobileAds.Initialize(). Dette skal kun gøres én gang, ideelt set når appen starter.

Vigtig Advarsel om Samtykke: Annoncer kan blive forudindlæst af Google Mobile Ads SDK'et eller af mediationspartner-SDK'er efter et kald til MobileAds.Initialize(). Hvis du skal indhente samtykke fra brugere i Det Europæiske Økonomiske Samarbejdsområde (EØS), skal du konfigurere eventuelle specifikke anmodningsmarkører (f.eks. tagForChildDirectedTreatment eller tag_for_under_age_of_consent) eller udføre den relevante handling, før du indlæser annoncer. Sørg for at gøre dette, før du initialiserer Google Mobile Ads SDK'et. Hvis du bruger mediation, vent da på, at callback'et sker, før du indlæser annoncer for at sikre, at alle mediation-adaptere er initialiseret.

Her er et eksempel på, hvordan du kalder MobileAds.Initialize() i din C#-kode:

using GoogleMobileAds.Api;
using UnityEngine;

public class AdManager: MonoBehaviour
{
void Start()
{
// Initialiser Google Mobile Ads SDK'et
MobileAds.Initialize((InitializationStatus initStatus) =>
{
if (initStatus != null)
{ Debug.Log("Google Mobile Ads initialisering fuldført.");
// Herfra kan du begynde at indlæse annoncer
}
else
{
Debug.LogError("Google Mobile Ads initialisering mislykkedes.");
}
});
}
}

Vælg dit Annonceformat: Optimer Brugeroplevelsen og Indtjeningen

Efter at have integreret SDK'et er det tid til at vælge de annonceformater, der bedst passer til dit spil og din brugeroplevelse. AdMob tilbyder en række forskellige annonceformater, hver med sine unikke fordele.

  • Bannerannoncer: Disse viser rektangulære annoncer, der optager en del af en apps layout. De kan opdateres automatisk efter et fastsat tidsrum, hvilket betyder, at brugere ser nye annoncer regelmæssigt, selvom de forbliver på samme skærm. De er det nemmeste annonceformat at implementere og er ideelle til konstant, diskret indtjening.
  • Interstitielle Annoncer: Disse er fuldskærmsannoncer, der vises ved naturlige pauser og overgange i din app, f.eks. efter et niveau er gennemført i et spil, eller når en scene skifter. De er meget effektive, da de fanger brugerens fulde opmærksomhed.
  • Native Annoncer: Med native annoncer kan du tilpasse den måde, annonceaktiver (som titler og call-to-action-knapper) præsenteres på i dine apps. Ved at matche annoncens design med din apps overordnede udseende, kan du skabe en mere naturlig og diskret annonceoplevelse, der bidrager til en rigere brugeroplevelse.
  • Belønnede Annoncer: Disse annonceblokke giver brugere mulighed for at se videoer, gennemføre undersøgelser eller spille minispil for at modtage belønninger i appen, såsom mønter, ekstra liv eller point. Brugere skal aktivt vælge at se disse annoncer, hvilket ofte resulterer i højere engagement og tilfredshed, da de får værdi for deres tid. Du kan definere de specifikke belønninger for hver annonceenhed.
  • Belønnede Interstitielle Annoncer: Dette er en ny type incitamentsbaseret annonceformat, der giver dig mulighed for at tilbyde belønninger, f.eks. mønter eller ekstra liv, for annoncer, der vises automatisk under naturlige app-overgange. I modsætning til standard belønnede annoncer kræver brugere ikke at aktivere visningen af en belønnet interstitiel annonce. I stedet for en acceptprompt, kræver belønnede interstitielle annoncer en introduktionsskærm, der annoncerer belønningen og giver brugere mulighed for at afvise annoncen, hvis de ønsker det.
  • App-åbningsannoncer: Dette annonceformat vises, når brugere åbner eller vender tilbage til din app. Annoncen lægger sig oven på indlæsningsskærmen og er en effektiv måde at monetarisere de første interaktioner med appen på.

Ofte Stillede Spørgsmål om Annonceintegration i Unity iOS

Hvad er forskellen på Unity Ads og Google Mobile Ads (AdMob)?

Unity Ads er primært en platform for videoannoncer, der er tæt integreret med Unity-økosystemet og ofte bruges til at drive belønnede videoer og interstitielle annoncer i spil. Google Mobile Ads (AdMob) er Googles mobile annonceplatform, der tilbyder et bredere udvalg af annonceformater, herunder banner, interstitial, native, belønnede videoer og app-åbningsannoncer. AdMob giver adgang til Googles enorme annoncenetværk og understøtter mediation, hvilket giver dig mulighed for at integrere annoncer fra flere netværk for at maksimere indtjeningen. Mange udviklere vælger at bruge begge for at diversificere deres indtægtskilder.

Hvorfor skal jeg bruge CocoaPods til iOS-integration?

CocoaPods er en afhængighedsmanager, der forenkler processen med at integrere tredjepartsbiblioteker (som annonce-SDK'er) i dit Xcode-projekt. Det automatiserer download, opsætning af build-indstillinger og opdatering af biblioteker, hvilket reducerer risikoen for manuelle fejl og gør vedligeholdelsen af dit projekt meget lettere. Det sikrer, at alle de nødvendige komponenter er korrekt linket og konfigureret, hvilket sparer dig for betydelig tid og frustration.

Hvad gør jeg, hvis jeg får Swift-fejl under installationen af Unity Ads?

Hvis du støder på fejl som Undefined symbol _swift_FORCE_LOAD$_ eller dyld: Library not loaded: @rpath/libswiftCore.dylib, skyldes det ofte manglende Swift-runtime-understøttelse i dit Objective-C-projekt. Løsningen er typisk at tilføje en tom Swift-fil til dit Xcode-projekt (File > New > Swift file). Sørg også for, at indstillingen Always Embed Swift Standard Libraries er sat til YES under Build Settings for din applikations mål i Xcode, især hvis du målretter ældre iOS-versioner (før 12.4).

Skal jeg bede om samtykke fra brugere, før jeg viser annoncer?

Ja, absolut! Hvis din app er tilgængelig for brugere i Det Europæiske Økonomiske Samarbejdsområde (EØS) eller Storbritannien, er du juridisk forpligtet til at indhente gyldigt samtykke fra brugerne, før du behandler personlige data eller viser personlige annoncer. Dette er i henhold til GDPR (General Data Protection Regulation) og ePrivacy-direktivet. Du bør implementere en samtykkeløsning (f.eks. ved hjælp af Googles User Messaging Platform, UMP SDK) og indhente samtykke, før du initialiserer annonce-SDK'erne og indlæser annoncer. Manglende overholdelse kan føre til bøder og tab af annonceindtægter.

Hvilket annonceformat er bedst for mit spil?

Det 'bedste' annonceformat afhænger af dit spils design, brugeroplevelse og dine monetariseringsmål. Bannerannoncer er gode til passiv indtjening og konstant synlighed. Interstitielle annoncer er effektive til at fange opmærksomhed ved naturlige pauser. Belønnede annoncer er fantastiske til at forbedre brugerengagement og fastholdelse, da de giver værdi til spilleren. Native annoncer tilbyder en sømløs og mindre påtrængende oplevelse. Overvej at eksperimentere med forskellige formater og analysere dine indtægter og brugerfeedback for at finde den optimale balance for dit specifikke spil.

Ved at følge denne guide er du nu godt rustet til at integrere både Unity Ads og Google Mobile Ads (AdMob) i dine Unity iOS-spil. Husk, at en vellykket annonceintegration ikke kun handler om teknisk implementering, men også om at skabe en balance mellem indtjening og en positiv brugeroplevelse. Vælg de rette annonceformater, placer dem strategisk, og overhold altid gældende privatlivsregler. God fornøjelse med monetariseringen af dine spil!

Hvis du vil læse andre artikler, der ligner Integrer Annoncer i Unity iOS-Spil med Succes, kan du besøge kategorien Mobil.

Go up