@@ -58,35 +58,38 @@ public static Dictionary<string, object> ToDictionary(IOSNativeBranch.BranchUniv
5858 return new Dictionary < string , object > ( ) ;
5959 }
6060
61- NSString [ ] keys = new NSString [ ] {
62- ( NSString ) "$canonical_identifier" ,
63- ( NSString ) "$canonical_url" ,
64- ( NSString ) "$og_title" ,
65- ( NSString ) "$og_description" ,
66- ( NSString ) "$og_image_url" ,
67- ( NSString ) "$publicly_indexable" ,
68- ( NSString ) "$locally_indexable" ,
69- ( NSString ) "$keywords" ,
70- ( NSString ) "$exp_date" ,
71- ( NSString ) "metadata"
72- } ;
61+ var keywordsList = new List < object > ( ) ;
62+ if ( universalObject . Keywords != null ) {
63+ foreach ( string obj in universalObject . Keywords ) {
64+ keywordsList . Add ( obj ) ;
65+ }
66+ }
7367
74- NSObject [ ] values = new NSObject [ ] {
75- NSObject . FromObject ( universalObject . CanonicalIdentifier != null ? universalObject . CanonicalIdentifier : "" as object ) ,
76- NSObject . FromObject ( universalObject . CanonicalUrl != null ? universalObject . CanonicalUrl : "" as object ) ,
77- NSObject . FromObject ( universalObject . Title != null ? universalObject . Title : "" as object ) ,
78- NSObject . FromObject ( universalObject . ContentDescription != null ? universalObject . ContentDescription : "" as object ) ,
79- NSObject . FromObject ( universalObject . ImageUrl != null ? universalObject . ImageUrl : "" as object ) ,
80- NSObject . FromObject ( ( universalObject . PubliclyIndex ? "0" : "1" ) as object ) ,
81- NSObject . FromObject ( ( universalObject . LocallyIndex ? "0" : "1" ) as object ) ,
82- NSObject . FromObject ( universalObject . Keywords != null ? NSArray . FromStrings ( universalObject . Keywords ) : "" as object ) ,
83- NSObject . FromObject ( universalObject . ExpirationDate != null ? ( universalObject . ExpirationDate . SecondsSinceReferenceDate * 1000 ) . ToString ( ) : "" as object ) ,
84- NSObject . FromObject ( universalObject . ContentMetadata != null ? universalObject . ContentMetadata . Dictionary ( ) : "" as object )
85- } ;
68+ NSError error = null ;
69+ NSData jsonData = NSJsonSerialization . Serialize ( universalObject . ContentMetadata . Dictionary ( ) , 0 , out error ) ;
8670
87- NSDictionary dict = NSDictionary . FromObjectsAndKeys ( values , keys ) ;
71+ string jsonStr = jsonData . ToString ( ) ;
72+ Dictionary < string , object > metadataDict = JsonConvert . DeserializeObject < Dictionary < string , object > > ( jsonStr ) ;
8873
89- return ToDictionary ( dict ) ;
74+ var dict = new Dictionary < string , object > ( ) ;
75+ dict . Add ( "$canonical_identifier" , universalObject . CanonicalIdentifier != null ? universalObject . CanonicalIdentifier : "" ) ;
76+ dict . Add ( "$canonical_url" , universalObject . CanonicalUrl != null ? universalObject . CanonicalUrl : "" ) ;
77+ dict . Add ( "$og_title" , universalObject . Title != null ? universalObject . Title : "" ) ;
78+ dict . Add ( "$og_description" , universalObject . ContentDescription != null ? universalObject . ContentDescription : "" ) ;
79+ dict . Add ( "$og_image_url" , universalObject . ImageUrl != null ? universalObject . ImageUrl : "" ) ;
80+ dict . Add ( "$publicly_indexable" , universalObject . PubliclyIndex ? "0" : "1" ) ;
81+ dict . Add ( "$locally_indexable" , universalObject . LocallyIndex ? "0" : "1" ) ;
82+ dict . Add ( "$exp_date" , universalObject . ExpirationDate != null ? ( universalObject . ExpirationDate . SecondsSinceReferenceDate * 1000 ) . ToString ( ) : "" ) ;
83+
84+ if ( keywordsList != null ) {
85+ dict . Add ( "$keywords" , keywordsList ) ;
86+ }
87+
88+ if ( metadataDict != null ) {
89+ dict . Add ( "metadata" , metadataDict ) ;
90+ }
91+
92+ return dict ;
9093 }
9194
9295 public static Dictionary < string , object > ToDictionary ( IOSNativeBranch . BranchLinkProperties linkProperties ) {
0 commit comments