diff --git a/FirebaseVertexAI/Sources/GenerativeAIService.swift b/FirebaseVertexAI/Sources/GenerativeAIService.swift index de8a18ee333..eff35fb9b20 100644 --- a/FirebaseVertexAI/Sources/GenerativeAIService.swift +++ b/FirebaseVertexAI/Sources/GenerativeAIService.swift @@ -193,10 +193,12 @@ struct GenerativeAIService { urlRequest.setValue("Firebase \(authToken)", forHTTPHeaderField: "Authorization") } - // TODO: wait for release approval. -// if firebaseInfo.app.isDataCollectionDefaultEnabled { -// urlRequest.setValue(firebaseInfo.googleAppID, forHTTPHeaderField: "X-Firebase-AppId") -// } + if firebaseInfo.app.isDataCollectionDefaultEnabled { + urlRequest.setValue(firebaseInfo.googleAppID, forHTTPHeaderField: "X-Firebase-AppId") + if let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String { + urlRequest.setValue(appVersion, forHTTPHeaderField: "X-Firebase-AppVersion") + } + } let encoder = JSONEncoder() urlRequest.httpBody = try encoder.encode(request) diff --git a/FirebaseVertexAI/Tests/Unit/GenerativeModelTests.swift b/FirebaseVertexAI/Tests/Unit/GenerativeModelTests.swift index 891e4bc359e..c5cbcb4172b 100644 --- a/FirebaseVertexAI/Tests/Unit/GenerativeModelTests.swift +++ b/FirebaseVertexAI/Tests/Unit/GenerativeModelTests.swift @@ -1530,9 +1530,14 @@ final class GenerativeModelTests: XCTestCase { XCTAssert(apiClientTags.contains(GenerativeAIService.languageTag)) XCTAssert(apiClientTags.contains(GenerativeAIService.firebaseVersionTag)) XCTAssertEqual(request.value(forHTTPHeaderField: "X-Firebase-AppCheck"), appCheckToken) - // TODO: Wait for release approval - // let googleAppID = request.value(forHTTPHeaderField: "X-Firebase-AppId") - // XCTAssertEqual(googleAppID, dataCollection ? "My app ID" : nil) + + let googleAppID = request.value(forHTTPHeaderField: "X-Firebase-AppId") + let appVersion = request.value(forHTTPHeaderField: "X-Firebase-AppVersion") + let expectedAppVersion = + try? XCTUnwrap(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String) + XCTAssertEqual(googleAppID, dataCollection ? "My app ID" : nil) + XCTAssertEqual(appVersion, dataCollection ? expectedAppVersion : nil) + if let authToken { XCTAssertEqual(request.value(forHTTPHeaderField: "Authorization"), "Firebase \(authToken)") } else {