Vungle SDK - Unity集成指南

开始之前

要求

Vungle Unity plugin支持Unity editor 2017和更高版本。

  • iOS SDK v6.9.1
    • iOS9或更高版本
    • Xcode12 或更高版本
  • Android SDK v6.9.1
    • Android 4.0 (Ice Cream Sandwich - API version 14 和更高版本)
    • Amazon OS 5.4 和更高版本
    • 需要 Android Java 1.7或以上版本
  • Windows SDK v6.8.0
    • Universal Windows Platform (UWP)

下载Plugin

点击此处下载plugin。

示例工程

 https://github.com/Vungle/Unity-Plugin

步骤 1:使用 Vungle Unity 插件设置 Unity 项目

将 Vungle Unity 插件添加到 Unity 项目中

在 Unity 中打开您的项目,双击下载的 VunglePlugin.unitypackage 文件以将 Vungle Unity 插件添加到您的应用程序。当“导入 Unity 程序包”窗口打开时,点击“全部”即可选择全部,然后导入。

如果以前导入过Vungle plugin,请务必先移除,再进行导入。

在构建设置中选择面向的正确平台。

为了避免编译问题,请确认你的工程Build Settings (cmd + Shift + B) 设置为正确的 iOS, Android, 或 UWP platform。

iOS

添加 SKAdNetworkIDsInfo.plist

适配 iOS 14+ 的 SKAdNetwork framework。请Vungle的SKAdnetwork ID清单添加到您的 Info.plist 文件中。

根据 Apple’s documentation 来配置您的 Info.plist文件。 请根据 Xcode documentation 来修改清单。

请根据以下步骤来配置您的 SKAdNetworkIDs :

在Unity中设置SKAdNetworkIDs:

Unity将自动添加SKAdNetworkIDs 到 Info.plist 。 添加的SKAdNetworkIDs 可以在VungleiOSBuildHelper.cs数组 string[] SKAdNetwork 中查看。

在Unity中设置SKAdNetworkIDs:

  1. 在Xcode,您的工程中,打开 Info.plist 文件。
  2. 在Info.plist文件中,点击在一个key旁的加号 (+) 来创建一个新的属性的key。
  3. 录入 SKAdNetworkItems 并选择 Array
  4. 添加dictionary,并在dictionary中添加一个String。
  5. 每一个String项,请添加 SKAdNetworkIdentifier 为 key和ad network identifier 为其数值。

Vungle SDKAdNetwork ID列表中包含了Vungle和一些从Vungle买量的外部DSP。列表有两种形式:JSON 和 XML 。请注意,Vungle的SKAdNetwork ID列表是定期更新的:

AppTrackingTransparency

Apple 在iOS 14中引入了 ATT framework。该framework对于Plugin不是必须的。如果您计划使用该framework,请完成以下步骤:

Attach a handler to Vungle.onAppTrackingEvent and receive a callback when the prompt is complete. To trigger the prompt use: Vungle.RequestTrackingAuthorization(). The prompt shows the string message from the plist variable NSUserTrackingUsageDescription inside Vungle/Editor/VungleiOSBuildHelper.cs.

If you do not plan to trigger the prompt, do not add the plist variable. Remove rootDict.SetString("NSUserTrackingUsageDescription", NSUserTrackingUsageDescription); in the method PostProcessIosBuild found in the class VungleiOSBuildHelper.cs.

Android 或 Amazon

Amazon 应用商店

Vungle Android SDK支持 Amazon OS 5.4和更高版本。您只需要做一些额外的设置,就可以提交Android APK到Amazon Appstore。详情请查看Unity instructions

Google Play Services

添加Google Play Services到您的工程,能否让Vungle提供更个性化的广告给用户,但这不是必须的。我们建议使用 16.0.0 或更高版本。

如果要添加Google Play Services,我们建议查看文档Google's setup guide on the developer portal

Android依赖

Vungle Android SDK要求添加以下依赖,您可以选择手动集成或使用Maven Gradle集成。

implementation 'androidx.appcompat:appcompat:1.2.0'
// When appcompat is not used, core and localbroadcastmanager can be used instead
// implementation "androidx.core:core:1.3.1"
// implementation "androidx.localbroadcastmanager:localbroadcastmanager:1.0.0"

对于 Unity 2018.1 或更低版本,在安卓平台设置 hardwareAccelerated

hardwareAccelerated 是Vungle SDK 为了正确展示MREC广告。然而, Unity 强制要求该值为 false。即使该值设置为'true' 在 AndroidManifest.xml 文件中。为了修正这个问题,Vungle plugin使用脚本设置为'true'。但是该功能只在Unity 2018.2 和更高版本。因此,如果您使用Unity 2018.1 或更低版本,您必须在Android Studio上手动设置该值。

示例代码:

<application android:hardwareAccelerated="true" ...>

Windows

修改工程设置

  1. 打开 Build Settings (Ctrl + Shift + B).
  2. Platform, 选择 Universal Windows Platform
  3. 请设置 Build Type 为 "XAML Project"。因为 Vungle Unity plugin不支持 D3D project build type。
  4. 打开Player Settings,然后选择Publishing Settings
  5. 请确保在Capabilities申请了internetClient权限。

unity1.png

对于Vungle Unity Plugin Versions 6.7 或更低版本:请配置您的 Universal Windows Platform工程

该步骤 在 Vungle Unity Plugin v6.7.x 或更高版本不要求

Project 标签下有两个 VungleSDKProxy。在Inspector 标签下,请确认一下设置正确,Select platforms for pluginPlatform settings

Assets/Plugins/VungleSDKProxy.dll:

unity2.png
  • General
    • Auto Reference请勾选上。
    • Validate References请勾选上。
  • 设置platform
    • Editor 请勾选上。
  • Platform settings
    • CPU: 选择Any CPU
    • OS: 选择Any OS

Assets/Plugins/metro/VungleSDKProxy.winmd:

unity3.png
  • 设置platform
    • WSAPlayer请勾选上。
  • Platform settings
    • SDK: 选择Any SDK
    • ScriptingBackend:选择 Any Scripting Backend

Supported Scripting Backend

使用Unity 2018和更高版本,Vungle Unity Plugin 6.5.21及以上版本支持IL2CPP。Unity 2017只能使用.NET脚本。

Unity Version Supported Scripting Backend
2017 .NET
2018 .NET, IL2CPP
2019+ IL2CPP

步骤 2:添加代码

接下来,要初始化Vungle相关代码,并附加到Game Object中。您就开始能够调用 Vungle Unity Plugin相关代码。

初始化 SDK

越早初始化SDK,应用就越有足够的时间来缓存广告。您需要使用Vungle App ID来初始化SDK。您可以从此处获取ID(refer to "Setting Up and Reporting on Placements")。

系统会自动为每个应用程序创建一个默认广告位置。

示例代码:

public class VungleScript : MonoBehaviour {
    string appID = "";
string iosAppID = "ios_app_id";
string androidAppID = "android_app_id";
string windowsAppID = "windows_app_id"; #if UNITY_IPHONE appID = iosAppID; #elif UNITY_ANDROID appID = androidAppID; #elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO appID = windowsAppID; #endif Vungle.init(appID);
}

当 SDK 成功完成初始化后,会调用以下事件:

public static event Action onInitializeEvent;

请查看 ad format article of your choice部分,了解Event Handling。

请联系您的客户经理来优化缓存表现。

当缓存成功时, adPlayableEvent会触发并返回Placement Reference ID。(请查看文章ad format article of your choice )

Integrate Ad Formats

根据文档来集成各种广告格式:

更多定制广告

请查看 Advanced Settings 来完成您需要的SDK设置,例如GDPR, CCPA 和其他设置。

 

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

这篇文章有帮助吗?