@@ -90,6 +90,8 @@ -(NSDictionary *)dictionaryWithoutNulls:(NSDictionary *)dictionary {
90
90
-(UNNotificationRequest *)createRequestFromTemplate : (NSDictionary *)iosPushTemplate request : (UNNotificationRequest *)request {
91
91
UNMutableNotificationContent *content = [UNMutableNotificationContent new ];
92
92
NSMutableDictionary *userInfo = [NSMutableDictionary new ];
93
+ NSMutableDictionary *aps = [NSMutableDictionary new ];
94
+ NSMutableDictionary *apsAlert = [NSMutableDictionary new ];
93
95
94
96
// check if silent
95
97
NSNumber *contentAvailable = [iosPushTemplate valueForKey: @" contentAvailable" ];
@@ -100,30 +102,55 @@ -(UNNotificationRequest *)createRequestFromTemplate:(NSDictionary *)iosPushTempl
100
102
else {
101
103
if ([request.content.userInfo valueForKey: @" message" ]) {
102
104
content.body = [request.content.userInfo valueForKey: @" message" ];
105
+ [apsAlert setObject: content.body forKey: @" body" ];
103
106
}
104
107
else {
105
108
content.body = [[[request.content.userInfo valueForKey: @" aps" ] valueForKey: @" alert" ] valueForKey: @" body" ];
109
+ [apsAlert setObject: content.body forKey: @" body" ];
106
110
}
107
111
108
112
if ([request.content.userInfo valueForKey: @" ios-alert-title" ]) {
109
113
content.title = [request.content.userInfo valueForKey: @" ios-alert-title" ];
114
+ [apsAlert setObject: content.title forKey: @" title" ];
110
115
}
111
116
else {
112
117
content.title = [iosPushTemplate valueForKey: @" alertTitle" ];
118
+ [apsAlert setObject: content.title forKey: @" title" ];
113
119
}
114
120
115
121
if ([request.content.userInfo valueForKey: @" ios-alert-subtitle" ]) {
116
- content.subtitle = [request.content.userInfo valueForKey :@" ios-alert- subtitle" ];
122
+ [apsAlert setObject: content.subtitle forKey :@" subtitle" ];
117
123
}
118
124
else {
119
125
content.subtitle = [iosPushTemplate valueForKey: @" alertSubtitle" ];
126
+ [apsAlert setObject: content.subtitle forKey: @" subtitle" ];
120
127
}
128
+ [aps setObject: apsAlert forKey: @" alert" ];
121
129
122
- if ([request.content.userInfo valueForKey: @" ios-alert-subtitle" ]) {
123
- content.subtitle = [request.content.userInfo valueForKey: @" ios-alert-subtitle" ];
130
+ if ([iosPushTemplate valueForKey: @" sound" ]) {
131
+ content.sound = [UNNotificationSound soundNamed: [iosPushTemplate valueForKey: @" sound" ]];
132
+ [aps setObject: [iosPushTemplate valueForKey: @" sound" ] forKey: @" sound" ];
124
133
}
125
134
else {
126
- content.subtitle = [iosPushTemplate valueForKey: @" alertSubtitle" ];
135
+ content.sound = [UNNotificationSound defaultSound ];
136
+ [aps setObject: @" default" forKey: @" sound" ];
137
+ }
138
+
139
+ if (request.content .badge ) {
140
+ content.badge = request.content .badge ;
141
+ [aps setObject: content.badge forKey: @" badge" ];
142
+ }
143
+ else {
144
+ NSNumber *badge = [iosPushTemplate valueForKey: @" badge" ];
145
+ content.badge = badge;
146
+ [aps setObject: content.badge forKey: @" badge" ];
147
+ }
148
+
149
+ [userInfo setObject: aps forKey: @" aps" ];
150
+
151
+ if ([iosPushTemplate valueForKey: @" attachmentUrl" ]) {
152
+ NSString *urlString = [iosPushTemplate valueForKey: @" attachmentUrl" ];
153
+ [userInfo setObject: urlString forKey: @" attachment-url" ];
127
154
}
128
155
129
156
if ([iosPushTemplate valueForKey: @" customHeaders" ]) {
@@ -136,29 +163,20 @@ -(UNNotificationRequest *)createRequestFromTemplate:(NSDictionary *)iosPushTempl
136
163
[userInfo setObject: [customHeaders valueForKey: headerKey] forKey: headerKey];
137
164
}
138
165
}
139
- content.userInfo = userInfo;
140
166
}
141
167
142
- if (request.content .sound ) {
143
- content.sound = request.content .sound ;
144
- }
145
- else {
146
- content.sound = [UNNotificationSound defaultSound ];
147
- }
148
-
149
- if (request.content .badge ) {
150
- content.badge = request.content .badge ;
151
- }
152
- else {
153
- NSNumber *badge = [iosPushTemplate valueForKey: @" badge" ];
154
- content.badge = badge;
168
+ if (@available (iOS 12.0 , *)) {
169
+ if ([iosPushTemplate valueForKey: @" threadId" ]) {
170
+ content.threadIdentifier = [iosPushTemplate valueForKey: @" threadId" ];
171
+ [userInfo setObject: content.threadIdentifier forKey: @" thread-id" ];
172
+ }
173
+ if ([iosPushTemplate valueForKey: @" summaryFormat" ]) {
174
+ content.summaryArgument = [iosPushTemplate valueForKey: @" summaryFormat" ];
175
+ [userInfo setObject: content.summaryArgument forKey: @" summary-arg" ];
176
+ }
155
177
}
156
178
157
- if ([iosPushTemplate valueForKey: @" attachmentUrl" ]) {
158
- NSString *urlString = [iosPushTemplate valueForKey: @" attachmentUrl" ];
159
- [userInfo setObject: urlString forKey: @" attachment-url" ];
160
- content.userInfo = userInfo;
161
- }
179
+ content.userInfo = userInfo;
162
180
163
181
NSArray *actionsArray = [iosPushTemplate valueForKey: @" actions" ];
164
182
content.categoryIdentifier = [self setActions: actionsArray];
0 commit comments