com.onesignal.unity.ios 3.0.0-beta.2 → 3.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -99,6 +99,10 @@ namespace OneSignalSDK {
|
|
|
99
99
|
return true;
|
|
100
100
|
|
|
101
101
|
var notification = JsonUtility.FromJson<Notification>(response);
|
|
102
|
+
|
|
103
|
+
if (Json.Deserialize(response) is Dictionary<string, object> notifDict && notifDict.ContainsKey("additionalData"))
|
|
104
|
+
notification.additionalData = notifDict["additionalData"] as Dictionary<string, object>;
|
|
105
|
+
|
|
102
106
|
var resultNotif = _instance.NotificationWillShow(notification);
|
|
103
107
|
|
|
104
108
|
return resultNotif != null;
|
|
@@ -130,9 +134,20 @@ namespace OneSignalSDK {
|
|
|
130
134
|
|
|
131
135
|
[AOT.MonoPInvokeCallback(typeof(StateListenerDelegate))]
|
|
132
136
|
private static void _onPermissionStateChanged(string current, string previous) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
137
|
+
if (!(Json.Deserialize(current) is Dictionary<string, object> currState)) {
|
|
138
|
+
SDKDebug.Error("Could not deserialize current permission state");
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (!(Json.Deserialize(previous) is Dictionary<string, object> prevState)) {
|
|
143
|
+
SDKDebug.Error("Could not deserialize previous permission state");
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
var curr = (NotificationPermission) currState["status"];
|
|
148
|
+
var prev = (NotificationPermission) prevState["status"];
|
|
149
|
+
|
|
150
|
+
_instance.NotificationPermissionChanged?.Invoke(curr, prev);
|
|
136
151
|
}
|
|
137
152
|
|
|
138
153
|
[AOT.MonoPInvokeCallback(typeof(StateListenerDelegate))]
|
|
@@ -54,6 +54,9 @@ namespace OneSignalSDK {
|
|
|
54
54
|
* Direct methods
|
|
55
55
|
*/
|
|
56
56
|
|
|
57
|
+
[DllImport("__Internal")] private static extern string _getDeviceState();
|
|
58
|
+
|
|
59
|
+
[DllImport("__Internal")] private static extern void _setLogLevel(int logLevel, int alertLevel);
|
|
57
60
|
[DllImport("__Internal")] private static extern void _setPrivacyConsent(bool consent);
|
|
58
61
|
[DllImport("__Internal")] private static extern bool _getPrivacyConsent();
|
|
59
62
|
[DllImport("__Internal")] private static extern void _setRequiresPrivacyConsent(bool required);
|
|
@@ -82,6 +85,8 @@ namespace OneSignalSDK {
|
|
|
82
85
|
|
|
83
86
|
[DllImport("__Internal")] private static extern void _logoutEmail(int hashCode, BooleanResponseDelegate callback);
|
|
84
87
|
[DllImport("__Internal")] private static extern void _logoutSMSNumber(int hashCode, BooleanResponseDelegate callback);
|
|
88
|
+
|
|
89
|
+
[DllImport("__Internal")] private static extern void _setLanguage(string languageCode, int hashCode, BooleanResponseDelegate callback);
|
|
85
90
|
|
|
86
91
|
[DllImport("__Internal")] private static extern void _promptLocation();
|
|
87
92
|
[DllImport("__Internal")] private static extern void _setShareLocation(bool share);
|
package/Runtime/OneSignalIOS.cs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/*
|
|
2
2
|
* Modified MIT License
|
|
3
3
|
*
|
|
4
4
|
* Copyright 2021 OneSignal
|
|
@@ -38,11 +38,83 @@ namespace OneSignalSDK {
|
|
|
38
38
|
public override event InAppMessageLifecycleDelegate InAppMessageWillDismiss;
|
|
39
39
|
public override event InAppMessageLifecycleDelegate InAppMessageDidDismiss;
|
|
40
40
|
public override event InAppMessageActionDelegate InAppMessageTriggeredAction;
|
|
41
|
-
public override event StateChangeDelegate<
|
|
41
|
+
public override event StateChangeDelegate<NotificationPermission> NotificationPermissionChanged;
|
|
42
42
|
public override event StateChangeDelegate<PushSubscriptionState> PushSubscriptionStateChanged;
|
|
43
43
|
public override event StateChangeDelegate<EmailSubscriptionState> EmailSubscriptionStateChanged;
|
|
44
44
|
public override event StateChangeDelegate<SMSSubscriptionState> SMSSubscriptionStateChanged;
|
|
45
|
+
|
|
46
|
+
public override NotificationPermission NotificationPermission {
|
|
47
|
+
get {
|
|
48
|
+
if (Json.Deserialize(_getDeviceState()) is Dictionary<string, object> deviceState)
|
|
49
|
+
return (NotificationPermission) deviceState["notificationPermissionStatus"];
|
|
50
|
+
|
|
51
|
+
SDKDebug.Error("Could not deserialize device state for permissions");
|
|
52
|
+
return NotificationPermission.NotDetermined;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public override PushSubscriptionState PushSubscriptionState {
|
|
57
|
+
get {
|
|
58
|
+
if (Json.Deserialize(_getDeviceState()) is Dictionary<string, object> deviceState) {
|
|
59
|
+
return new PushSubscriptionState {
|
|
60
|
+
userId = deviceState["userId"] as string,
|
|
61
|
+
pushToken = deviceState["pushToken"] as string,
|
|
62
|
+
isSubscribed = (bool) deviceState["isSubscribed"],
|
|
63
|
+
isPushDisabled = (bool) deviceState["isPushDisabled"],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
SDKDebug.Error("Could not deserialize device state for push");
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
public override EmailSubscriptionState EmailSubscriptionState {
|
|
73
|
+
get {
|
|
74
|
+
if (Json.Deserialize(_getDeviceState()) is Dictionary<string, object> deviceState) {
|
|
75
|
+
return new EmailSubscriptionState {
|
|
76
|
+
emailUserId = deviceState["emailUserId"] as string,
|
|
77
|
+
emailAddress = deviceState["emailAddress"] as string,
|
|
78
|
+
isSubscribed = (bool) deviceState["isEmailSubscribed"],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
45
81
|
|
|
82
|
+
SDKDebug.Error("Could not deserialize device state for email");
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public override SMSSubscriptionState SMSSubscriptionState {
|
|
88
|
+
get {
|
|
89
|
+
if (Json.Deserialize(_getDeviceState()) is Dictionary<string, object> deviceState) {
|
|
90
|
+
return new SMSSubscriptionState {
|
|
91
|
+
smsUserId = deviceState["smsUserId"] as string,
|
|
92
|
+
smsNumber = deviceState["smsNumber"] as string,
|
|
93
|
+
isSubscribed = (bool) deviceState["isSMSSubscribed"],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
SDKDebug.Error("Could not deserialize device state for sms");
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
public override LogLevel LogLevel {
|
|
103
|
+
get => _logLevel;
|
|
104
|
+
set {
|
|
105
|
+
_logLevel = value;
|
|
106
|
+
_setLogLevel((int) _logLevel, (int) _alertLevel);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
public override LogLevel AlertLevel {
|
|
111
|
+
get => _alertLevel;
|
|
112
|
+
set {
|
|
113
|
+
_alertLevel = value;
|
|
114
|
+
_setLogLevel((int) _logLevel, (int) _alertLevel);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
46
118
|
public override bool PrivacyConsent {
|
|
47
119
|
get => _getPrivacyConsent();
|
|
48
120
|
set => _setPrivacyConsent(value);
|
|
@@ -65,7 +137,7 @@ namespace OneSignalSDK {
|
|
|
65
137
|
}
|
|
66
138
|
|
|
67
139
|
public override void ClearOneSignalNotifications()
|
|
68
|
-
=> SDKDebug.
|
|
140
|
+
=> SDKDebug.Info("ClearOneSignalNotifications invoked on iOS, does nothing");
|
|
69
141
|
|
|
70
142
|
public override async Task<Dictionary<string, object>> PostNotification(Dictionary<string, object> options) {
|
|
71
143
|
var (proxy, hashCode) = _setupProxy<string>();
|
|
@@ -159,6 +231,12 @@ namespace OneSignalSDK {
|
|
|
159
231
|
_logoutSMSNumber(hashCode, BooleanCallbackProxy);
|
|
160
232
|
return await proxy;
|
|
161
233
|
}
|
|
234
|
+
|
|
235
|
+
public override async Task<bool> SetLanguage(string languageCode) {
|
|
236
|
+
var (proxy, hashCode) = _setupProxy<bool>();
|
|
237
|
+
_setLanguage(languageCode, hashCode, BooleanCallbackProxy);
|
|
238
|
+
return await proxy;
|
|
239
|
+
}
|
|
162
240
|
|
|
163
241
|
public override void PromptLocation()
|
|
164
242
|
=> _promptLocation();
|
|
@@ -67,10 +67,10 @@ const char* jsonStringFromDictionary(NSDictionary *dictionary) {
|
|
|
67
67
|
*/
|
|
68
68
|
|
|
69
69
|
@interface OneSignalObserver : NSObject <OSPermissionObserver,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
OSSubscriptionObserver,
|
|
71
|
+
OSEmailSubscriptionObserver,
|
|
72
|
+
OSSMSSubscriptionObserver,
|
|
73
|
+
OSInAppMessageLifecycleHandler>
|
|
74
74
|
|
|
75
75
|
+ (instancetype) sharedObserver;
|
|
76
76
|
@property StateListenerDelegate permissionDelegate;
|
|
@@ -167,234 +167,251 @@ const char* jsonStringFromDictionary(NSDictionary *dictionary) {
|
|
|
167
167
|
|
|
168
168
|
extern "C" {
|
|
169
169
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
170
|
+
void _setNotificationReceivedCallback(NotificationWillShowInForegroundDelegate callback) {
|
|
171
|
+
[OneSignal setNotificationWillShowInForegroundHandler:^(OSNotification *notification, OSNotificationDisplayResponse completion) {
|
|
172
|
+
NSString *stringResponse = [notification stringify];
|
|
173
|
+
bool shouldDisplay = callback([stringResponse UTF8String]);
|
|
174
|
+
completion(shouldDisplay ? notification : nil);
|
|
175
|
+
}];
|
|
176
|
+
}
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
178
|
+
void _setNotificationOpenedCallback(StringListenerDelegate callback) {
|
|
179
|
+
[OneSignal setNotificationOpenedHandler:^(OSNotificationOpenedResult * _Nonnull result) {
|
|
180
|
+
NSString *stringResponse = [result stringify];
|
|
181
|
+
callback([stringResponse UTF8String]);
|
|
182
|
+
}];
|
|
183
|
+
}
|
|
184
184
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
185
|
+
void _setInAppMessageWillDisplayCallback(StringListenerDelegate callback) {
|
|
186
|
+
[[OneSignalObserver sharedObserver] setIamWillDisplayDelegate:callback];
|
|
187
|
+
}
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
void _setInAppMessageDidDisplayCallback(StringListenerDelegate callback) {
|
|
190
|
+
[[OneSignalObserver sharedObserver] setIamDidDisplayDelegate:callback];
|
|
191
|
+
}
|
|
192
192
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
193
|
+
void _setInAppMessageWillDismissCallback(StringListenerDelegate callback) {
|
|
194
|
+
[[OneSignalObserver sharedObserver] setIamWillDismissDelegate:callback];
|
|
195
|
+
}
|
|
196
196
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
197
|
+
void _setInAppMessageDidDismissCallback(StringListenerDelegate callback) {
|
|
198
|
+
[[OneSignalObserver sharedObserver] setIamDidDismissDelegate:callback];
|
|
199
|
+
}
|
|
200
200
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
201
|
+
void _setInAppMessageClickedCallback(StringListenerDelegate callback) {
|
|
202
|
+
[OneSignal setInAppMessageClickHandler:^(OSInAppMessageAction * _Nonnull action) {
|
|
203
|
+
callback(jsonStringFromDictionary([action jsonRepresentation]));
|
|
204
|
+
}];
|
|
205
|
+
}
|
|
206
206
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
void _setPermissionStateChangedCallback(StateListenerDelegate callback) {
|
|
208
|
+
[[OneSignalObserver sharedObserver] setPermissionDelegate:callback];
|
|
209
|
+
}
|
|
210
210
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
211
|
+
void _setSubscriptionStateChangedCallback(StateListenerDelegate callback) {
|
|
212
|
+
[[OneSignalObserver sharedObserver] setSubscriptionDelegate:callback];
|
|
213
|
+
}
|
|
214
214
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
215
|
+
void _setEmailSubscriptionStateChangedCallback(StateListenerDelegate callback) {
|
|
216
|
+
[[OneSignalObserver sharedObserver] setEmailDelegate:callback];
|
|
217
|
+
}
|
|
218
218
|
|
|
219
219
|
void _setSMSSubscriptionStateChangedCallback(StateListenerDelegate callback) {
|
|
220
220
|
[[OneSignalObserver sharedObserver] setSmsDelegate:callback];
|
|
221
221
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
[OneSignal
|
|
222
|
+
|
|
223
|
+
const char* _getDeviceState() {
|
|
224
|
+
auto deviceState = [OneSignal getDeviceState];
|
|
225
|
+
auto stateStr = jsonStringFromDictionary([deviceState jsonRepresentation]);
|
|
226
|
+
return strdup(stateStr);
|
|
225
227
|
}
|
|
226
228
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
229
|
+
void _setLogLevel(int logLevel, int alertLevel) {
|
|
230
|
+
[OneSignal setLogLevel:(ONE_S_LOG_LEVEL) logLevel
|
|
231
|
+
visualLevel:(ONE_S_LOG_LEVEL) alertLevel];
|
|
232
|
+
}
|
|
230
233
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
+
void _setPrivacyConsent(bool consent) {
|
|
235
|
+
[OneSignal consentGranted: consent];
|
|
236
|
+
}
|
|
234
237
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
+
bool _getPrivacyConsent() {
|
|
239
|
+
return false; // todo - doesn't exist
|
|
240
|
+
}
|
|
238
241
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
242
|
+
void _setRequiresPrivacyConsent(bool required) {
|
|
243
|
+
[OneSignal setRequiresUserPrivacyConsent: required];
|
|
244
|
+
}
|
|
243
245
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}];
|
|
248
|
-
}
|
|
246
|
+
bool _getRequiresPrivacyConsent() {
|
|
247
|
+
return [OneSignal requiresUserPrivacyConsent];
|
|
248
|
+
}
|
|
249
249
|
|
|
250
|
-
|
|
251
|
-
|
|
250
|
+
void _initialize(const char* appId) {
|
|
251
|
+
[OneSignal setAppId:TO_NSSTRING(appId)];
|
|
252
|
+
[OneSignal initWithLaunchOptions:nil];
|
|
253
|
+
}
|
|
252
254
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
255
|
+
void _promptForPushNotificationsWithUserResponse(int hashCode, BooleanResponseDelegate callback) {
|
|
256
|
+
[OneSignal promptForPushNotificationsWithUserResponse:^(BOOL accepted) {
|
|
257
|
+
CALLBACK(accepted);
|
|
258
|
+
}];
|
|
259
|
+
}
|
|
259
260
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}
|
|
261
|
+
void _postNotification(const char* optionsJson, int hashCode, StringResponseDelegate callback) {
|
|
262
|
+
NSDictionary *options = objFromJsonString<NSDictionary*>(optionsJson);
|
|
263
263
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
264
|
+
[OneSignal postNotification:options onSuccess:^(NSDictionary *result) {
|
|
265
|
+
CALLBACK(jsonStringFromDictionary(result));
|
|
266
|
+
} onFailure:^(NSError *error) {
|
|
267
|
+
CALLBACK(NULL);
|
|
268
|
+
}];
|
|
269
|
+
}
|
|
268
270
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
271
|
+
void _setTrigger(const char* key, const char* value) {
|
|
272
|
+
[OneSignal addTrigger:TO_NSSTRING(key) withValue:TO_NSSTRING(value)];
|
|
273
|
+
}
|
|
272
274
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
275
|
+
void _setTriggers(const char* triggersJson) {
|
|
276
|
+
NSDictionary *triggers = objFromJsonString<NSDictionary*>(triggersJson);
|
|
277
|
+
[OneSignal addTriggers:triggers];
|
|
278
|
+
}
|
|
277
279
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
return strdup([asString UTF8String]);
|
|
282
|
-
}
|
|
280
|
+
void _removeTrigger(const char* key) {
|
|
281
|
+
[OneSignal removeTriggerForKey:TO_NSSTRING(key)];
|
|
282
|
+
}
|
|
283
283
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
284
|
+
void _removeTriggers(const char* triggersJson) {
|
|
285
|
+
NSArray *triggers = objFromJsonString<NSArray*>(triggersJson);
|
|
286
|
+
[OneSignal removeTriggersForKeys:triggers];
|
|
287
|
+
}
|
|
288
288
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
289
|
+
const char* _getTrigger(const char* key) {
|
|
290
|
+
id value = [OneSignal getTriggerValueForKey:TO_NSSTRING(key)];
|
|
291
|
+
NSString *asString = [NSString stringWithFormat:@"%@", value];
|
|
292
|
+
return strdup([asString UTF8String]);
|
|
293
|
+
}
|
|
292
294
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
295
|
+
const char* _getTriggers() {
|
|
296
|
+
NSDictionary *triggers = [OneSignal getTriggers];
|
|
297
|
+
return strdup(jsonStringFromDictionary(triggers));
|
|
298
|
+
}
|
|
296
299
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
onSuccess:^(NSDictionary *result) { CALLBACK(YES); }
|
|
301
|
-
onFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
302
|
-
}
|
|
300
|
+
void _setInAppMessagesArePaused(bool paused) {
|
|
301
|
+
[OneSignal pauseInAppMessages:paused];
|
|
302
|
+
}
|
|
303
303
|
|
|
304
|
-
|
|
305
|
-
|
|
304
|
+
bool _getInAppMessagesArePaused() {
|
|
305
|
+
return [OneSignal isInAppMessagingPaused];
|
|
306
|
+
}
|
|
306
307
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
308
|
+
void _sendTag(const char* name, const char* value, int hashCode, BooleanResponseDelegate callback) {
|
|
309
|
+
[OneSignal sendTag:TO_NSSTRING(name)
|
|
310
|
+
value:TO_NSSTRING(value)
|
|
311
|
+
onSuccess:^(NSDictionary *result) { CALLBACK(YES); }
|
|
312
|
+
onFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
313
|
+
}
|
|
311
314
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
CALLBACK(jsonStringFromDictionary(result));
|
|
315
|
-
} onFailure:^(NSError *error) {
|
|
316
|
-
NSLog(@"[Onesignal] Could not get tags");
|
|
317
|
-
CALLBACK(nil);
|
|
318
|
-
}];
|
|
319
|
-
}
|
|
315
|
+
void _sendTags(const char* tagsJson, int hashCode, BooleanResponseDelegate callback) {
|
|
316
|
+
NSDictionary *tags = objFromJsonString<NSDictionary*>(tagsJson);
|
|
320
317
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
}
|
|
318
|
+
[OneSignal sendTags:tags
|
|
319
|
+
onSuccess:^(NSDictionary *result) { CALLBACK(YES); }
|
|
320
|
+
onFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
321
|
+
}
|
|
326
322
|
|
|
327
|
-
|
|
328
|
-
|
|
323
|
+
void _getTags(int hashCode, StringResponseDelegate callback) {
|
|
324
|
+
[OneSignal getTags:^(NSDictionary *result) {
|
|
325
|
+
CALLBACK(jsonStringFromDictionary(result));
|
|
326
|
+
} onFailure:^(NSError *error) {
|
|
327
|
+
NSLog(@"[Onesignal] Could not get tags");
|
|
328
|
+
CALLBACK(nil);
|
|
329
|
+
}];
|
|
330
|
+
}
|
|
329
331
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
332
|
+
void _deleteTag(const char* name, int hashCode, BooleanResponseDelegate callback) {
|
|
333
|
+
[OneSignal deleteTag:TO_NSSTRING(name)
|
|
334
|
+
onSuccess:^(NSDictionary *result) { CALLBACK(YES); }
|
|
335
|
+
onFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
336
|
+
}
|
|
334
337
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
onFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
338
|
-
}
|
|
338
|
+
void _deleteTags(const char* tagsJson, int hashCode, BooleanResponseDelegate callback) {
|
|
339
|
+
NSArray *tags = objFromJsonString<NSArray*>(tagsJson);
|
|
339
340
|
|
|
340
|
-
|
|
341
|
-
[
|
|
342
|
-
|
|
343
|
-
withSuccess:^(NSDictionary *results) { CALLBACK(YES); }
|
|
344
|
-
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
341
|
+
if (tags == nil) {
|
|
342
|
+
NSLog(@"[Onesignal] Could not parse tags to delete");
|
|
343
|
+
CALLBACK(NO);
|
|
345
344
|
}
|
|
346
345
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
346
|
+
[OneSignal deleteTags:tags
|
|
347
|
+
onSuccess:^(NSDictionary *result) { CALLBACK(YES); }
|
|
348
|
+
onFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
void _setExternalUserId(const char* externalId, const char* authHash, int hashCode, BooleanResponseDelegate callback) {
|
|
352
|
+
[OneSignal setExternalUserId:TO_NSSTRING(externalId)
|
|
353
|
+
withExternalIdAuthHashToken:TO_NSSTRING(authHash)
|
|
354
|
+
withSuccess:^(NSDictionary *results) { CALLBACK(YES); }
|
|
355
|
+
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
void _setEmail(const char* email, const char* authHash, int hashCode, BooleanResponseDelegate callback) {
|
|
359
|
+
[OneSignal setEmail:TO_NSSTRING(email)
|
|
360
|
+
withEmailAuthHashToken:TO_NSSTRING(authHash)
|
|
361
|
+
withSuccess:^{ CALLBACK(YES); }
|
|
362
|
+
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
void _setSMSNumber(const char* smsNumber, const char* authHash, int hashCode, BooleanResponseDelegate callback) {
|
|
366
|
+
[OneSignal setSMSNumber:TO_NSSTRING(smsNumber)
|
|
367
|
+
withSMSAuthHashToken:TO_NSSTRING(authHash)
|
|
368
|
+
withSuccess:^(NSDictionary *results) { CALLBACK(YES); }
|
|
351
369
|
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
352
|
-
|
|
370
|
+
}
|
|
353
371
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
[OneSignal logoutEmailWithSuccess:^{ CALLBACK(YES); }
|
|
363
|
-
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
372
|
+
void _logoutEmail(int hashCode, BooleanResponseDelegate callback) {
|
|
373
|
+
[OneSignal logoutEmailWithSuccess:^{ CALLBACK(YES); }
|
|
374
|
+
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
void _logoutSMSNumber(int hashCode, BooleanResponseDelegate callback) {
|
|
378
|
+
[OneSignal logoutSMSNumberWithSuccess:^(NSDictionary *results) { CALLBACK(YES); }
|
|
379
|
+
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
364
380
|
}
|
|
365
381
|
|
|
366
|
-
void
|
|
367
|
-
[OneSignal
|
|
368
|
-
|
|
382
|
+
void _setLanguage(const char* languageCode, int hashCode, BooleanResponseDelegate callback) {
|
|
383
|
+
[OneSignal setLanguage:TO_NSSTRING(languageCode)
|
|
384
|
+
withSuccess:^{ CALLBACK(YES); }
|
|
385
|
+
withFailure:^(NSError *error) { CALLBACK(NO); }];
|
|
369
386
|
}
|
|
370
387
|
|
|
371
388
|
void _promptLocation() {
|
|
372
389
|
[OneSignal promptLocation];
|
|
373
390
|
}
|
|
374
391
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
392
|
+
void _setShareLocation(bool share) {
|
|
393
|
+
[OneSignal setLocationShared:share];
|
|
394
|
+
}
|
|
378
395
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
396
|
+
bool _getShareLocation() {
|
|
397
|
+
return [OneSignal isLocationShared];
|
|
398
|
+
}
|
|
382
399
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
400
|
+
void _sendOutcome(const char* name, int hashCode, BooleanResponseDelegate callback) {
|
|
401
|
+
[OneSignal sendOutcome:TO_NSSTRING(name)
|
|
402
|
+
onSuccess:^(OSOutcomeEvent *outcome) { CALLBACK(outcome != nil); }];
|
|
403
|
+
}
|
|
387
404
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
405
|
+
void _sendUniqueOutcome(const char* name, int hashCode, BooleanResponseDelegate callback) {
|
|
406
|
+
[OneSignal sendUniqueOutcome:TO_NSSTRING(name)
|
|
407
|
+
onSuccess:^(OSOutcomeEvent *outcome) { CALLBACK(outcome != nil); }];
|
|
408
|
+
}
|
|
392
409
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
}
|
|
410
|
+
void _sendOutcomeWithValue(const char* name, float value, int hashCode, BooleanResponseDelegate callback) {
|
|
411
|
+
[OneSignal sendOutcomeWithValue:TO_NSSTRING(name)
|
|
412
|
+
value:@(value)
|
|
413
|
+
onSuccess:^(OSOutcomeEvent *outcome) { CALLBACK(outcome != nil); }];
|
|
398
414
|
}
|
|
415
|
+
}
|
|
416
|
+
|
|
399
417
|
|
|
400
|
-
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "com.onesignal.unity.ios",
|
|
3
3
|
"displayName": "OneSignal Unity SDK - iOS",
|
|
4
|
-
"version": "3.0.0-beta.
|
|
4
|
+
"version": "3.0.0-beta.3",
|
|
5
5
|
"unity": "2018.4",
|
|
6
6
|
"description": "OneSignal is the market leader in customer engagement, powering mobile push, web push, email, and in-app messages.",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"com.onesignal.unity.core": "3.0.0-beta.
|
|
8
|
+
"com.onesignal.unity.core": "3.0.0-beta.3"
|
|
9
9
|
},
|
|
10
10
|
"keywords": [
|
|
11
11
|
"push-notifications",
|