vk.com을 통해 로그인하는 플러터 플러그인.
응용 프로그램에서 VK 로그인 기능을 쉽게 추가하십시오. 사용자 프로필 정보가 포함되어 있습니다.
플러그인에서 사용되는 VK SDK 버전 :
iOS : ^1.6 (Cocoapods)
안드로이드 : 3.5.0 (Maven Core, API)
iOS 9.0 이상.
안드로이드 5.0 및 최신 (SDK 21 ). 최소 compileSdkVersion
31 .
이 플러그인을 사용하려면 :
pubspec.yaml 파일의 종속성으로 flutter_login_vk
추가하십시오.
vk.com에서 앱을 만듭니다
설정 Android;
IOS 설정;
추가 vk.com 앱 설정;
플러그인에서 응용 프로그램을 사용하십시오.
전체 정보는 vk.com의 문서를 참조하십시오.
iOS SDK
안드로이드 SDK
그리고 여기 당신의 모국어라면 러시아어의 지시가 있습니다 (русская Версия).
vk.com https://vk.com/editapp?act=create에서 앱을 만듭니다
"제목"을 입력하십시오.
독립형 앱을 "플랫폼"으로 선택하십시오.
"앱 연결"을 클릭하십시오.
응용 프로그램이 생성됩니다. 이제 "설정"탭을 선택하고 "app id"(이 readme에서 [APP_ID]
로 참조)를 복사하십시오.
Package name for Android
설정 - Android 응용 프로그램의 패키지 이름 ( AndroidManifest.xml
의 속성 package
).
Main activity for Android
- 메인 활동 클래스 (패키지 포함). 기본적으로 com.yourcompany.yourapp.MainActivity
입니다.
Signing certificate fingerprint for Android
작성하려면 문서에 설명 된대로 SHA1 지문을 작성해야합니다 ( SHA1:
Prefix없이). 주의 : 지문 문자열에서 모든 콜로를 제거해야합니다. 디버그 및 릴리스 인증서에 지문을 추가하십시오. 참고 : 응용 프로그램에서 Google Play 앱 서명을 사용하는 경우 Google Play 콘솔에서 인증서 SHA-1 지문을 가져와야합니다.
"저장"을 클릭하십시오.
번들 식별자 추가 - App Bundle ID for iOS
설정 (Xcode : Runner -Target Runner- 일반, 섹션 Identity
, 필드 Bundle Identifier
에서 찾을 수 있음).
또한 App ID for iOS
설정합니다. It Is You SKU
(App Store Connect : My Apps- {귀하의 응용 프로그램} - App Store - App Information, Section "General Information")에서 찾을 수 있습니다. 대부분은 종종 번들 ID와 같지 않습니다.
"저장"을 클릭하십시오.
AndroidManifest.xml
편집 ( android/app/src/main/AndroidManifest.xml
) :
<manifest>
의 루트에 INTERNET
권한을 추가하지 않았다면 (아마도) :
<용도로 android : name = "android.permission.internet" />
섹션 application
에 활동 추가 :
<Activity Android : name = "com.vk.sdk.vkserviceacectivity"android : label = "serviceactivity"android = "@style /vk.transparent" />
vk 응용 프로그램 식별자를 리소스 파일 (예 : strings.xml
)에 추가하여 [APP_ID]
응용 프로그램 ID로 대체하십시오.
<자원> <integer name = "com_vk_sdk_appid"> [app_id] </integer> </자원>
규칙 추가 -keep class com.vk.** { *; }
proguard 파일 ( android/app/proguard-rules.pro
).
예에서 전체 AndroidManifest.xml
참조하십시오.
Info.plist
ios/Runner/Info.plist
하십시오. IDE에서 텍스트 파일로 편집하거나 Xcode에서 프로젝트 ( ios/Runner.xcworkspace
)를 열 수 있습니다.
Xcode에서 Info.plist
마우스 오른쪽 버튼으로 클릭하고 Open As Source Code
선택하십시오.
다음 XML 스 [APP_ID]
을 파일 본문에 복사하여 붙여 넣습니다 ( <dict>...</dict>
).
<key> cfbundleUrlTypes </key> <배열> <dict> <key> cfbundleurlschemes </key> <배열> <string> vk [app_id] </string> </배열> </dict> </배열>
또한 Info.plist
body ( <dict>...</dict>
)에 추가하십시오 :
<key> lsapplicationqueriesschemes </key> <배열> <string> vk </string> <string> vk-share </string> <string> vkauthorize </string> </배열>
VK 응용 프로그램 식별자를 입력하십시오.
<key> vkappid </key> <string> [App_id] </string>
예에서 전체 Info.plist
참조하십시오.
Info.plist
에 이미 CFBundleURLTypes
또는 LSApplicationQueriesSchemes
키가 있는지 확인하십시오. 있는 경우 중복 키를 추가하는 대신 값을 병합해야합니다.
강력 하게 권장하지 않는 scope=nohttps
사용하려면 NSAppTransportSecurity
추가해야합니다. 문서를 참조하십시오.
내 앱으로 이동하여 앱에서 "관리"를 클릭하십시오.
"정보"탭에서 :
"설명"을 입력하십시오.
적절한 "카테고리"를 선택하십시오.
작은 아이콘 "32x32 아이콘"을 업로드하십시오.
"저장"을 클릭하십시오.
"Square Banner"및 "카탈로그 용 사각 배너"를 업로드 - 사용자가 볼 수 있습니다.
필요한 경우 다른 설정을 설정하십시오.
"설정"탭으로 이동하여 응용 프로그램을 켜는 것보다 : Application off
에서 Application on and visible to all
.
"저장"을 클릭하십시오.
먼저, VKLogin
인스턴스를 만들어야합니다. 메소드 호출 또는 accessToken
확인하기 전에 VK SDK를 초기화해야합니다.
최종 Vk = vklogin (); vk.initsdk ();
이제 플러그인을 사용할 수 있습니다.
특징:
vk.com을 통해 로그인;
접근 토큰을 얻으십시오.
사용자 프로필을 얻으십시오.
사용자 이메일 받기;
로그인 된 경우 확인하십시오.
로그 아웃하십시오.
샘플 코드 :
가져 오기 '패키지 : flutter_login_vk/flutter_login_vk.dart'; // vkloginfinal vk = vklogin (); // initializeawait vk.initsdk ()의 인스턴스 생성 vk.login (scope : [vkscope.mail , vkscope.friends, ]); // check resultif (res.isvalue) {// 오류가 없지만 아직 모르겠습니다. // 사용자가 로그인 한 경우. // iscanceled를 확인해야합니다 최종 vkloginresult result = res.asvalue! .Value; if (result.iscanceled) {// 사용자 취소 로그인 } else {// 로그인 // ac accessToken = result.accessToken; if (accessToken! = null) {print ( 'Access token : $ {accessToken.token}'); // 프로파일 데이터 가져 오기 최종 프로파일 러스 = await vk.getUserProfile (); 최종 프로파일 = profileres.asValue? .Value; if (profile! = null) {print ( 'hello, $ {profile.firstname}! you id : $ {profile.userid}'); } // 이메일 가져 오기 (이메일 권한을 요청하기 때문에) 최종 이메일 = vk.getUserEmail (); print ( '그리고 당신의 이메일은 $ 이메일'); } else {print ( '뭔가 잘못됐다'); } } } else {// 로그인이 실패했습니다 최종 오류 = res.aserror!; print ( '로그인하는 동안 오류 : $ {errorres.error}'); }
initSdk()
호출하면 플러그인이 이전 세션을 복원하려고합니다. 토큰이 만료되면 새로 고침됩니다.
또한 복원 중에 로그인 화면이 사용자에게 표시 될 수 있습니다 (사용자가 로그인 한 경우에만).
또한 initSdk()
필수 scope
로 전달할 수 있으며 현재 사용자 세션이 제공되지 않으면 사용자가 로그 아웃됩니다.
또한 사용할 API 버전을 지정할 수 있지만해서는 안됩니다.