赞
踩
进入TalkingData官网 记得注册账号哦~
这个App ID圈起来,一会有用
这里可以选择需要的功能
然后选择我同意(霸王条款),填写邮箱
会跳转到github仓库
点击第一个zip就自动下载了
这里可能有朋友打不开这个界面,所以百度云链接如下(步骤5、6的两个压缩包都在里面)
链接:https://pan.baidu.com/s/11L_oUfcbDkoSelCFUJ2A1Q?pwd=a3uc
提取码:a3uc
TalkingDataTools代码如下( 其中appId在网页的应用管理 - 基本信息 - AppID 中找 ):
using System.Collections.Generic;
using UnityEngine;
public class TalkingDataTools
{
static bool isInit = false;
// 这里为了信息安全,所以没写
static string appId = ""; // TD - 应用管理 - 基本信息 - AppID
// static Dictionary<string, object> _params = new Dictionary<string, object>();
private static bool IsCheck()
{
// 根据平台类型选择是否初始化TalkingData(视项目要求而定)
// 这里默认安卓或IOS会初始化
#if UNITY_ANDROID || UNITY_IPHONE
return false;
#else
return true;
#endif
}
public static void Init()
{
if (Application.platform != RuntimePlatform.OSXEditor && Application.platform != RuntimePlatform.WindowsEditor)
{
if (IsCheck()) return;
TalkingDataSDK.Init(appId, "Test_Init", "");
if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
{
isInit = true;
}
}
}
public static void OnEvent(string eventId, Dictionary<string, object> parameters)
{
if (Application.platform != RuntimePlatform.OSXEditor && Application.platform != RuntimePlatform.WindowsEditor)
{
if (IsCheck()) return;
if (!isInit)
{
Debug.LogError("TD was inited, please call Init Function first...");
return;
}
if (parameters != null)
{
foreach (var item in parameters)
{
Debug.Log($"---OnEvent {eventId} : {item.Key} : {item.Value.ToString()} ---");
}
}
TalkingDataSDK.OnEvent(eventId, parameters);
}
}
}
TestTalkingData代码:
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestTalkingData : MonoBehaviour
{
[SerializeField] Text text1;
[SerializeField] Text text2;
[SerializeField] Text text3;
private void Start()
{
text1.text = "-- Start Func --";
TalkingDataTools.Init();
text2.text = "-- Init End--";
TalkingDataTools.OnEvent("Simulate_Login", new Dictionary<string, object>()
{
{"Simulate_Login1830", "Simulate_Login1830"}
});
text3.text = "-- Simulate_Login End--";
}
}
其中LauncherManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.DefaultCompany.NewUnityProject2"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="preferExternal">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
<application
android:label="@string/app_name"
android:icon="@mipmap/app_icon" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" />
<!-- <uses-permission android:name="android.permission.READ_SMS" />-->
<!-- <uses-permission android:name="android.permission.SEND_SMS" />-->
<!-- <uses-permission android:name="android.permission.WRITE_SETTINGS" />-->
<!-- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />-->
<!-- 网络状态使用,不会访问用户-->
<!-- 网络访问权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 允许程序访问有关 GSM 网络信息-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 允许程序访问 Wi-Fi 网络状态信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 查看 log 日志使用,不会访问用户-->
<!-- 允许程序读取底层系统日志文件-->
<uses-permission android:name="android.permission.READ_LOGS" tools:ignore="ProtectedPermissions" />
<!-- 允许一个程序打开窗口使用-->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- 读写存储空间使用,不会访问用户-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" />
<!-- 允许应用程序读取设备外部存储空间的文件 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 创建与删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTENS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
对于Build下的这几个选项,可以勾也可以不勾选
如图依次选择
新建导出目录,并选择
打开工程是这样的
使用Gradle文件同步工程
这里可能会有一个弹窗,选择Use Android Studio’s SDK 即可
除此之外,这里还可能会有很多问题,大概是Gradle版本问题,因为新机器第一次装Android Studio,有一些环境没配好,或者由于网络代理原因,需要的Gradle版本下不下来
以上两个图是理想情况下
百度云链接:https://pan.baidu.com/s/1naer-QGhT5utFl1eMmDk4w?pwd=5bsw
提取码:5bsw
这里只包含7.1-7.6和8.0
然后放到as的依赖路径下,注意下的是bin不是all
我们以7.5.1举例,查看gradle文件路径
默认安装到C盘
在点击使用Gradle文件同步工程后,AS可能自动下载Gradle文件,但是由于国内代理原因十有八九会连接超时,下载失败,这时找到这个文件夹(不一定叫这个名),双击打开
将下好的gradle手动解压到目录下
如果还有坑就百度,笔者所遇到的问题基本都是Gradle没下好
如果一切安装妥当,导出工程后,用AS打开,顺理成章,特别理想
其它问题就百度吧,报错信息一搜,基本都可以解决~
这里需要有一个keystore文件,放到导出目录下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。