2121#import " FIRInstanceIDDefines.h"
2222#import " FIRInstanceIDLogger.h"
2323#import " FIRInstanceIDTokenOperation+Private.h"
24- #import " FIRInstanceIDURLQueryItem.h"
2524#import " FIRInstanceIDUtilities.h"
2625#import " NSError+FIRInstanceID.h"
2726
@@ -65,15 +64,16 @@ - (void)performTokenOperation {
6564
6665 // Build form-encoded body
6766 NSString *deviceAuthID = self.checkinPreferences .deviceID ;
68- NSMutableArray <FIRInstanceIDURLQueryItem *> *queryItems =
67+ NSMutableArray <NSURLQueryItem *> *queryItems =
6968 [[self class ] standardQueryItemsWithDeviceID: deviceAuthID scope: self .scope];
70- [queryItems addObject: [FIRInstanceIDURLQueryItem queryItemWithName: @" sender"
71- value: self .authorizedEntity]];
72- [queryItems addObject: [FIRInstanceIDURLQueryItem queryItemWithName: @" X-subtype"
73- value: self .authorizedEntity]];
74-
75- [queryItems addObjectsFromArray: [self queryItemsWithInstanceID: self .instanceID]];
69+ [queryItems addObject: [NSURLQueryItem queryItemWithName: @" sender" value: self .authorizedEntity]];
70+ [queryItems addObject: [NSURLQueryItem queryItemWithName: @" X-subtype"
71+ value: self .authorizedEntity]];
7672
73+ if (self.instanceID .length > 0 ) {
74+ [queryItems addObject: [NSURLQueryItem queryItemWithName: kFIRInstanceIDParamInstanceID
75+ value: self .instanceID]];
76+ }
7777 // Create query items from passed-in options
7878 id apnsTokenData = self.options [kFIRInstanceIDTokenOptionsAPNSKey ];
7979 id apnsSandboxValue = self.options [kFIRInstanceIDTokenOptionsAPNSIsSandboxKey ];
@@ -82,21 +82,22 @@ - (void)performTokenOperation {
8282 NSString *APNSString = FIRInstanceIDAPNSTupleStringForTokenAndServerType (
8383 apnsTokenData, ((NSNumber *)apnsSandboxValue).boolValue );
8484 // The name of the query item happens to be the same as the dictionary key
85- FIRInstanceIDURLQueryItem *item =
86- [FIRInstanceIDURLQueryItem queryItemWithName: kFIRInstanceIDTokenOptionsAPNSKey
87- value: APNSString];
85+ NSURLQueryItem *item = [NSURLQueryItem queryItemWithName: kFIRInstanceIDTokenOptionsAPNSKey
86+ value: APNSString];
8887 [queryItems addObject: item];
8988 }
9089 id firebaseAppID = self.options [kFIRInstanceIDTokenOptionsFirebaseAppIDKey ];
9190 if ([firebaseAppID isKindOfClass: [NSString class ]]) {
9291 // The name of the query item happens to be the same as the dictionary key
93- FIRInstanceIDURLQueryItem *item =
94- [FIRInstanceIDURLQueryItem queryItemWithName: kFIRInstanceIDTokenOptionsFirebaseAppIDKey
95- value: (NSString *)firebaseAppID];
92+ NSURLQueryItem *item =
93+ [NSURLQueryItem queryItemWithName: kFIRInstanceIDTokenOptionsFirebaseAppIDKey
94+ value: (NSString *)firebaseAppID];
9695 [queryItems addObject: item];
9796 }
9897
99- NSString *content = FIRInstanceIDQueryFromQueryItems (queryItems);
98+ NSURLComponents *components = [[NSURLComponents alloc ] init ];
99+ components.queryItems = queryItems;
100+ NSString *content = components.query ;
100101 request.HTTPBody = [content dataUsingEncoding: NSUTF8StringEncoding];
101102 FIRInstanceIDLoggerDebug (kFIRInstanceIDMessageCodeTokenFetchOperationFetchRequest ,
102103 @" Register request to %@ content: %@ " , FIRInstanceIDRegisterServer (),
0 commit comments