のために動作しない私は4にバージョン3から&画面が現れているが、カスタムの寸法は唯一のiOSのために働く追跡イベントのすべてをGoogleアナリティクスユニティSDKをアップグレードしました。カスタム寸法はSDKのバージョン3.のGoogle anlytics - カスタム寸法は、Android
まずでAndroidとiOSの両方のためにうまく働いている間、私は公共のGoogleAnalyticsは、変数宣言および構成を割り当てる:
public class GoogleAnalyticsAdaptor : MonoBehaviour
{
public GoogleAnalyticsV4 ga;
void Start()
{
ga = UnityRoot.Instance.gameObject.AddComponent<GoogleAnalyticsV4>();
ga.IOSTrackingCode = config.IOSTrackingCode;
ga.androidTrackingCode = config.androidTrackingCode;
ga.otherTrackingCode = config.otherTrackingCode;
ga.productName = config.productName;
ga.bundleIdentifier = config.bundleIdentifier;
ga.bundleVersion = config.bundleVersion;
ga.sendLaunchEvent = config.sendLaunchEvent;
ga.UncaughtExceptionReporting = config.reportUncaughtException;
ga.dispatchPeriod = 2;
}
その後方法でGoogleを発射する他のクラス別の呼び出しです解析イベント:
public void RecordScreen(AnalyticsScreen screen)
{
var appViewBuilder = new AppViewHitBuilder();
appViewBuilder.SetScreenName(screen.Name);
if (screen.Campaign != null)
appViewBuilder.SetCampaignName(screen.Campaign);
InfoDataCollection<AppViewHitBuilder>(appViewBuilder);
int dimensionIndex;
if (customDimensionIndexLookup.TryGetValue(dimension.Key, out dimensionIndex))
{
appViewBuilder.SetCustomDimension(dimensionIndex, dimension.Value);
}
ga.LogScreen(appViewBuilder);
}
:
public void RecordEvent(AnalyticsEvent e)
{
var s = new EventHitBuilder();
// category + action + label + value
s.SetEventCategory(e.Category);
s.SetEventAction(e.Action);
if(e.Label != null)
s.SetEventLabel(e.Label);
if(e.Campaign != null)
s.SetCampaignName(e.Campaign);
if (e.Value is int || e.Value is long)
s.SetEventValue((long)e.Value);
InfoDataCollection<EventHitBuilder>(s);
int dimensionIndex;
if (customDimensionIndexLookup.TryGetValue(dimension.Key, out dimensionIndex))
{
s.SetCustomDimension(dimensionIndex, dimension.Value);
}
ga.LogEvent(s);
}
同じでも、画面に適用
customDimensionIndexLookup.TryGetValueは、文字列に応じてカスタムディメンションのインデックスを返します(UserId
など)。
private void InfoDataCollection<T>(T hitBuilder) where T : HitBuilder<T>
{
int dimensionIndex;
if (customDimensionIndexLookup.TryGetValue("UserId", out dimensionIndex) && !string.IsNullOrEmpty(AccountPortal.CurrentAccountID))
{
hitBuilder.SetCustomDimension(dimensionIndex, AccountPortal.CurrentAccountID);
}
}
イベントと画面のデータは、私がAndroid traffic
のデータセグメントでそれにカスタムディメンションを適用する場合を除き、レポートに表示されており、iOS traffic
AndroidのトラフィックしばらくiOS用のみのデータがありますInfoDataCollectionは、すべてのイベント&画面に加えてカスタム次元を追加します0レコードを表示します。
し、両方のAndroid & iOSのは、同じコードを使用しています。
この欠損データの原因は何ですか?どんなアイデアや助言も高く評価されます。私が念頭にいた最後の手段は、すでに廃止されているバージョン3にフォールバックすることです。
あなたは、最新の分析を使用している場合は、Android SDKから(例えば9.2.1)、には、最初に浮くために、第2パラメータに変換する必要があります。そうしないと、MethodNotFoundエラーが発生します。 – Comtaler