Skip to content

Commit 4730c7d

Browse files
committed
using the ephemeral permission
treating ephemeral as accepted reverting using ephemeral permission changing order for status
1 parent ed1132d commit 4730c7d

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

iOS_SDK/OneSignalSDK/Source/OSPermission.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,15 +145,15 @@ - (void)setProvidesAppNotificationSettings:(BOOL)providesAppNotificationSettings
145145
}
146146

147147
- (OSNotificationPermission)status {
148+
if (self.ephemeral)
149+
return OSNotificationPermissionEphemeral;
150+
148151
if (_accepted)
149152
return OSNotificationPermissionAuthorized;
150153

151154
if (self.answeredPrompt)
152155
return OSNotificationPermissionDenied;
153156

154-
if (self.ephemeral)
155-
return OSNotificationPermissionEphemeral;
156-
157157
if (self.provisional)
158158
return OSNotificationPermissionProvisional;
159159

iOS_SDK/OneSignalSDK/Source/OneSignal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ typedef NS_ENUM(NSInteger, OSNotificationPermission) {
252252
OSNotificationPermissionAuthorized,
253253

254254
// the application is only authorized to post Provisional notifications (direct to history)
255-
OSNotificationPermissionProvisional
255+
OSNotificationPermissionProvisional,
256256

257257
// the application is authorized to send notifications for 8 hours. Only used by App Clips.
258258
OSNotificationPermissionEphemeral

iOS_SDK/OneSignalSDK/Source/OneSignalNotificationSettingsIOS10.m

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@ - (void)getNotificationPermissionState:(void (^)(OSPermissionState *subscription
7474
status.answeredPrompt = settings.authorizationStatus != UNAuthorizationStatusNotDetermined && settings.authorizationStatus != provisionalStatus;
7575
status.provisional = (settings.authorizationStatus == 3);
7676
status.accepted = settings.authorizationStatus == UNAuthorizationStatusAuthorized && !status.provisional;
77+
if (@available(iOS 14.0, *)) {
78+
status.ephemeral = (settings.authorizationStatus == UNAuthorizationStatusEphemeral);
79+
status.accepted = status.accepted || status.ephemeral;
80+
} else {
81+
status.ephemeral = false;
82+
}
7783

7884
status.notificationTypes = (settings.badgeSetting == UNNotificationSettingEnabled ? 1 : 0)
7985
+ (settings.soundSetting == UNNotificationSettingEnabled ? 2 : 0)

0 commit comments

Comments
 (0)