Example #1
0
        private void SendHit (HitBuilders.HitBuilder builder)
        {
            // Inject custom dimensions, if any have been set:
            foreach (var kvp in customDimensions) {
                // XXX: Workaround wrong signature for setCustomDimension in the component bindings:
                HitBuilderWorkaround.SetCustomDimension (builder, kvp.Key, kvp.Value);
            }
            customDimensions.Clear ();

            tracker.Send (builder.Build ());
        }
Example #2
0
 public static void SetNewSession (HitBuilders.HitBuilder builder)
 {
     if (HitBuilderSetNewSessionId == IntPtr.Zero) {
         HitBuilderSetNewSessionId = Android.Runtime.JNIEnv.GetMethodID (HitBuilderClassRef, "setNewSession", "()Lcom/google/android/gms/analytics/HitBuilders$HitBuilder;");
     }
     Android.Runtime.JNIEnv.CallObjectMethod (builder.Handle, HitBuilderSetNewSessionId);
 }
Example #3
0
 public static void SetCustomDimension (HitBuilders.HitBuilder builder, int index, string dimension)
 {
     if (HitBuilderSetCustomDimensionId == IntPtr.Zero) {
         HitBuilderSetCustomDimensionId = Android.Runtime.JNIEnv.GetMethodID (HitBuilderClassRef, "setCustomDimension", "(ILjava/lang/String;)Lcom/google/android/gms/analytics/HitBuilders$HitBuilder;");
     }
     IntPtr dimensionPtr = Android.Runtime.JNIEnv.NewString (dimension);
     Android.Runtime.JNIEnv.CallObjectMethod (builder.Handle, HitBuilderSetCustomDimensionId, new Android.Runtime.JValue[] {
         new Android.Runtime.JValue (index),
         new Android.Runtime.JValue (dimensionPtr)
     });
     Android.Runtime.JNIEnv.DeleteLocalRef (dimensionPtr);
 }