Skip to content

Commit 35a9770

Browse files
authored
Merge pull request #1223 from OneSignal/5.0.0/beta_01_update_api
[5.0.0] Update API for beta-01
2 parents 9470f07 + b9b5d69 commit 35a9770

23 files changed

+194
-257
lines changed

MIGRATION_GUIDE.md

Lines changed: 54 additions & 61 deletions
Large diffs are not rendered by default.

iOS_SDK/OneSignalDevApp/OneSignalDevApp/AppDelegate.m

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
5151

5252
NSLog(@"Bundle URL: %@", [[NSBundle mainBundle] bundleURL]);
5353
[OneSignal.Debug setLogLevel:ONE_S_LL_VERBOSE];
54-
[OneSignal.Debug setVisualLevel:ONE_S_LL_NONE];
54+
[OneSignal.Debug setAlertLevel:ONE_S_LL_NONE];
5555

5656
[OneSignal initialize:[AppDelegate getOneSignalAppId] withLaunchOptions:launchOptions];
5757

@@ -90,8 +90,8 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
9090
[OneSignal.Notifications setNotificationWillShowInForegroundHandler:notificationReceiverBlock];
9191
[OneSignal.Notifications setNotificationOpenedHandler:openNotificationHandler];
9292

93-
OSPushSubscriptionState* state = [OneSignal.User.pushSubscription addObserver:self];
94-
NSLog(@"OneSignal Demo App push subscription observer added, current state: %@", state);
93+
[OneSignal.User.pushSubscription addObserver:self];
94+
NSLog(@"OneSignal Demo App push subscription observer added");
9595

9696
[OneSignal.Notifications addPermissionObserver:self];
9797

@@ -117,12 +117,12 @@ + (void) setOneSignalAppId:(NSString*)onesignalAppId {
117117
// [OneSignal setAppId:onesignalAppId];
118118
}
119119

120-
- (void) onOSPermissionChanged:(OSPermissionStateChanges*)stateChanges {
121-
NSLog(@"onOSPermissionChanged: %@", stateChanges);
120+
- (void)onOSPermissionChanged:(OSPermissionState*)state {
121+
NSLog(@"Dev App onOSPermissionChanged: %@", state);
122122
}
123123

124124
- (void)onOSPushSubscriptionChangedWithStateChanges:(OSPushSubscriptionStateChanges *)stateChanges {
125-
NSLog(@"onOSPushSubscriptionChangedWithStateChanges: %@", stateChanges);
125+
NSLog(@"Dev App onOSPushSubscriptionChangedWithStateChanges: %@", stateChanges);
126126
ViewController* mainController = (ViewController*) self.window.rootViewController;
127127
mainController.subscriptionSegmentedControl.selectedSegmentIndex = (NSInteger) stateChanges.to.optedIn;
128128
}

iOS_SDK/OneSignalDevApp/OneSignalDevApp/ViewController.m

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,13 @@ - (IBAction)removeEmailButton:(id)sender {
100100
- (IBAction)addSmsButton:(id)sender {
101101
NSString *sms = self.smsTextField.text;
102102
NSLog(@"Dev App: Add sms: %@", sms);
103-
[OneSignal.User addSmsNumber:sms];
103+
[OneSignal.User addSms:sms];
104104
}
105105

106106
- (IBAction)removeSmsButton:(id)sender {
107107
NSString *sms = self.smsTextField.text;
108108
NSLog(@"Dev App: Removing sms: %@", sms);
109-
[OneSignal.User removeSmsNumber:sms];
109+
[OneSignal.User removeSms:sms];
110110
}
111111

112112
- (IBAction)addAliasButton:(UIButton *)sender {
@@ -131,13 +131,7 @@ - (IBAction)sendTagButton:(id)sender {
131131
}
132132

133133
- (IBAction)getInfoButton:(id)sender {
134-
NSLog(@"💛 Dev App: get User and Device information");
135-
[OneSignalUserManagerImpl.sharedInstance internalDumpInfo];
136-
NSLog(@"💛 Dev App: OneSignal.Notifications permission: %d", [OneSignal.Notifications permission]);
137-
NSLog(@"💛 Dev App: OneSignal.Notifications.canRequestPermission: %d", [OneSignal.Notifications canRequestPermission]);
138-
[OneSignal internalDumpInfo];
139-
NSLog(@"💛 Dev App: getPrivacyConsent: %d", OneSignal.getPrivacyConsent);
140-
NSLog(@"💛 Dev App: requiresPrivacyConsent: %d", [OneSignal requiresPrivacyConsent]);
134+
NSLog(@"Dev App: get User and Device information, you need to fill in");
141135
}
142136

143137
- (IBAction)sendTagsButton:(id)sender {

iOS_SDK/OneSignalDevApp/OneSignalDevAppClip/AppDelegate.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
5252
NSLog(@"Bundle URL: %@", [[NSBundle mainBundle] bundleURL]);
5353

5454
[OneSignal.Debug setLogLevel:ONE_S_LL_VERBOSE];
55-
[OneSignal.Debug setVisualLevel:ONE_S_LL_NONE];
55+
[OneSignal.Debug setAlertLevel:ONE_S_LL_NONE];
5656
_notificationDelegate = [OneSignalNotificationCenterDelegate new];
5757

5858
id openNotificationHandler = ^(OSNotificationOpenedResult *result) {
@@ -112,8 +112,8 @@ + (void) setOneSignalAppId:(NSString*)onesignalAppId {
112112
[OneSignal initialize:onesignalAppId withLaunchOptions:nil];
113113
}
114114

115-
- (void) onOSPermissionChanged:(OSPermissionStateChanges*)stateChanges {
116-
NSLog(@"onOSPermissionChanged: %@", stateChanges);
115+
- (void) onOSPermissionChanged:(OSPermissionState*)state {
116+
NSLog(@"onOSPermissionChanged: %@", state);
117117
}
118118

119119
// TODO: Add push sub observer

iOS_SDK/OneSignalSDK/OneSignalCore/Source/OneSignalLog.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@ typedef NS_ENUM(NSUInteger, ONE_S_LOG_LEVEL) {
3838

3939
@protocol OSDebug <NSObject>
4040
+ (void)setLogLevel:(ONE_S_LOG_LEVEL)logLevel;
41-
+ (void)setVisualLevel:(ONE_S_LOG_LEVEL)visualLogLevel;
41+
+ (void)setAlertLevel:(ONE_S_LOG_LEVEL)logLevel NS_REFINED_FOR_SWIFT;
4242
@end
4343

4444
@interface OneSignalLog : NSObject<OSDebug>
4545
+ (Class<OSDebug>)Debug;
4646
+ (void)setLogLevel:(ONE_S_LOG_LEVEL)logLevel;
47-
+ (void)setVisualLevel:(ONE_S_LOG_LEVEL)visualLogLevel;
47+
+ (void)setAlertLevel:(ONE_S_LOG_LEVEL)logLevel;
4848
+ (void)onesignalLog:(ONE_S_LOG_LEVEL)logLevel message:(NSString* _Nonnull)message;
4949
@end

iOS_SDK/OneSignalSDK/OneSignalCore/Source/OneSignalLog.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
@implementation OneSignalLog
3333

3434
static ONE_S_LOG_LEVEL _nsLogLevel = ONE_S_LL_WARN;
35-
static ONE_S_LOG_LEVEL _visualLogLevel = ONE_S_LL_NONE;
35+
static ONE_S_LOG_LEVEL _alertLogLevel = ONE_S_LL_NONE;
3636

3737
+ (Class<OSDebug>)Debug {
3838
return self;
@@ -42,8 +42,8 @@ + (void)setLogLevel:(ONE_S_LOG_LEVEL)nsLogLevel {
4242
_nsLogLevel = nsLogLevel;
4343
}
4444

45-
+ (void)setVisualLevel:(ONE_S_LOG_LEVEL)visualLogLevel {
46-
_visualLogLevel = visualLogLevel;
45+
+ (void)setAlertLevel:(ONE_S_LOG_LEVEL)logLevel {
46+
_alertLogLevel = logLevel;
4747
}
4848

4949
+ (void)onesignalLog:(ONE_S_LOG_LEVEL)logLevel message:(NSString* _Nonnull)message {
@@ -79,7 +79,7 @@ void onesignal_Log(ONE_S_LOG_LEVEL logLevel, NSString* message) {
7979
if (logLevel <= _nsLogLevel)
8080
NSLog(@"%@", [levelString stringByAppendingString:message]);
8181

82-
if (logLevel <= _visualLogLevel) {
82+
if (logLevel <= _alertLogLevel) {
8383
[[OSDialogInstanceManager sharedInstance] presentDialogWithTitle:levelString withMessage:message withActions:nil cancelTitle:NSLocalizedString(@"Close", @"Close button") withActionCompletion:nil];
8484
}
8585
}

iOS_SDK/OneSignalSDK/OneSignalCore/Source/RemoteParameters/OSRemoteParamController.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ @implementation OSRemoteParamController
3535

3636
static OSRemoteParamController *_sharedController;
3737
+ (OSRemoteParamController *)sharedController {
38+
if (!_sharedController)
39+
_sharedController = [OSRemoteParamController new];
3840
return _sharedController;
3941
}
4042

iOS_SDK/OneSignalSDK/OneSignalNotifications/OSNotificationsManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ typedef void (^OSNotificationOpenedBlock)(OSNotificationOpenedResult * _Nonnull
5757
// can check responds to selector
5858
- (void)setNotificationTypes:(int)notificationTypes;
5959
- (void)setPushToken:(NSString * _Nonnull)pushToken;
60-
- (void)setAccepted:(BOOL)inAccepted;
60+
- (void)setReachable:(BOOL)inReachable;
6161

6262
@end
6363

iOS_SDK/OneSignalSDK/OneSignalNotifications/OSNotificationsManager.m

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ + (OneSignalNotificationSettings *)osNotificationSettings {
143143
return _osNotificationSettings;
144144
}
145145

146+
// static property def to add developer's OSPermissionStateChanges observers to.
146147
static ObservablePermissionStateChangesType* _permissionStateChangesObserver;
147148
+ (ObservablePermissionStateChangesType*)permissionStateChangesObserver {
148149
if (!_permissionStateChangesObserver)
@@ -336,6 +337,8 @@ + (void)presentAppSettings {
336337
}
337338

338339
+ (void)clearAll {
340+
[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications];
341+
// TODO: Determine if we also need to call clearBadgeCount
339342
[self clearBadgeCount:false];
340343
}
341344

@@ -368,9 +371,6 @@ + (BOOL)registerForAPNsToken {
368371

369372
+ (void)didRegisterForRemoteNotifications:(UIApplication *)app
370373
deviceToken:(NSData *)inDeviceToken {
371-
if ([OSPrivacyConsentController shouldLogMissingPrivacyConsentErrorWithMethodName:nil])
372-
return;
373-
374374
let parsedDeviceToken = [NSString hexStringFromData:inDeviceToken];
375375

376376
[OneSignalLog onesignalLog:ONE_S_LL_INFO message: [NSString stringWithFormat:@"Device Registered with Apple: %@", parsedDeviceToken]];
@@ -421,11 +421,11 @@ + (void)setSubscriptionErrorStatus:(int)errorType {
421421
[self sendNotificationTypesUpdateToDelegate];
422422
}
423423

424-
// onOSPermissionChanged should only fire if something changed.
424+
// onOSPermissionChanged should only fire if the reachable property changed.
425425
+ (void)addPermissionObserver:(NSObject<OSPermissionObserver>*)observer {
426426
[self.permissionStateChangesObserver addObserver:observer];
427427

428-
if ([self.currentPermissionState compare:self.lastPermissionState])
428+
if (self.currentPermissionState.reachable != self.lastPermissionState.reachable)
429429
[OSPermissionChangedInternalObserver fireChangesObserver:self.currentPermissionState];
430430
}
431431

@@ -455,8 +455,8 @@ + (void)updateNotificationTypes:(int)notificationTypes {
455455
+ (void)sendNotificationTypesUpdateToDelegate {
456456
// We don't delay observer update to wait until the OneSignal server is notified
457457
// TODO: We can do the above and delay observers until server is updated.
458-
if (self.delegate && [self.delegate respondsToSelector:@selector(setAccepted:)]) {
459-
[self.delegate setAccepted:[self getNotificationTypes] > 0];
458+
if (self.delegate && [self.delegate respondsToSelector:@selector(setReachable:)]) {
459+
[self.delegate setReachable:[self getNotificationTypes] > 0];
460460
}
461461
if (self.delegate && [self.delegate respondsToSelector:@selector(setNotificationTypes:)]) {
462462
[self.delegate setNotificationTypes:[self getNotificationTypes]];

iOS_SDK/OneSignalSDK/OneSignalNotifications/OSPermission.h

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,9 @@ typedef NS_ENUM(NSInteger, OSNotificationPermission) {
4949
// Permission Classes
5050
@interface OSPermissionState : NSObject
5151
// TODO: Decide: remove/change properties after addition of canRequestPermission and permission boolean
52-
@property (readonly, nonatomic) BOOL reachable;
53-
@property (readonly, nonatomic) BOOL hasPrompted;
54-
@property (readonly, nonatomic) BOOL provisional;
55-
@property (readonly, nonatomic) BOOL providesAppNotificationSettings;
56-
@property (readonly, nonatomic) OSNotificationPermission status;
52+
@property (readonly, nonatomic) BOOL permission;
5753
- (NSDictionary * _Nonnull)jsonRepresentation;
58-
- (instancetype _Nonnull )initWithStatus:(OSNotificationPermission)status reachable:(BOOL)reachable hasPrompted:(BOOL)hasPrompted provisional:(BOOL)provisional providesAppNotificationSettings:(BOOL)providesAppNotificationSettings;
54+
- (instancetype _Nonnull )initWithPermission:(BOOL)permission;
5955
@end
6056

6157
@protocol OSPermissionStateObserver<NSObject>
@@ -87,24 +83,15 @@ typedef OSObservable<NSObject<OSPermissionStateObserver>*, OSPermissionState*> O
8783
- (instancetype _Nonnull )initAsTo;
8884
- (instancetype _Nonnull )initAsFrom;
8985

90-
- (BOOL)compare:(OSPermissionStateInternal * _Nonnull)from;
9186
- (OSPermissionState * _Nonnull)getExternalState;
92-
93-
@end
94-
95-
@interface OSPermissionStateChanges : NSObject
96-
97-
@property (readonly, nonnull) OSPermissionState* to;
98-
@property (readonly, nonnull) OSPermissionState* from;
9987
- (NSDictionary * _Nonnull)jsonRepresentation;
100-
- (instancetype _Nonnull)initAsTo:(OSPermissionState * _Nonnull)to from:(OSPermissionState * _Nonnull)from;
10188
@end
10289

10390
@protocol OSPermissionObserver <NSObject>
104-
- (void)onOSPermissionChanged:(OSPermissionStateChanges * _Nonnull)stateChanges;
91+
- (void)onOSPermissionChanged:(OSPermissionState * _Nonnull)state;
10592
@end
10693

107-
typedef OSObservable<NSObject<OSPermissionObserver>*, OSPermissionStateChanges*> ObservablePermissionStateChangesType;
94+
typedef OSObservable<NSObject<OSPermissionObserver>*, OSPermissionState*> ObservablePermissionStateChangesType;
10895

10996

11097
@interface OSPermissionChangedInternalObserver : NSObject<OSPermissionStateObserver>

0 commit comments

Comments
 (0)