the - unity3d admob ios




advertisingIdentifier 및 identifierForVendor는 "00000000-0000-0000-0000-000000000000"을 반환합니다. (2)

API가 기기 복원 후처럼 ID에 대한 빈 응답을 반환하는 경우가 있습니다.

제안은 ID 수령을 연기하는 것이므로 sometginh를 다음과 같이 호출 할 수 있습니다.

-(void)retrieveID
{
    if (<check fails>)
        [self performSelector:@"retrieveID" withObject:nil afterDelay:1.0];
}

나중에 ID를 가져 오십시오.

나는 advertisingIdentifieridentifierForVendor 를 얻기 위해이 메소드를 구현했다.

- (NSString *) advertisingIdentifier
{
    if (!NSClassFromString(@"ASIdentifierManager")) {
        return [OpenUDID value];
    }
    return [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
}

- (NSString *) identifierForVendor
{
    if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
        return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    }
    return @"";
}

- (BOOL)isAdvertisingTrackingEnabled
{
    if (NSClassFromString(@"ASIdentifierManager") && ![[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
        return NO;
    }
    return YES;
}

시뮬레이터에서 모든 것이 작동해야하며 2 개의 문자열 ID 표현을 얻을 수 있습니다.

하지만 iPhone 3GS에서 iOS 6.0 (10A403)을 실행하면이 2 가지 방법이 식별자로 "00000000-0000-0000-0000-000000000000"을 반환합니다. 이미 마쳤어:

  • 기기를 다시 시작했습니다.
  • 앱을 제거하고 다시 설치했습니다.
  • 생성 및 Ad-Hoc 빌드, 설치, 제거 및 다시 설치
  • 다른 앱에서이 코드를 실행하십시오.
  • iPad 2에서 iOS 6.0 (10A403)으로 테스트되었으며 모든 것이 정상적으로 처리되었습니다 (올바른 식별자가 있음).

Apple은 기술 지원 사건 요청에 대한 응답으로이 버그를 시스템에서 확인했습니다. 그들은 identifierForVendoradvertisingIdentifier 가끔씩 모두 0을 반환하는 것을 개발 빌드와 앱 스토어에서 무선으로 다운로드 한 앱에서 볼 수 있다고 말했다. 문제가 해결 될시기는 말할 것도 없습니다.