Integrate

0. 最新 ADX Unity SDK 版本

1. 最低支持规格

  • Android

    • compileSdkVersion 35 以上

    • minSdkVersion 23 以上

  • iOS

    • iOS 13.0 以上

    • Xcode 16.0 以上

    • CocoaPods

  • Unity Editor

    • Unity 2019.4 以上

2. 添加 ADX Unity SDK

1) 下载 ADX Unity SDK。

2) 选择 Assets > Import Package > Custom Package,然后将下载的 ADXUnityPackage.unitypackage 文件找到并添加,或 ADXUnityPackage.unitypackage双击以运行。

当以新 Package 更新时,在导入 ADXUnityPackage 之前,请先删除以下所有文件夹和文件后再继续。

  • 删除 Assets/ADXLibrary 文件夹

  • 删除 Assets/GoogleMobileAds 文件夹

  • 删除 Assets/Plugins/Android 文件夹中与 AdMob 相关的文件

  • 删除 Assets/Plugins/iOS 文件夹中与 AdMob 相关的文件

3) 选择所有文件并导入。

4) Unity Play Services Resolver如果已包含,请在 ADXUnityPackage 中排除 ExternalDependencyManager 后再导入即可。

3. Project Setting

1) Android Setting

  • Assets/Plugins/Android 目录下打开 mainTemplate.gradle 文件,并在 android 部分中添加 compileOptions

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
  • 关于 Play Services Resolver,请执行以下内容。

    • 选择 Assets > External Dependency Manager > Android Resolver > Settings,然后 Use Jetifier 勾选 后执行 Force Resolver。

为通过 Jetifier 支持 AndroidX 相关的旧版兼容,务必进行此设置。

2) iOS Setting

  • 选择 Assets > External Dependency Manager > iOS Resolver > Settings > Add use_frameworks! to Podfile并确认已勾选。

  • 选择 Assets > External Dependency Manager > iOS Resolver > Settings > Link frameworks statically并确认已勾选。(当使用 Unity 引擎 2019.4 及以上时)

  • 在 Unity 编辑器中构建后,请在 Xcode 中打开 *.xcworkspace (Unity-iPhone.xcworkspace) 扩展名文件。

    在 Unity 编辑器中构建为 iOS 时,因为使用 CocoaPods,所以应打开带有 "xcworkspace" 扩展名的文件,而不是 "xcodeproj" 扩展名。
    "xcworkspace" 扩展名文件需要在 Xcode 中打开。

  • 在项目的 Build Settings 中,将 Enable Bitcode 修改为 No

<Build Settings - Enable Bitcode>
  • Unity 2019.3 及以上版本中,请将 Unity-iPhoneUnityFrameworkEnable Bitcode 都修改为 No

<Build Settings - Enable Bitcode>
  • 在 XCode > 构建目标 (UnityFramework) 选择 > Build Settings > Other Linker Flags 中,如果使用 "-all-load" 或 "-force_load" 标志进行构建,可能会发生符号重复 (Symbol Duplicate)。在这种情况下请改为使用 "-ObjC" 标志。

    <Build Settings - Other Linker Flags>
  • 请确认以下构建目标中是否已添加 "$(inherited)",如果未添加,可能会发生无法找到相关库的构建错误,因此请务必添加: Xcode > 构建目标 (Unity-iPhone) > Build Settings > Other Linker Flag Xcode > 构建目标 (UnityFramework) > Build Settings > Framework Search Paths

    <Build Settings - Other Linker Flags>

    <Build Settings - Framework Search Paths>

  • 如果出现类似 "Cannot use '@try' with Objective-C exceptions disabled" 的构建错误,请将以下设置值从 'No' 更改为 'Yes'。 - Xcode > 构建目标 (Unity-Framework) 选择 > Enable Objective-C Exceptions

<Build Settings - Enable Objective-C Exceptions>
  • 在上传到 App Store Connect (Xcode > Product > Archive) 时,请根据每个构建目标按下图设置 "Always Embed Swift Standard Libraries"。该设置可能会影响上传到 App Store Connect 是否成功。

4. iOS 14+ 支持

若支持 iOS 14 及以上,为了获取 IDFA (Identifier for Advertisers) 标识符, ATT(App Tracking Transparency) Framework必须应用。详细方法请参考以下链接。

App Tracking Transparency

5. Notice

1) Android Gradle 版本 (检查 Unity 引擎 版本)

  • 当使用低于 Gradle 推荐版本时,可能会由 AdMob Unity 插件引起 This feature requires ASM7 错误发生,可通过以下方法之一解决。

    • 通过更改 Gradle 和 Gradle Plugin 来解决(推荐)

    • 通过更新 Unity 引擎 来解决

2) AdMob App ID 初始化问题

  • 如果在 GoogleMobileAdsSettings 中输入的 App ID 被删除,请在 Unity > Assets > Google Mobile Ads > Settings 中将 Delay app measure 先勾选再取消进行处理。

最后更新于

这有帮助吗?