Unity插件集成

开始之前

  • 我们支持Unity 4.6.8及更高版本。
  • 我们支持Android操作系统版本4.1(API级别16)及更高版本。
  • 我们支持XCode 9.0及更高版本以及CocoaPods。
  • 我们建议您创建一个AdTiming帐户并注册一个Android和iOS应用。

注意: SDK的下载,使用和访问均受AdTiming Mobile SDK Publisher在线条款和条件的约束。 如果您不同意AdTiming Mobile SDK Publisher在线条款和条件,请不要下载,访问或使用SDK或基础服务。

总览

本指南适用于需要通过Unity应用获利的发布商。

AdTiming提供多样化且有效的货币化服务,并支持多种广告格式,包括原生广告,非页内广告,横幅广告和激励性视频广告。 AdTiming平台可中介AdTiming,AdMob,Facebook,UnityAds,Vungle,Tapjoy,AppLovin,AdColony,Chartboost,Pangle,Mintegral,MoPub和IronSource。

 

Unity Plugin演示应用程序

Unity Plugin演示应用程序介绍了如何将 Unity 插件集成到您的应用程序中。

下载Unity Plugin演示应用程序

 

步骤 1. 将AdTiming Unity Package 添加到您的项目中

免责声明:更新AdTiming SDK

从较早的SDK版本升级到AdTiming SDK 6.0.0及更高版本时,必须下载并更新所有中介适配器。

请按照以下步骤将AdTiming Unity软件包添加到您的项目中:

  1. 下载AdTiming Unity Plugin
  2. 打开Unity项目
  • AdTiming SDK设计用于Android和iOS平台。Unity编辑器包含一个与Unity代码一起使用的模拟器。为了使用我们的插件,您必须以Android或iOS版本为目标来测试集成。
  1. 导入Unity Package
  • Navigate to Assets -> Import Package -> Custom Package.

WechatIMG23.png

  • 选中 AdTimingUnityPlugin(Vx.x.x).unitypackage 文件。
  • 导入所有文件,并确保避免与文件冲突。 (双击解压后的文件; 不同的文件将自动填充,如下所示) 。

UnityPluginPackage.png

 

步骤 2.Unity 集成管理工具

AdTiming Unity集成管理工具基于Google External Dependency Manager ,它将使您能够直接从Unity开发平台下载最新版本的AdTiming SDK和中介适配器。

UnityIntegrationManger.png 管理SDK版本

导入Unity package之后,您将可以在Unity菜单栏中查看AdTiming子菜单

UnityIntegrationMangerMenu.png

更新AdTiming SDK或中介适配器

  • 打开集成管理工具:AdTiming > Integration Manager
  • 选择 “Install” or “Update“

如果您已经是最新版本的AdTiming SDK或中介适配器,则按钮将更改为 “Updated”,并且将被禁用。

Android

使用AdTiming集成管理工具更改后需确保运行“Android Resolve”

手动运行: Assets →External Dependency Manager  → Android → Resolve

如果您启用 “Auto-Resolution”,则将在关闭Integration Manager窗口时执行所有更新。

使用Gradle

如果您的项目使用gradle请按以下步骤设置Android  Resolver

  1. 打开Android  Resolver 设置面板Assets → External Dependency Manager → Android  Resolver → Settings 
  2. 选择 “Patch mainTemplate.gradle”
  3. 点击 “OK” 保存修改

unityGradleTemplateSettings.png

iOS

确保已安装CocoaPods: Assets →External Dependency Manager → iOS Resolver → Install CocoaPods

 

步骤 3. iOS项目配置

App Transport Security Settings

  • 添加一个名为 'App Transport Security Settings' 的字典,确保将次字典添加到 'Top Level Key'

  • 在此字典中,添加一个名为 'Allow Arbitrary Loads' 的布尔值 并将其 设置为YES。

UnityiOSSetting.png

Info.plist 配置(可选)

如果您使用 Unity 集成管理工具添加了 AdMob SDK,您需要在Admob一栏的下拉框中,添加一个字符串值为您的 AdMob 应用 ID 的 GADApplicationIdentifier。您可以在 AdMob 界面中找到您的应用 ID。

WechatIMG51.png

注意:请务必使用您的实际 AdMob 应用 ID,而不是上面列出的 ID。

警告! 自 Google 移动广告 SDK 7.42.0 版本开始,均须执行此步骤。如果未能添加此 Info.plist 条目,将会导致崩溃,并显示以下消息:"The Google Mobile Ads SDK was initialized incorrectly."

 

步骤 4. 初始化广告单元

在加载广告之前,通过使用您的AppKey调用 AdTiming.Agent.init("appKey") 来初始化AdTiming SDK。 最好在应用程序启动时完成此操作,只需执行一次即可。 这是一个示例,说明如何在附加到GameObject的脚本的 Start( ) 方法内调用 Init( ) 。

public void Start()
{
    AdTiming.Agent.init("Your AdTimingAppKey");
} 

AdTiming Unity插件会触发初始化事件,以通知您SDK初始化的结果。

添加以下代码以注册到事件:

public class InitScript : MonoBehaviour {
  void Start() 
  {
    AdTimingEvents.onSdkInitSuccessEvent += SdkInitSuccessEvent;
AdTimingEvents.onSdkInitFailedEvent += SdkInitFailedEvent;
} }

是否初始化

调用init( ) 方法后,您还可以使用以下代码来确定SDK是否已成功初始化。

// To determine the result of init()
AdTiming.Agent.isInitialized()

  

上报IAP数据(可选)

IAP是 in-App Purchase的缩写,中文称为“应用内购买”,表示该设备的用户在应用内购买虚拟商品的花费。您可以通过SDK的setIAP接口上报用户购买虚拟商品的金额数据,这些IAP数据可以帮助我们为您的用户更加精准的投放广告,从而获得更好的广告收益。

AdTiming.Agent.setIap(float count, String currency); 

currency 是一个代表货币代码的字符串类型参数,按ISO国际标准组织的 ISO 4217:2008标准定义。

您可以在SDK初始化后的任何时候上报IAP数据,比如在初始化回调InitCallback 的onSuccess方法中处理,在用户发生IAP购买行为的时候,您可以调用该方法及时更新IAP数据。

…
AdTiming.Agent.setIap(12.30, 'USD');
… 

 

传递归因信息(可选)

如果您项目同时集成了AppsFlyer SDK,我们需要您将应用归因数据传递到AdTiming,以便我们帮您准确计算各Media Source、Campaign层级ROAS及LTV数据。

1.在AppsFlyer onConversionDataSuccess 回调中调用 sendAFConversionData:

public void onConversionDataSuccess(string conversionData) {
    AdTiming.Agent.sendAFConversionData(conversionData);
}

2.在AppsFlyer onAppOpenAttribution 回调中调用 sendAFDeepLinkData:

public void onAppOpenAttribution(string validateResult) {
    AdTiming.Agent.sendAFDeepLinkData(validateResult);
}

 

Proguard 

仅适用于 Proguard 用户

若您通过 AdTiming SDK 使用 ProGuard,您必须添加以下代码至您的 ProGuard 文件中 (Android Studio: proguard-rules.pro 或 Eclipse: proguard-project.txt):

-dontskipnonpubliclibraryclasses
# SDK API
-keep class com.adtiming.mediationsdk.mediation.**{*;}
-keep class com.mopub.**{*;}
-keep class com.aiming.mdt.**{*;}

# Mediation interface
-keep class com.adtiming.mediationsdk.mobileads.**{*;}

#R
-keepclassmembers class **.R$* {
public static <fields>;
}
-keepattributes *Annotation*,InnerClasses
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}

 

步骤 5. iOS 14 配置

SKAdNetworkItems

  • 添加一个名为 'SKAdNetworkItems' 的数组,确保将次字典添加到 'Top Level Key'

  • 添加一个字典到此数组,添加一个'SKAdNetworkIdentifier' 的字符串 , 并将其设置 为'488r3q3dtq.skadnetwork'。

SKAdNetwork.png 

应用跟踪透明度

  • 要显示用于访问IDFA的App Tracking Transparency授权请求,请更新您的信息Info.plist:添加带有描述您的自定义消息的'NSUserTrackingUsageDescription'键。

attinfo.png

  • 要显示授权请求,请调用'requestTrackingAuthorizationWithCompletionHandler:' 我们建议在加载广告之前等待完成回调,这样如果用户授予App跟踪透明权限,AdTiming SDK就可以在广告请求中使用IDFA。
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
- (void)requestUserIDFA { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { // Tracking authorization completed. Start loading ads here.
// [self loadAd];
}];
import AppTrackingTransparency
import AdSupport
func resquestUserIDFA() { ATTrackingManager.requestTrackingAuthorization(completionHandler: {status in // Tracking authorization completed. Start loading ads here.
// loadAd()
})
}

 

恭喜您完成了AdTiming Unity插件的集成。接下来需要做的工作:

参考广告单元在您的应用中集成激励视频、插屏、横幅广告。

 

这篇文章有帮助吗?
4 人中有 4 人觉得有帮助

评论

0 条评论

文章评论已关闭。