The app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 17.6.1.
Next Steps
Explain where we can find the App Tracking Transparency permission request in the app. The request should appear before any data is collected that could be used to track the user.
If App Tracking Transparency is implemented but the permission request is not appearing on devices running the latest operating system, review the available documentation and confirm App Tracking Transparency has been correctly implemented.
1.5 Developer Information People need to know how to reach you with questions and support issues. Make sure your app and its Support URL include an easy way to contact you; this is particularly important for apps that may be used in the classroom. Failure to include accurate and up-to-date contact information not only frustrates customers, but may violate the law in some countries or regions. Also ensure that Wallet passes include valid contact information from the issuer and are signed with a dedicated certificate assigned to the brand or trademark owner of the pass.
Apple은 iOS 14에서 앱 트래킹 투명성(ATT, App Tracking Transparency) 정책을 도입하면서 사용자 개인 정보 보호를 강화했습니다. 이 정책에 따라 앱은 사용자의 광고 추적 권한을 명시적으로 요청해야 하며, 사용자가 이를 거부할 경우 기존의 IDFA(Identifier for Advertisers)를 통해 광고 성과를 추적하는 것이 어렵습니다.
이를 대신하여 Apple은 SKAdNetwork라는 프레임워크를 제공하여, 사용자가 추적을 거부하더라도 광고 네트워크가 특정 광고 캠페인의 성과를 추적할 수 있도록 합니다. SKAdNetwork는 사용자의 개인 정보를 보호하면서도, 광고주의 광고 성과 분석이 가능하도록 설계되었습니다.
2. ios/App/App/Info.plist 파일을 열어 다음과 같은 내용을 추가합니다:
광고가 적절히 로드되고 초기화되도록 코드에서 AdMob SDK를 초기화하는 것이 중요합니다. Capacitor를 사용하는 경우, capacitor.config.json에 appId를 설정해야 하며, 앱 초기화 시 AdMob 초기화 코드를 추가해야 합니다.
Xcode에서 빌드 설정 확인
Xcode에서 iOS 프로젝트를 빌드하기 전에 다음 사항을 확인하세요.
Deployment Target: 프로젝트의 Deployment Target이 iOS 9.0 이상으로 설정되어 있는지 확인하세요.
Bitcode 설정: Enable Bitcode 설정을 확인하세요. AdMob이 Bitcode를 지원하는 경우 이를 활성화할 수 있습니다.
테스트와 배포
테스트 광고 ID를 사용하여 올바르게 설정되었는지 확인하고, 배포 시에는 실제 광고 ID로 교체해야 합니다.
추가 팁:
App Tracking Transparency (ATT): iOS 14 이상에서는 사용자에게 추적 권한을 요청해야 합니다. 이를 위해, AppTrackingTransparency 플러그인을 사용하거나, 위 코드에서 requestTrackingAuthorization: true를 사용하여 추적 권한을 요청할 수 있습니다.
이제 Ionic React 프로젝트에 AdMob을 성공적으로 통합하여 iOS에서 광고를 표시할 수 있게 되었습니다.
2. Firebase 설정
- 사이트에서 사이트 등록후
GoogleService-Info.plist 을 ios/App/App 아래 복사한다.
AppDelegate.swift 파일에 Firebase 초기화를 추가합니다.
import UIKit
import FirebaseCore
import GoogleMobileAds
@UIApplicationMain @objc class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow?
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: schoolMeals@0.0.1 npm ERR! Found: @capacitor/core@5.7.7 npm ERR! node_modules/@capacitor/core npm ERR! @capacitor/core@"^5.7.5" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer @capacitor/core@"^6.0.0" from @capacitor/filesystem@6.0.0 npm ERR! node_modules/@capacitor/filesystem npm ERR! @capacitor/filesystem@"*" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! npm ERR! For a full report see: