irpas技术客

AppsFlyer Unity V6_愤怒的斑马

irpas 3163

AppsFlyer Unity Plugin V6 踩坑记录

Unity plugin V6 插件链接

首先粗略讲一下EDM4U(Unity外部依赖管理器)。 EDM4U类似于一个插件管理器,通过Android Resolver 和 iOS Resolver来进行库文件的下载、更新、去重等,目前新的facebook,google,appsflyer等插件都自带这两个玩意儿了。iOS开发需要注意一点,没有安装CocoaPods,则需要使用/Assets/External Dependency Manager/iOS Resolver/Install Cocoapods 进行安装,当然熟悉Mac的同学直接使用命令进行安装即可,iOS是通过CocoaPods下载依赖库;

github详细分析

接下来先从android开始分析

先来看张图 如果是刚导入插件,则直接Reset to Defaults点击OK就行,他会自动给你下载依赖库,在Unity项目ProjectSettings里生成AndroidResolverDependencies.xml和GvhProjectSettings.xml两个文件,其中AndroidResolverDependencies.xml包含了所需package和依赖文件,如果和项目里存在库冲突需要手动删除冲突文件,比如常存在冲突的文件如下: com.android.installreferrer.installreferrer-2.1.aar org.jetbrains.kotlin.kotlin-stdlib-1.4.21.jar org.jetbrains.kotlin.kotlin-stdlib-common-1.4.21.jar

下完了在如上取消勾选,为啥要取消这些勾选或者卸载掉EDM4U,不然出现在你build apk的时候,他会莫名其妙的删除下载的依赖包,我这里不知道为啥,有大佬可以指点一下!

其中上图中2 Patch AndroidManifest.xml 会更改你的Android Manifest.xml文件,如果不想要更改直接取消勾选。

build apk 基本上问题都不大,导出apk出错基本上都是和之前旧版本的插件依赖库重复,仔细看日志就能解决。

iOS 构建xcode工程分析

第一次导入插件,使用默认配置就行,导出xcode工程时CocoaPods会自动下载依赖库和文件;第一遍基本上是报错的,我这里遇到的就是关于CocoaPods 编码问题:具体报错是CocoaPods requires your terminal to be using UTF-8 encoding. 报错日志很多,往下翻就能看到这个错误。我这里按照网上教程如下: 如何更改环境变量

解决后,就能导出xcode工程了;导出的xcode的工程打开 .xcworkspace,这里使用Cocoapods会把项目的依赖库更改的乱七八糟;我这里没使用CocoaPods进行依赖库的下载,从github上下载库文件直接放入到Unity Assets/Plugins/iOS/AppsFlyer文件中,使用这种方法需要把EDM4U对应平台的都选全部取消或者卸载。下载地址如下: AppsFlyer iOS库文件,翻到链接最底部点击 Download the iOS SDK as a static library

导出工程,打开xcodeproj进行build;如遇到报错,基本上都是依赖库不存在或者库冲突,自行摸索解决。

接下来查看AppsFlyer 初始化是否成功 按照官方文档直接将预设体拖进场景,在脚本配置项添加有产品申请好的android和iOS DevKey,AppID。AppsFlyer 后台添加测试机,直接商店外下载就行 获取设备OAID和IDFA 难处主要是导入插件后各平台的环境问题,其中Android构建包自动删除依赖库问题,iOS 导出Xcode工程CocoaPods报错问题,都耽误了很久时间。 具体遇到坑每个人遇到的可能都不一样,可以留言一起进行讨论。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #AppsFlyer #Unity #V6 #plugin #V6踩坑记录Unity