An open API service indexing awesome lists of open source software.

https://github.com/unity-package/app-tracking-unity

Tracking for game unity
https://github.com/unity-package/app-tracking-unity

adjust analytics appsflyer firebaseanalytics tracking unity unity-package unity-packages unity3d

Last synced: 8 months ago
JSON representation

Tracking for game unity

Awesome Lists containing this project

README

          



Made With Unity


License


Last Commit


Repo Size


Last Release

## What

- Support tracking for game unity (Firebase Analytic, Adjust and AppsFlyer)

## How To Install

### Add the line below to `Packages/manifest.json`

for version `1.0.3`
```csharp
"com.wolf-org.tracking":"https://github.com/unity-package/app-tracking-unity.git#1.0.3",
```

## Use

#### Firebase Tracking

- Add define symbols `VIRTUESKY_FIREBASE_ANALYTIC` to use ([Get Firebase Analytic Sdk](https://github.com/firebase-unity/firebase-analytics))
- Tracking event
```csharp
static void TrackEvent(string eventName)
static void TrackEvent(string eventName, string parameterName, string parameterValue)
static void TrackEvent(string eventName, Dictionary dictParameters)
static void TrackEvent(string eventName, Parameter[] parameters)
```
Example

```csharp
void TrackNoParam()
{
FirebaseTracking.TrackEvent("WinGame");
}

///
/// parameter_name: level
/// parameter_value: level_1
///
void TrackOneParam()
{
FirebaseTracking.TrackEvent("WinGame", "level", "level_1");
}

void TrackHasPramDict()
{
Dictionary dict = new Dictionary();
dict.Add("level", "level_1");
dict.Add("level", "level_2");
dict.Add("level", "level_3");
FirebaseTracking.TrackEvent("WinGame", dict);
}

void TrackHasPram()
{
Parameter[] parameters = new[]
{
new Parameter("level", "level_1"),
new Parameter("level", "level_2"),
new Parameter("level", "level_3")
};
FirebaseTracking.TrackEvent("WinGame", parameters);
}
```

- Tracking ads revenue

```csharp
static void FirebaseAnalyticTrackRevenue(double value, string network, string unitId, string format, string adNetwork)
```
Example

```csharp
void TrackingRevenue()
{
FirebaseAnalyticTrackingRevenue.FirebaseAnalyticTrackRevenue(...);
}
```

#### Adjust Tracking

- Add define symbol `VIRTUESKY_ADJUST` to use ([Get Adjust Sdk](https://github.com/pancake-llc/adjust))
- Tracking event

```csharp
static void TrackEvent(string eventToken)
```

Example
```csharp
void TrackingEventAdjust()
{
AdjustTracking.TrackEvent("asdwdsfwa");
}
```

- Tracking ads revenue
```csharp
static void AdjustTrackRevenue(double value, string network, string unitId, string placement, string adNetwork)
```
Example

```csharp
void TrackingRevenue()
{
AdjustTrackingRevenue.AdjustTrackRevenue(...);
}
```

#### AppsFlyer Tracking

- Add define symbol `VIRTUESKY_APPSFLYER` to use ([Get Appsflyer Sdk](https://github.com/AppsFlyerSDK/appsflyer-unity-plugin) , [Get AppsFlyer AdRevenue](https://github.com/AppsFlyerSDK/appsflyer-unity-adrevenue-generic-connector))
- Tracking event

```csharp
static void TrackEvent(string eventName)
static void TrackEvent(string eventName, string parameterName, string parameterValue)
static void TrackEvent(string eventName, Dictionary eventValues)
```

Example

```csharp
void TrackNoParam()
{
AppsFlyerTracking.TrackEvent("WinGame");
}

///
/// parameter_name: level
/// parameter_value: level_1
///
void TrackOneParam()
{
AppsFlyerTracking.TrackEvent("WinGame", "level", "level_1");
}

void TrackHasPramDict()
{
Dictionary dict = new Dictionary();
dict.Add("level", "level_1");
dict.Add("level", "level_2");
dict.Add("level", "level_3");
AppsFlyerTracking.TrackEvent("WinGame", dict);
}
```
- Tracking ads revenue

```csharp
static void AppsFlyerTrackRevenueAd(double value, string network, string unitId, string format, string adNetwork)
```

Example

```csharp
void TrackingRevenue()
{
AppsFlyerTrackingRevenue.AppsFlyerTrackRevenueAd(...);
}
```
- Tracking iap revenue
Add define symbol `VIRTUESKY_IAP` to use
```csharp
static void AppFlyerTrackingRevenueInAppPurchase(Product product)
```

Example
```csharp
void TrackingRevenue(Product productIAP)
{
AppsFlyerTrackingRevenue.AppFlyerTrackingRevenueInAppPurchase(productIAP);
}
```
#### App Tracking

- Tracking ad revenue (If calling `Track Revenue` through `App Tracking`, revenue will be tracked in all of Firebase Analytics, Adjust, and AppsFlyer)
```csharp
static void TrackRevenue(double value, string network, string unitId, string format, string adNetwork)
```

Example

```csharp
void TrackingRevenue()
{
AppTracking.TrackRevenue(...);
}
```

- Firebase tracking ATT Results IOS (App Tracking Transparency)
- Require: `"com.unity.ads.ios-support": "1.2.0"`

```csharp
static void FirebaseAnalyticTrackATTResult(int status)
```

Example

```csharp
void AppTrackingTransparency()
{
if (ATTrackingStatusBinding.GetAuthorizationTrackingStatus() ==
ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED)
{
ATTrackingStatusBinding.RequestAuthorizationTracking(AppTracking.FirebaseAnalyticTrackATTResult);
}
}
```