V3 SDK를 사용하여 iOS에서 상거래 데이터를 Google 애널리틱스로 보내려고합니다. Google에서 제공하는 GAIDictionaryBuilder 클래스를 사용하여 데이터 사전을 작성하고 있습니다 (불행히도 오픈 소스가 아닙니다). createTransactionWithId 및 createItemWithTransactionId 호출의 경우 NSNumber 값 (수익, 가격 등)이 사전 데이터에 제대로 추가되지 않습니다. 수동 수정 들어GAIDictionaryBuilder가 NSNumber 값에 대해 실패합니다.
"&tr" = "<null>";
이어서 : 로그 테스트 사전 I는 다음 행 수입 데이터에 대응하는 볼 때 그때 정확하게 수익을 참조 출력
NSMutableDictionary* test = [[GAIDictionaryBuilder createTransactionWithId:(NSString *)transactionId
affiliation:(NSString *)affiliation
revenue:(NSNumber *)revenue
tax:(NSNumber *)tax
shipping:(NSNumber *)shipping
currencyCode:(NSString *)currencyCode] build];
NSLog(@"revenue: %@", revenue);
NSLog(@"TR data: %@", test);
// if I explicitly set the value, IT WORKS!!!!
[test setObject:revenue forKey:@"&tr"];
NSLog(@"TR data FIXED??: %@", test);
: 다음 샘플 코드 시도, 본다
"&tr" = "15.25";
예상대로.
는 여기에 몇 가지 단서 :
- 는이 같은 문제없이 다른 OSX 컴퓨터에서 컴파일 다른 프로젝트에서 동일한 코드를 사용합니다.
- 거래가 TRY (터키 리라)에 있습니다. Google에서 분리 기호 (','터키어와 '다른 지역')를 수정하려고하는 것으로 의심되지만 위의 설명처럼 다른 앱에서도 TRY를 사용하고 있습니다.
이유는 무엇입니까 "<null>"
왜, 왜 NSNumber를이 기괴한 값으로 변환하지 못합니까?