iOS SDK 가이드
해당 문서는 최신버전(v1.5.4) 의 SDK를 기준으로 작성되었습니다.
SDK 정보
SDK 지원 버전
- 컴파일 가능 iOS 버전: iOS 12.0 이상
SDK 적용
loplat SDK를 사용하기 위해서는 로플랫에서 제공하는 ID와 Secret 키를 발급받아야 합니다.
발급을 원하시는 기업, 개발자는 아래의 내용을 기입하여 business@loplat.com 으로 보내주시기 바랍니다.
- 이름
- 회사
- 사용 목적
권한
권한 추가하기
loplat SDK를 사용하기 위해서는 권한을 추가해야합니다. 필요한 권한은 아래와 같습니다.
-
Signing
Access WiFi Information
: iOS 12 이상부터 현재 연결되어 있는 와이파이 정보를 가져오기 위해 사용합니다. (iOS 13 이상부터 위치권한이 있어야만 작동하는 권한입니다.)
-
Background Modes
Location Updates
: 백그라운드에서도 위치 정보를 수신하기 위해 사용합니다.Background fetch
: 앱을 백그라운드로 살려주기 위해 사용합니다.
Xcode 에서 Project > Capabilities 에 들어가 위 권한 목록에 있는 권한들을 허용해줍니다.
Background Fetch 설정하기 (필수)
앱이 백그라운드에서 살아날 수 있도록 info.plist
파일에 아래 내용을 추가합니다.
<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE plist PUBLIC "=//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- 중간 생략 -->
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>com.MiniPlengi.Background.Task</string>
</array>
<!-- 이하 생략 -->
</dict>
</plist>
사용자에게 위치 권한 요청하기 (필수)
서비스 시나리오에 따라 위치 권한 사용이유를 명시해주세요.
위치 권한 사용이유가 부실할 경우 앱 스토어 심사에서 승인이 거부당할 수 있습니다.
반드시 상세한 사용 이유를 사용자에게 설명해주세요.
상세한 사용 이유는 백그라운드에서 위치를 사용하는 합당한 이유를 포함해야 합니다.
따라서 항상 허용을 통해 유저가 받는 혜택 등을 고지하는 방향으로 작성해주십시오.
위치 기반 이벤트와 혜택 알림을 제공하기 위해 필요합니다.
제휴 매장 진입시 쿠폰 발행 또는 오프라인 헤택 찾기 서비스를 제공해드립니다.
항상 허용을 선택하시면, 앱을 사용하지 않아도 혜택을 검색합니다.
프로젝트의 info.plist
파일에 아래 값을 추가합니다.
<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE plist PUBLIC "=//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- 중간 생략 -->
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>예 : 앱이 제공하는 '모든 혜택'을 누리시려면 '항상' 허용을 선택해 주세요.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>예 : 앱이 제공하는 '모든 혜택'을 누리시려면 '항상' 허용을 선택해 주세요.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>예 : 앱이 제공하는 혜택을 누리시려면 위치 정보를 '앱을 사용하는 동안'으로 선택하고 이후, '항상' 허용을 선택해주세요.</string>
<!-- 이하 생략 -->
</dict>
</plist>
위의 코드를 Xcode에서 보면 아래와 같습니다.
앱의 시나리오에 따라 Core Location API를 사용하려는 경우(ex: 로그인 이후, 포그라운드에서 항상 허용 권한을 묻고싶은 경우.) Core Location API 문서를 참고하여 요청해주십시오.
- OBJECTIVE-C
- SWIFT
objectivec (void)Plengi.requestAlwaysLocationAuthorization;
swift Plengi.requestAlwaysLocationAuthorization();
위 API를 앱의 시나리오에 따라 사용자에게 위치 권한을 요청할 때 호출해주시기 바랍니다.
iOS 버전 별로 '항 상' 허용을 받을 수 있는 시나리오는 아래의 예시 이미지를 참고해주십시오.
ex1) 유저가 앱 초기 설치시 첫 화면에서 위치 권한 요청
ex2) 유저가 로그인시 위치 권한 요청
iOS 14.0 이상
위의 이미지는 iOS 14.0 이상
에서 위치 권한 허용 요청 알림창(Prompt)의 예시 화면 입니다.
유저가 '앱을 사용하는 동안 허용'
을 선택하면 '항상'
으로 위치 권한을 변경할지 알림창이 나타납니다. iOS 14.0 부터 유저는
'정확한 위치'에 대하여 '켬' 또는 '끔'으로 설정할 수 있습니다.
사용자에게 ATT(App Tracking Transparency) 권한 요청하기
서비스 시나리오에 따라 권한 요청 사유를 명시해주세요.
‘허용을 하시면 알맞는 정보를 받아 보실 수 있습니다.’
프로젝트의 info.plist
파일에 아래 값을 추가합니다.
**(필수)**서비스 시나리오에서 권한을 요청하지 않더라도 추가를 해주셔야 합니다.
<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE plist PUBLIC "=//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- 중간 생략 -->
<key>NSUserTrackingUsageDescription</key>
<string>예 : 허용을 하시면 알맞는 정보를 받아보실수 있습니다.</string>
<!-- 이하 생략 -->
</dict>
</plist>
App Tracking Transparency import 하기
권한을 요청하는 파일에 아래의 구문을 추가하여 App Tracking Transparency import해 줍니다.
- OBJECTIVE-C
- SWIFT
#import <AppTrackingTransparency/AppTrackingTransparency.h>
import AppTrackingTransparency