@@ -58,8 +58,13 @@ public class TelemetryAndroid : ITelemetryLibrary
58
58
private string _sdkInfoRegistryFactoryClassName = "com.mapbox.common.SdkInfoRegistryFactory" ;
59
59
private string _sdkInfoRegistryFactoryGetMethodName = "getInstance" ;
60
60
private string _sdkInfoRegistryRegisterMethodName = "registerSdkInformation" ;
61
+
62
+ private string _unityMausEnumString = "UnityMAUS" ;
63
+ private string _valuesMethodNameForEnums = "values" ;
64
+ private string _toStringMethodName = "toString" ;
61
65
62
66
private AndroidJavaObject _sdkInformation ;
67
+ private AndroidJavaObject _unityEnum ;
63
68
64
69
public void Initialize ( string accessToken )
65
70
{
@@ -82,6 +87,19 @@ public void Initialize(string accessToken)
82
87
return ;
83
88
}
84
89
90
+ var skuidClass = new AndroidJavaClass ( _mapboxUserSkuIdentifierClassName ) ;
91
+ var skuValuesArray = skuidClass . CallStatic < AndroidJavaObject > ( _valuesMethodNameForEnums ) ;
92
+ var convertedArray = AndroidJNIHelper . ConvertFromJNIArray < AndroidJavaObject [ ] > ( skuValuesArray . GetRawObject ( ) ) ;
93
+ foreach ( var javaEnumObject in convertedArray )
94
+ {
95
+ var enumString = javaEnumObject . Call < string > ( _toStringMethodName ) ;
96
+ if ( enumString == _unityMausEnumString )
97
+ {
98
+ _unityEnum = javaEnumObject ;
99
+ break ;
100
+ }
101
+ }
102
+
85
103
// SdkInformation testInformation = new SdkInformation(applicationName, packageVersion, packageName);
86
104
// SdkInfoRegistry registry = SdkInfoRegistryFactory.getInstance();
87
105
// registry.registerSdkInformation(testInformation);
@@ -113,13 +131,8 @@ public void SendTurnstile()
113
131
Debug . Log ( _eventsServiceNullMessage ) ;
114
132
return ;
115
133
}
116
-
117
- var skuid = new AndroidJavaClass ( _mapboxUserSkuIdentifierClassName ) ;
118
- AndroidJavaObject valueArray = skuid . CallStatic < AndroidJavaObject > ( "values" ) ;
119
- var array = AndroidJNIHelper . ConvertFromJNIArray < AndroidJavaObject [ ] > ( valueArray . GetRawObject ( ) ) ;
120
- var unityEnum = array [ 7 ] ;
121
134
122
- using ( AndroidJavaObject turnstileEvent = new AndroidJavaObject ( _mapboxTurnstileEventClassName , unityEnum ) )
135
+ using ( AndroidJavaObject turnstileEvent = new AndroidJavaObject ( _mapboxTurnstileEventClassName , _unityEnum ) )
123
136
{
124
137
_mapboxEventService . Call ( _sendTurnstileEventMethodName , turnstileEvent , null ) ;
125
138
}
@@ -130,14 +143,8 @@ public void SendSdkEvent()
130
143
{
131
144
var billingServiceFactory = new AndroidJavaClass ( _mapboxBillingServiceFactoryClassName ) ;
132
145
var billingService = billingServiceFactory . CallStatic < AndroidJavaObject > ( _mapboxBillingFactoryGetMethodName ) ;
133
-
134
- var skuid = new AndroidJavaClass ( _mapboxUserSkuIdentifierClassName ) ;
135
- AndroidJavaObject valueArray = skuid . CallStatic < AndroidJavaObject > ( "values" ) ;
136
- var array = AndroidJNIHelper . ConvertFromJNIArray < AndroidJavaObject [ ] > ( valueArray . GetRawObject ( ) ) ;
137
- var unityEnum = array [ 7 ] ;
138
-
139
146
140
- billingService . Call ( _mapboxSdkEventMethodName , _sdkInformation , unityEnum , null ) ;
147
+ billingService . Call ( _mapboxSdkEventMethodName , _sdkInformation , _unityEnum , null ) ;
141
148
}
142
149
143
150
public void SetLocationCollectionState ( bool enable )
0 commit comments