Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Nov 10, 2017. It is now read-only.

Commit f4152d2

Browse files
author
Weijia Mao
committed
AWS SDK for Unity 1.0.4
1 parent 8f54fc9 commit f4152d2

File tree

10 files changed

+77
-27
lines changed

10 files changed

+77
-27
lines changed

Assets/AWSUnitySDK/AWSCore/Amazon.CognitoIdentity/AbstractCognitoIdentityProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ internal IdentityChangedArgs(string oldIdentityId, string newIdentityId)
4747
public abstract class AbstractCognitoIdentityProvider : IAmazonIdentityProvider
4848
{
4949

50-
protected string _identityId;
50+
private string _identityId; //Use UpdateIdentityId and GetCurrentIdentityId to update it.
5151
protected string _token;
5252

5353
public IAmazonCognitoIdentity cib;

Assets/AWSUnitySDK/AWSCore/Amazon.CognitoIdentity/CognitoAWSCredentials.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,10 @@ private void saveCredentials()
199199
public override ImmutableCredentials GetCredentials()
200200
{
201201
//TODO: This should also check expiration, etc., like GetCredentialsAsync does
202-
if (this._sessionCredentials == null || _sessionCredentials.Credentials == null)
202+
if (this._sessionCredentials == null || _sessionCredentials.Credentials == null) {
203203
loadCachedCredentials();
204-
return _sessionCredentials.Credentials;
204+
}
205+
return (_sessionCredentials.Credentials != null)? _sessionCredentials.Credentials : null;
205206
}
206207

207208
// fetching/persisting new credentials in LocalStorage

Assets/AWSUnitySDK/AWSCore/Amazon.Unity3D/Storage/SQLiteDatabase.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public enum DataType : int
7777
[DllImport("sqlite3", EntryPoint = "sqlite3_prepare_v2")]
7878
public static extern Result sqlite3_prepare_v2(IntPtr db, string zSql, int nByte, out IntPtr ppStmpt, IntPtr pzTail);
7979

80-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_exec")]
80+
[DllImport("sqlite3", EntryPoint = "sqlite3_exec")]
8181
public static extern Result exec(IntPtr hDb, string sql, IntPtr callback, IntPtr args, out IntPtr errorMessage);
8282

8383
[DllImport("sqlite3", EntryPoint = "sqlite3_step")]
@@ -98,7 +98,7 @@ public enum DataType : int
9898
[DllImport("sqlite3", EntryPoint = "sqlite3_column_type")]
9999
public static extern DataType sqlite3_column_type(IntPtr hStmt, int iCol);
100100

101-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_column_int64")]
101+
[DllImport("sqlite3", EntryPoint = "sqlite3_column_int64")]
102102
public static extern long sqlite3_column_int64(IntPtr hStmt, int nCol);
103103

104104
[DllImport("sqlite3", EntryPoint = "sqlite3_column_text")]
@@ -110,22 +110,22 @@ public enum DataType : int
110110
[DllImport("sqlite3", EntryPoint = "sqlite3_column_bytes")]
111111
public static extern Result sqlite3_column_bytes(IntPtr hStmt, int iCol);
112112

113-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_bind_int64")]
113+
[DllImport("sqlite3", EntryPoint = "sqlite3_bind_int64")]
114114
public static extern Result sqlite3_bind_int64(IntPtr hStmt, int n, long value);
115115

116-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_bind_null")]
116+
[DllImport("sqlite3", EntryPoint = "sqlite3_bind_null")]
117117
public static extern Result sqlite3_bind_null(IntPtr hStmt, int n);
118118

119-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_bind_text")]
119+
[DllImport("sqlite3", EntryPoint = "sqlite3_bind_text")]
120120
public static extern Result sqlite3_bind_text(IntPtr hStmt, int n, byte[] value, int length, IntPtr freetype);
121121

122-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_last_insert_rowid")]
122+
[DllImport("sqlite3", EntryPoint = "sqlite3_last_insert_rowid")]
123123
public static extern long sqlite3_last_insert_rowid(IntPtr hDb);
124124

125-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_reset")]
125+
[DllImport("sqlite3", EntryPoint = "sqlite3_reset")]
126126
public static extern Result sqlite3_reset(IntPtr hStmt);
127127

128-
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_clear_bindings")] //
128+
[DllImport("sqlite3", EntryPoint = "sqlite3_clear_bindings")] //
129129
public static extern Result sqlite3_clear_bindings(IntPtr hStmt);
130130

131131

Assets/AWSUnitySDK/AWSCore/Resources/aws_endpoints.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
<Endpoint>
114114
<ServiceName>s3</ServiceName>
115115
<Http>true</Http>
116-
<Https>false</Https>
116+
<Https>true</Https>
117117
<Hostname>s3.amazonaws.com</Hostname>
118118
</Endpoint>
119119
<Endpoint>

Assets/AWSUnitySDK/AWSCore/Resources/aws_endpoints_json.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122
{
123123
"ServiceName": "s3",
124124
"Http": "true",
125-
"Https": "false",
125+
"Https": "true",
126126
"Hostname": "s3.amazonaws.com"
127127
},
128128
{

Assets/AWSUnitySDK/MobileAnalytics/Amazon.MobileAnalyticsManager/AmazonMobileAnalyticsManager.cs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ namespace Amazon.MobileAnalyticsManager
3232
/// </summary>
3333
public class AmazonMobileAnalyticsManager
3434
{
35-
35+
3636
private static volatile AmazonMobileAnalyticsManager _instance;
3737

3838
#region instance variables
@@ -85,7 +85,26 @@ public static AmazonMobileAnalyticsManager GetOrCreateInstance(AWSCredentials cr
8585
string appId
8686
)
8787
{
88-
IAmazonMobileAnalyticsClientContextConfig config = new AmazonMobileAnalyticsClientContextConfig(appId);
88+
IAmazonMobileAnalyticsClientContextConfig config = new AmazonMobileAnalyticsClientContextConfig(appId,null);
89+
return AmazonMobileAnalyticsManager.GetOrCreateInstance(credential,regionEndpoint,config);
90+
}
91+
92+
/// <summary>
93+
/// Gets the or create instance.
94+
/// </summary>
95+
/// <returns>The or create instance.</returns>
96+
/// <param name="credentials">Credentials.</param>
97+
/// <param name="regionEndpoint">Region endpoint.</param>
98+
/// <param name="appId">App identifier.</param>
99+
/// <param name="clientId">Client identifier. The client id should only contain ASCII alphanumeric characters (0-9, a-z, A-Z and ‘-‘) and is limited to 32 characters in length.
100+
/// GUIDs and 128-bit MD5 hashes are commonly favored values for the client id due to their random qualities. The client id would be stored in persist memory and reused in the future. </param>
101+
public static AmazonMobileAnalyticsManager GetOrCreateInstance(AWSCredentials credential,
102+
RegionEndpoint regionEndpoint,
103+
string appId,
104+
string clientId
105+
)
106+
{
107+
IAmazonMobileAnalyticsClientContextConfig config = new AmazonMobileAnalyticsClientContextConfig(appId,clientId);
89108
return AmazonMobileAnalyticsManager.GetOrCreateInstance(credential,regionEndpoint,config);
90109
}
91110

Assets/AWSUnitySDK/MobileAnalytics/Amazon.MobileAnalyticsManager/ClientContext/AmazonMobileAnalyticsClientContextConfig.cs

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,25 @@ public class AmazonMobileAnalyticsClientContextConfig : IAmazonMobileAnalyticsCl
3535
/// <see cref="Amazon.MobileAnalyticsManager.ClientContext.AmazonMobileAnalyticsClientContextConfig"/> class.
3636
/// </summary>
3737
/// <param name="appId">App identifier - AWS Mobile Analytics App ID corresponding to your App</param>
38-
public AmazonMobileAnalyticsClientContextConfig(string appId):this(AmazonHookedPlatformInfo.Instance.Title,
38+
public AmazonMobileAnalyticsClientContextConfig(string appId):this(appId,null)
39+
{
40+
41+
}
42+
43+
/// <summary>
44+
/// Initializes a new instance of the
45+
/// <see cref="Amazon.MobileAnalyticsManager.ClientContext.AmazonMobileAnalyticsClientContextConfig"/> class.
46+
/// </summary>
47+
/// <param name="appId">App identifier - AWS Mobile Analytics App ID corresponding to your App</param>
48+
/// <param name="clientId">Client Identifier - A unique identifier representing this installation instance of your app. If clientId is null or empty string, Mobile Ananlytics client would generate a random unique identifier for user.</param>
49+
public AmazonMobileAnalyticsClientContextConfig(string appId,string clientId):this(AmazonHookedPlatformInfo.Instance.Title,
3950
AmazonHookedPlatformInfo.Instance.VersionName,
4051
AmazonHookedPlatformInfo.Instance.VersionCode,
41-
AmazonHookedPlatformInfo.Instance.PackageName,appId)
52+
AmazonHookedPlatformInfo.Instance.PackageName,
53+
appId,
54+
clientId)
4255
{
43-
56+
4457
}
4558

4659

@@ -53,7 +66,8 @@ public AmazonMobileAnalyticsClientContextConfig(string appId):this(AmazonHookedP
5366
/// <param name="appVersionCode">App version code - The version code for your app. For example, 3.</param>
5467
/// <param name="appPackageName">App package name - The name of your package. For example, com.example.my_app.</param>
5568
/// <param name="appId">App identifier - AWS Mobile Analytics App ID corresponding to your App</param>
56-
public AmazonMobileAnalyticsClientContextConfig(string appTitle, string appVersionName,string appVersionCode, string appPackageName, string appId)
69+
/// <param name="clientId">Client Identifier - A unique identifier representing this installation instance of your app. If clientId is null or empty string, Mobile Ananlytics client would generate a random unique identifier for user.</param>
70+
public AmazonMobileAnalyticsClientContextConfig(string appTitle, string appVersionName,string appVersionCode, string appPackageName, string appId,string clientId)
5771
{
5872
if(string.IsNullOrEmpty(appTitle))
5973
{
@@ -79,13 +93,20 @@ public AmazonMobileAnalyticsClientContextConfig(string appTitle, string appVersi
7993
{
8094
throw new ArgumentNullException("appVersionCode");
8195
}
82-
96+
97+
8398
this._appTitle = appTitle;
8499
this._appVersionName = appVersionName;
85100
this._appVersionCode = appVersionCode;
86101
this._appPackageName = appPackageName;
87102
this._appId = appId;
88-
_kvStore = new SQLiteKVStore();
103+
this._kvStore = new SQLiteKVStore();
104+
if(!string.IsNullOrEmpty(clientId))
105+
{
106+
this._clientId = clientId;
107+
this._kvStore.Put(APP_CLIENT_ID_KEY,_clientId);
108+
}
109+
89110
}
90111

91112
/// <summary>

Assets/AWSUnitySDK/MobileAnalytics/Amazon.MobileAnalyticsManager/Event/AmazonMobileAnalyticsEvent.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public void AddAttribute(string attributeName, string attributeValue)
161161
throw new ArgumentException("length of attributeName " + attributeName+" is more than " + MAX_KEY_SIZE);
162162
}
163163

164-
if(string.IsNullOrEmpty(attributeValue))
164+
if(attributeValue == null)
165165
{
166166
throw new ArgumentNullException("attributeValue");
167167
}
@@ -335,7 +335,7 @@ public void AddGlobalAttribute(string attributeName, string attributeValue)
335335
throw new ArgumentNullException("attributeName");
336336
}
337337

338-
if(string.IsNullOrEmpty(attributeValue))
338+
if(attributeValue == null)
339339
{
340340
throw new ArgumentNullException("attributeValue");
341341
}
@@ -380,7 +380,7 @@ public void AddGlobalAttribute(string eventType, string attributeName, string at
380380
throw new ArgumentNullException("attributeName");
381381
}
382382

383-
if(string.IsNullOrEmpty(attributeValue))
383+
if(attributeValue == null)
384384
{
385385
throw new ArgumentNullException("attributeValue");
386386
}

Assets/AWSUnitySDK/S3/Amazon.Runtime/AmazonWebServiceClient.s3.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,9 @@ private void ProcessS3PostRequest(AsyncResult asyncResult, PostObjectRequest req
126126
string subdomain = request.Region.Equals(RegionEndpoint.USEast1) ? "s3" : "s3-" + request.Region.SystemName;
127127

128128
if (request.Bucket.IndexOf('.') > -1)
129-
requestData.Url = string.Format(CultureInfo.InvariantCulture, "http://{0}.amazonaws.com/{1}/", subdomain, request.Bucket);
129+
requestData.Url = string.Format(CultureInfo.InvariantCulture, "https://{0}.amazonaws.com/{1}/", subdomain, request.Bucket);
130130
else
131-
requestData.Url = string.Format(CultureInfo.InvariantCulture, "http://{0}.{1}.amazonaws.com", request.Bucket, subdomain);
131+
requestData.Url = string.Format(CultureInfo.InvariantCulture, "https://{0}.{1}.amazonaws.com", request.Bucket, subdomain);
132132

133133

134134
// prepare WWW

changelog.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
1-
Version 1.0.3
1+
Version 1.0.4
2+
New Feature:
3+
- Added feature that allows user to set Client Id in Amazon Mobile Analytics.
4+
Fixes:
5+
- Fixed the bug is S3 that disables HTTPS in us-east-1 region and S3 POST operation.
6+
- Addressed the issue in Mobile Analytics that adding empty attribute value in event would throw exception.
7+
8+
9+
10+
Version 1.0.3
211
New Feature:
312
- Added developer-authenticated Cognito identity providers and a stub class to use as example.
413
Improvements:

0 commit comments

Comments
 (0)