unity3D技术分享

unity接入FlurrySDK

2019-03-24  本文已影响73人  好怕怕
官网

Flurry是一个免费为手机应用开发者对自己的应用进行分析统计的服务公司,他们的数据统计分析SDK支持的平台包括iPhone, iPad, Android, Windows Phone, Java ME和BlackBerry。
使用Flurry服务的公司包括eBay、Yahoo、Hulu和Skype等超过11万家公司,涉及的应用超过36万个。
利用Flurry提供的分析平台,我们可以很容易地自动统计出应用的使用情况,例如:
1、每天(每周或每月)登录用户数,应用使用次数
2、每天(每周或每月)新用户数,活跃用户数
3、用户的所在地、年龄、性别的分布情况 等……..


Flurry官网:https://www.flurry.com/
AppId创建:https://dev.flurry.com/admin/applications
SDK下载地址:https://github.com/flurry/unity-flurry-sdk
FlurrySDK Unity指南:https://developer.yahoo.com/flurry/docs/integrateflurry/unity


注册完登录进去,创建一个Application,创建完会Flurry会给你一个这个Application的Key,我们需要在代码中将这个key作为参数传入。


初始化:

using System.Collections.Generic;
using UnityEngine;
using FlurrySDK;

public class FlurryStart : MonoBehaviour
{
// FLURRY_API_KEY = 创建应用的时候生成的Key
#if UNITY_ANDROID
    private readonly string FLURRY_API_KEY = FLURRY_ANDROID_API_KEY;
#elif UNITY_IPHONE
    private readonly string FLURRY_API_KEY = FLURRY_IOS_API_KEY;
#else
    private readonly string FLURRY_API_KEY = null;
#endif

    void Start()
    {
        // 初始化
        new Flurry.Builder()
            .WithCrashReporting(true)
            .WithLogEnabled(true)
            .WithLogLevel(Flurry.LogLevel.LogVERBOSE)
            .Build(FLURRY_API_KEY);

        // 获得Flurry版本
        Debug.Log("AgentVersion: " + Flurry.GetAgentVersion());
        Debug.Log("ReleaseVersion: " + Flurry.GetReleaseVersion());

        // 设置用户信息
        // 年龄
        Flurry.SetAge(36);
        // 性别
        Flurry.SetGender(Flurry.Gender.Female);
        // 是否报告位置?
        Flurry.SetReportLocation(true);

        // 日志事件记录
        // eventId是自己随便定义的。就是相当于为你追踪的这个事件取个名字。
        Flurry.EventRecordStatus status = Flurry.LogEvent("Unity Event");
        Debug.Log("Log Unity Event status: " + status);

        // 带参数的Flurry定时事件
        IDictionary<string, string> parameters = new Dictionary<string, string>();
        parameters.Add("Author", "Flurry");
        parameters.Add("Status", "Registered");
        status = Flurry.LogEvent("Unity Event Params Timed", parameters, true);
        Debug.Log("Log Unity Event with parameters timed status: " + status);
        Flurry.EndTimedEvent("Unity Event Params Timed");
    }
}

Flurry APIs

// Flurry.Builder中的方法初始化Flurry代理信息
void Build(string apiKey);
Flurry.Builder WithCrashReporting(bool crashReporting);
Flurry.Builder WithContinueSessionMillis(long sessionMillis);
Flurry.Builder WithIncludeBackgroundSessionsInMetrics(bool includeBackgroundSessionsInMetrics);
Flurry.Builder WithLogEnabled(bool enableLog);
Flurry.Builder WithLogLevel(FlurrySDK.Flurry.LogLevel logLevel);

// 设置用户信息的方法
void SetAge(int age);
void SetGender(Flurry.Gender gender);
void SetReportLocation(bool reportLocation);
void SetSessionOrigin(string originName, string deepLink);
void SetUserId(string userId);
// 在初始化会话之前调用SetVersionName方法。 有关用法,请参阅FlurryStart.cs示例脚本
void SetVersionName(string versionName); 

void AddOrigin(string originName, string originVersion);
void AddOrigin(string originName, string originVersion, Dictionary<string, string> originParameters);
void AddSessionProperty(string name, string value);

// 获得Flurry版本的方法
int GetAgentVersion();
// Android用法(只能用于Android)
string GetReleaseVersion();
string GetSessionId();

// 记录Flurry事件的方法(如果我们的游戏想要记录打点信息,就用以下的方法)
Flurry.EventRecordStatus LogEvent(string eventId);
Flurry.EventRecordStatus LogEvent(string eventId, bool timed);
Flurry.EventRecordStatus LogEvent(string eventId, Dictionary<string, string> parameters);
Flurry.EventRecordStatus LogEvent(string eventId, Dictionary<string, string> parameters, bool timed);

void EndTimedEvent(string eventId);
void EndTimedEvent(string eventId, Dictionary<string, string> parameters);

void OnPageView();

void OnError(string errorId, string message, string errorClass);
void OnError(string errorId, string message, string errorClass, Dictionary<string, string> parameters);

void LogBreadcrumb(string crashBreadcrumb);

Flurry.EventRecordStatus LogPayment(string productName, string productId, int quantity, double price,
string currency, string transactionId, Dictionary<string, string> parameters);

// 启用IAP报告的方法(iOS)
void SetIAPReportingEnabled(bool enableIAP)
上一篇下一篇

猜你喜欢

热点阅读