Skip to content

Commit

Permalink
Merge pull request #100 from antonargunov/master
Browse files Browse the repository at this point in the history
version 5.0.5
  • Loading branch information
antonargunov authored Apr 10, 2019
2 parents 0c1a968 + e0a3644 commit 083da35
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 28 deletions.
55 changes: 29 additions & 26 deletions Branch-Xamarin-SDK.iOS/BranchIOSUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,35 +58,38 @@ public static Dictionary<string, object> ToDictionary(IOSNativeBranch.BranchUniv
return new Dictionary<string, object> ();
}

NSString[] keys = new NSString[] {
(NSString)"$canonical_identifier",
(NSString)"$canonical_url",
(NSString)"$og_title",
(NSString)"$og_description",
(NSString)"$og_image_url",
(NSString)"$publicly_indexable",
(NSString)"$locally_indexable",
(NSString)"$keywords",
(NSString)"$exp_date",
(NSString)"metadata"
};
var keywordsList = new List<object>();
if (universalObject.Keywords != null) {
foreach (string obj in universalObject.Keywords) {
keywordsList.Add(obj);
}
}

NSObject[] values = new NSObject[] {
NSObject.FromObject(universalObject.CanonicalIdentifier != null ? universalObject.CanonicalIdentifier : "" as object),
NSObject.FromObject(universalObject.CanonicalUrl != null ? universalObject.CanonicalUrl : "" as object),
NSObject.FromObject(universalObject.Title != null ? universalObject.Title : "" as object),
NSObject.FromObject(universalObject.ContentDescription != null ? universalObject.ContentDescription : "" as object),
NSObject.FromObject(universalObject.ImageUrl != null ? universalObject.ImageUrl : "" as object),
NSObject.FromObject((universalObject.PubliclyIndex ? "0" : "1") as object),
NSObject.FromObject((universalObject.LocallyIndex ? "0" : "1") as object),
NSObject.FromObject(universalObject.Keywords != null ? NSArray.FromStrings(universalObject.Keywords) : "" as object),
NSObject.FromObject(universalObject.ExpirationDate != null ? (universalObject.ExpirationDate.SecondsSinceReferenceDate * 1000).ToString() : "" as object),
NSObject.FromObject(universalObject.ContentMetadata != null ? universalObject.ContentMetadata.Dictionary() : "" as object)
};
NSError error = null;
NSData jsonData = NSJsonSerialization.Serialize(universalObject.ContentMetadata.Dictionary(), 0, out error);

NSDictionary dict = NSDictionary.FromObjectsAndKeys (values, keys);
string jsonStr = jsonData.ToString();
Dictionary<string, object> metadataDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonStr);

return ToDictionary (dict);
var dict = new Dictionary<string, object>();
dict.Add("$canonical_identifier", universalObject.CanonicalIdentifier != null ? universalObject.CanonicalIdentifier : "");
dict.Add("$canonical_url", universalObject.CanonicalUrl != null ? universalObject.CanonicalUrl : "");
dict.Add("$og_title", universalObject.Title != null ? universalObject.Title : "");
dict.Add("$og_description", universalObject.ContentDescription != null ? universalObject.ContentDescription : "");
dict.Add("$og_image_url", universalObject.ImageUrl != null ? universalObject.ImageUrl : "");
dict.Add("$publicly_indexable", universalObject.PubliclyIndex ? "0" : "1");
dict.Add("$locally_indexable", universalObject.LocallyIndex ? "0" : "1");
dict.Add("$exp_date", universalObject.ExpirationDate != null ? (universalObject.ExpirationDate.SecondsSinceReferenceDate * 1000).ToString() : "");

if (keywordsList != null) {
dict.Add("$keywords", keywordsList);
}

if (metadataDict != null) {
dict.Add("metadata", metadataDict);
}

return dict;
}

public static Dictionary<string, object> ToDictionary(IOSNativeBranch.BranchLinkProperties linkProperties) {
Expand Down
8 changes: 7 additions & 1 deletion Branch-Xamarin-SDK/Model/BranchUniversalObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,9 @@ private void Init()
contentIndexMode = 0;
localIndexMode = 0;
keywords = new List<string>();
expirationDate = null;

//NOTE: fix for https://github.com/BranchMetrics/xamarin-branch-deep-linking/issues/97
expirationDate = new DateTime(2200, 12, 30);
}

public void loadFromJson(string json)
Expand All @@ -83,6 +85,10 @@ public void loadFromDictionary(Dictionary<string, object> data)
{
if (data == null)
return;

//NOTE: fix for https://github.com/BranchMetrics/xamarin-branch-deep-linking/issues/97
expirationDate = new DateTime(2200, 12, 30);

if (data.ContainsKey("$canonical_identifier") && data["$canonical_identifier"] != null)
{
canonicalIdentifier = data["$canonical_identifier"].ToString();
Expand Down
4 changes: 4 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
Branch Xamarin SDK change log

- 5.0.5
* Fixing #98 Extracting data embedded via HTTP API
* Fixing #97 Purchase events not tracking on iOS with X.Forms

- 5.0.4
* Updating Branch to iOS version 0.25.11

Expand Down
Binary file not shown.
2 changes: 1 addition & 1 deletion NuGet/Branch-Xamarin-SDK.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<id>Branch-Xamarin-Linking-SDK</id>
<title>Branch Xamarin SDK</title>
<summary>Hosted deep links for your Xamarin-based Android or iOS app by Branch</summary>
<version>5.0.4</version>
<version>5.0.5</version>
<authors>Branch</authors>
<owners>Branch</owners>
<iconUrl> https://s3-us-west-1.amazonaws.com/branchhost/branch_icon.png</iconUrl>
Expand Down

0 comments on commit 083da35

Please sign in to comment.