@@ -30,6 +30,7 @@ OneSignalPushAdapter.prototype.getValidPushTypes = function() {
30
30
}
31
31
32
32
OneSignalPushAdapter . prototype . send = function ( data , installations ) {
33
+ console . log ( "Sending notification to " + installations . length + " devices." )
33
34
let deviceMap = classifyInstallation ( installations , this . validPushTypes ) ;
34
35
35
36
let sendPromises = [ ] ;
@@ -50,7 +51,9 @@ OneSignalPushAdapter.prototype.send = function(data, installations) {
50
51
51
52
OneSignalPushAdapter . prototype . sendToAPNS = function ( data , tokens ) {
52
53
53
- let post = { } ;
54
+ data = data [ 'data' ]
55
+
56
+ var post = { } ;
54
57
if ( data [ 'badge' ] ) {
55
58
if ( data [ 'badge' ] == "Increment" ) {
56
59
post [ 'ios_badgeType' ] = 'Increase' ;
@@ -81,20 +84,23 @@ OneSignalPushAdapter.prototype.sendToAPNS = function(data,tokens) {
81
84
var tokenlength = tokens . length ;
82
85
var offset = 0
83
86
// handle onesignal response. Start next batch if there's not an error.
84
- let handleResponse = function ( err ) {
85
- if ( err ) {
86
- return promise . reject ( err , tokens . slice ( i , tokens . length ( ) ) ) ;
87
+ let handleResponse = function ( wasSuccessful ) {
88
+ if ( ! wasSuccessful ) {
89
+ return promise . reject ( "OneSignal Error" ) ;
87
90
}
88
91
89
- if ( offset => tokenlength ) {
92
+ if ( offset >= tokenlength ) {
90
93
promise . resolve ( )
91
94
} else {
92
95
this . sendNext ( ) ;
93
96
}
94
97
} . bind ( this )
95
98
96
99
this . sendNext = function ( ) {
97
- post [ 'include_android_reg_ids' ] = tokens . slice ( offset , offset + chunk ) ;
100
+ post [ 'include_ios_tokens' ] = [ ] ;
101
+ tokens . slice ( offset , offset + chunk ) . forEach ( function ( i ) {
102
+ post [ 'include_ios_tokens' ] . push ( i [ 'deviceToken' ] )
103
+ } )
98
104
offset += chunk ;
99
105
this . sendToOneSignal ( post , handleResponse ) ;
100
106
} . bind ( this )
@@ -105,7 +111,9 @@ OneSignalPushAdapter.prototype.sendToAPNS = function(data,tokens) {
105
111
}
106
112
107
113
OneSignalPushAdapter . prototype . sendToGCM = function ( data , tokens ) {
108
- let post = { } ;
114
+ data = data [ 'data' ]
115
+
116
+ var post = { } ;
109
117
110
118
if ( data [ 'alert' ] ) {
111
119
post [ 'contents' ] = { en : data [ 'alert' ] } ;
@@ -127,23 +135,27 @@ OneSignalPushAdapter.prototype.sendToGCM = function(data,tokens) {
127
135
var tokenlength = tokens . length ;
128
136
var offset = 0
129
137
// handle onesignal response. Start next batch if there's not an error.
130
- let handleResponse = function ( err ) {
131
- if ( err ) {
132
- return promise . reject ( err , tokens . slice ( i , tokens . length ( ) ) ) ;
138
+ let handleResponse = function ( wasSuccessful ) {
139
+ if ( ! wasSuccessful ) {
140
+ return promise . reject ( "OneSIgnal Error" ) ;
133
141
}
134
142
135
- if ( offset => tokenlength ) {
143
+ if ( offset >= tokenlength ) {
136
144
promise . resolve ( )
137
145
} else {
138
146
this . sendNext ( ) ;
139
147
}
140
148
} . bind ( this ) ;
141
149
142
- this . sendNext = function ( ) {
143
- post [ 'include_android_reg_ids' ] = tokens . slice ( offset , offset + chunk ) ; ;
150
+ this . sendNext = function ( ) {
151
+ post [ 'include_android_reg_ids' ] = [ ] ;
152
+ tokens . slice ( offset , offset + chunk ) . forEach ( function ( i ) {
153
+ post [ 'include_android_reg_ids' ] . push ( i [ 'deviceToken' ] )
154
+ } )
144
155
offset += chunk ;
145
156
this . sendToOneSignal ( post , handleResponse ) ;
146
- } . bind ( this ) ;
157
+ } . bind ( this )
158
+
147
159
148
160
this . sendNext ( ) ;
149
161
return promise ;
@@ -165,12 +177,21 @@ OneSignalPushAdapter.prototype.sendToOneSignal = function(data, cb) {
165
177
data [ 'app_id' ] = this . OneSignalConfig [ 'appId' ] ;
166
178
167
179
let request = this . https . request ( options , function ( res ) {
168
- cb ( null ) ;
180
+ if ( res . statusCode < 299 ) {
181
+ cb ( true ) ;
182
+ } else {
183
+ console . log ( 'OneSignal Error' ) ;
184
+ res . on ( 'data' , function ( chunk ) {
185
+ console . log ( chunk . toString ( ) )
186
+ } ) ;
187
+ cb ( false )
188
+ }
169
189
} ) ;
170
190
request . on ( 'error' , function ( e ) {
171
- cb ( e ) ;
191
+ console . log ( "Error connecting to OneSignal" )
192
+ console . log ( e ) ;
193
+ cb ( false ) ;
172
194
} ) ;
173
- console . log ( data ) ;
174
195
request . write ( JSON . stringify ( data ) )
175
196
request . end ( ) ;
176
197
}
0 commit comments