본문으로 건너뛰기

개인 정보 선언과 iOS URL 핸들러

GitHub

앱 개발자용 개인 정보 보호 매니페스트

앱 개발자용 개인 정보 보호 매니페스트 섹션

구글, 페이스북, 또는 애플 로그인 사용 시, 해당 SDK가 앱에서 수집한 데이터를 선언하세요. 앱에 파일을 추가하세요. PrivacyInfo.xcprivacy 파일을 앱에 추가하세요. ios/App/PrivacyInfo.xcprivacy.

이 파일을 플러그인 패키지에 추가하지 마세요. 데이터 타입을 앱의 사용과 제공자 SDK 문서에 맞게 조정하세요.

구글 로그인 예제

구글 로그인 예제
{
"NSPrivacyCollectedDataTypes": [
{ "NSPrivacyCollectedDataType": "EmailAddress", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false },
{ "NSPrivacyCollectedDataType": "Name", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false },
{ "NSPrivacyCollectedDataType": "UserID", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false }
]
}

페이스북 로그인 예제

페이스북 로그인 예제
{
"NSPrivacyCollectedDataTypes": [
{ "NSPrivacyCollectedDataType": "EmailAddress", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false },
{ "NSPrivacyCollectedDataType": "Name", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false },
{ "NSPrivacyCollectedDataType": "UserID", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false },
{ "NSPrivacyCollectedDataType": "FriendsList", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false }
]
}

애플 로그인 예제

애플 로그인 예제
{
"NSPrivacyCollectedDataTypes": [
{ "NSPrivacyCollectedDataType": "EmailAddress", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false },
{ "NSPrivacyCollectedDataType": "Name", "NSPrivacyCollectedDataTypeLinked": true, "NSPrivacyCollectedDataTypeTracking": false }
]
}

검토 애플 프라이버시 매니페스트 문서 모든 허용된 키와 값에 대해.

Facebook과 Google URL 핸들러를 combine합니다.

Facebook과 Google URL 핸들러를 combine하는 방법

iOS 앱이 Facebook과 Google 로그인을 모두 사용할 때, 콜백 URL을 두 SDK에 전달하고 나서 Capacitor에 다시 전달합니다.

In ios/App/App/AppDelegate.swift:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
// Return true if the URL was handled by either Facebook or Google authentication.
if FBSDKCoreKit.ApplicationDelegate.shared.application(
app,
open: url,
sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
annotation: options[UIApplication.OpenURLOptionsKey.annotation]
) || GIDSignIn.sharedInstance.handle(url) {
return true
}
return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
}

Make sure AppDelegate.swift 관련 문서

import Capacitor
import FBSDKCoreKit
import GoogleSignIn
import UIKit