설치

Wepin Flutter Widget SDK를 설치하는 방법을 설명합니다.

요구사항

  • Android: API 버전 21 이상

    • android/app/build.gradle 파일에서 compileSdkVersion34로 설정해야 합니다.

  • iOS: 버전 13.0 이상

    • Flutter 프로젝트의 ios/Podfile에서 platform :ios 버전을 13.0 으로 업데이트하고, 필요에 따라 ios/Podfile을 확인하고 수정해야 합니다.

해당 패키지는 Android, iOS 환경에서만 사용 가능합니다. Web, MacOS, Window, Linux 환경에서는 사용할 수 없습니다.

설치하기

Wepin Flutter Widget SDK는 pub.dev에 배포되어 있으며, 아래 명령어나 앱의 pubspec.yaml에 dependency를 추가하여 설치할 수 있습니다.

Flutter pub add 명령어로 추가

$ flutter pub add wepin_flutter_widget_sdk

pubspec.yaml 의 dependency 에 wepin_flutter_widget_sdk추가

dependencies:
    wepin_flutter_widget_sdk: ^0.0.1

설정하기

OAuth 로그인 기능(login.loginWithOauthProvider)을 활성화하려면 Deep Link 스킴을 설정해야 합니다.

  • Deep Link scheme format : wepin. + Wepin 앱 ID

Android

  • build.gradle (app) 파일에서 manifestPlaceholders를 추가하여 Wepin Widget SDK가 이 커스텀 스킴을 통한 모든 리디렉션을 쉽게 캡처할 수 있도록 설정합니다.

build.gradle(app)
// Deep Link 설정 => 리디렉션 스킴 형식: wepin. + Wepin 앱 ID
android.defaultConfig.manifestPlaceholders = [
  'appAuthRedirectScheme': 'wepin.{{YOUR_WEPIN_APPID}}'
]

iOS

  • 인증 프로세스 후 앱으로 다시 리디렉션하기 위해 앱의 URL 스킴을 Info.plist 파일에 추가해야 합니다.

Info.plist
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>unique name</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>wepin.{{YOUR_WEPIN_APPID}}</string>
        </array>
    </dict>
</array>

Permission 설정

Wepin Flutter Widget SDK를 사용하려면 카메라 접근 권한이 필요합니다. 카메라 기능은 QR 코드 형식의 주소를 인식하는 데 필수적입니다. [Reference: permission_handle]

Android

앱의 AndroidManifest.xml 파일에 아래 줄을 추가합니다.

AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.permission.INTERNET" />
  <!-- ... -->
</manifest>

iOS

  1. Podfile 업데이트: Podfile 파일에 카메라 권한을 추가합니다.

Podfile
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)

    target.build_configurations.each do |config|
       # 자세한 정보는 https://github.com/BaseflowIT/flutter-permission-handler/blob/master/permission_handler/ios/Classes/PermissionHandlerEnums.h 를 참조하세요.
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        ## dart: PermissionGroup.camera
        'PERMISSION_CAMERA=1',
        ]
    end
  end
end
  1. Info.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>
  <!-- 🚨 Keep only the permissions used in your app 🚨 -->
  <key>NSCameraUsageDescription</key>
  <string>YOUR TEXT</string>
  <!-- … -->
</dict>
</plist>

Last updated