Skip to content

Commit e7d65f6

Browse files
author
Rodrigo Gomez Palacio
committed
Modify OSRequestGetInAppMessages method to include new header values
Motivation: we need to pass the offset, session duration, & retry count to the GET IAM request.
1 parent b07df39 commit e7d65f6

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

iOS_SDK/OneSignalSDK/OneSignalInAppMessages/Requests/OSInAppMessagingRequests.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#import "OSInAppMessageClickResult.h"
3030

3131
@interface OSRequestGetInAppMessages : OneSignalRequest
32-
+ (instancetype _Nonnull)withSubscriptionId:(NSString * _Nonnull)subscriptionId;
32+
+ (instancetype _Nonnull)withSubscriptionId:(NSString * _Nonnull)subscriptionId withSessionDuration:(NSNumber * _Nonnull)sessionDuration withRetryCount:(NSNumber *)retryCount withRywToken:(NSString *)rywToken;
3333
@end
3434

3535
@interface OSRequestInAppMessageViewed : OneSignalRequest

iOS_SDK/OneSignalSDK/OneSignalInAppMessages/Requests/OSInAppMessagingRequests.m

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,25 @@ of this software and associated documentation files (the "Software"), to deal
2828
#import "OSInAppMessagingRequests.h"
2929

3030
@implementation OSRequestGetInAppMessages
31-
+ (instancetype _Nonnull)withSubscriptionId:(NSString * _Nonnull)subscriptionId {
31+
+ (instancetype _Nonnull) withSubscriptionId:(NSString * _Nonnull)subscriptionId
32+
withSessionDuration:(NSNumber * _Nonnull)sessionDuration
33+
withRetryCount:(NSNumber *)retryCount
34+
withRywToken:(NSString *)rywToken
35+
{
3236
let request = [OSRequestGetInAppMessages new];
3337
request.method = GET;
38+
let headers = [NSMutableDictionary new];
39+
40+
if (sessionDuration != nil) {
41+
// convert to ms & round
42+
sessionDuration = @(round([sessionDuration doubleValue] * 1000));
43+
headers[@"OneSignal-Session-Duration" ] = [sessionDuration stringValue];
44+
}
45+
headers[@"OneSignal-RYW-Token"] = rywToken;
46+
headers[@"OneSignal-Retry-Count"] = [retryCount stringValue];
47+
48+
request.additionalHeaders = headers;
49+
3450
NSString *appId = [OneSignalConfigManager getAppId];
3551
request.path = [NSString stringWithFormat:@"apps/%@/subscriptions/%@/iams", appId, subscriptionId];
3652
return request;

0 commit comments

Comments
 (0)