本文主要是介绍AppsFlyer Unity V6,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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报错问题,都耽误了很久时间。
具体遇到坑每个人遇到的可能都不一样,可以留言一起进行讨论。
这篇关于AppsFlyer Unity V6的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!