VK.comを介してログインするフラッタープラグイン。
アプリケーションにVKログイン機能を簡単に追加できます。ユーザープロファイル情報が含まれています。
プラグインで使用されるVK SDKバージョン:
iOS: ^1.6 (cocoapods)
Android: 3.5.0 (Maven Core、API)
iOS 9.0以上。
Android 5.0およびNewer(SDK 21 )。最小compileSdkVersion
31 。
このプラグインを使用するには:
pubspec.yamlファイルの依存関係としてflutter_login_vk
追加します。
VK.comでアプリを作成します
Androidのセットアップ;
iOSをセットアップします。
追加のVK.comアプリのセットアップ。
アプリケーションでプラグインを使用します。
詳細については、VK.comのドキュメントを参照してください。
iOS SDK
Android SDK
そして、それがあなたの母国語である場合、ここにロシア語の指示があります(陶芸≥в針)。
vk.com https://vk.com/editapp?act=createでアプリを作成します
「タイトル」を入力します。
「プラットフォーム」としてスタンドアロンアプリを選択します。
[アプリを接続]をクリックします。
アプリケーションが作成されます。 [設定]タブを選択し、「アプリ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:
プレフィックスなし)。注意してください:指紋弦からすべてのコロンを削除する必要があります。デバッグおよびリリース証明書の指紋を追加します。注:アプリケーションがGoogle Playアプリの署名を使用している場合は、Google Playコンソールから証明書SHA-1フィンガープリントを取得する必要があります。
[保存]をクリックします。
バンドル識別子を追加 - App Bundle ID for iOS
を設定します(Xcode:Runner -Target Runner-一般、セクションIdentity
、フィールドBundle Identifier
で見つけることができます)。
また、 App ID for iOS
を設定します。それはSKU
です(App Store Connect:My Apps -{Your Application} - App Store -App Information、セクション「一般情報」で見つけることができます)。多くの場合、バンドルIDと同じではありません。
[保存]をクリックします。
AndroidManifest.xml
( android/app/src/main/AndroidManifest.xml
)の編集:
<manifest>
のルートにINTERNET
許可を追加してください。
<outes-permission android:name = "android.permission.internet" />
セクションapplication
にアクティビティを追加します。
<アクティビティAndroid:name = "com.vk.sdk.vkserviceactivity" android:label = "serviceactivity" android:theme = "@style /vk.transparent" />
VKアプリケーション識別子をリソースファイル( strings.xml
など)に追加し、 [APP_ID]
アプリケーションIDに置き換えます。
<リソース> <integer name = "com_vk_sdk_appid"> [app_id] </integer> </resources>
ルールを追加-keep class com.vk.** { *; }
proguard file( android/app/proguard-rules.pro
)。
例の完全なAndroidManifest.xml
を参照してください。
Info.plist
( ios/Runner/Info.plist
)を構成します。 IDEのテキストファイルとして編集するか、XcodeでProject( ios/Runner.xcworkspace
)を開くことができます。
xcodeでInfo.plist
を右クリックして、 Open As Source Code
を選択します。
次のXMLスニペットをファイルの本文( <dict>...</dict>
)にコピーして貼り付け、 [APP_ID]
アプリケーションIDに置き換えます。
<key> cfbundleurltypes </key> <配列> <dict> <キー> cfbundleurlschemes </key> <配列> <文字列> vk [app_id] </string> </array> </dict> </array>
また、 Info.plist
body( <dict>...</dict>
)に追加します:
<key> lsapplicationqueriesschemes </key> <配列> <文字列> vk </string> <文字列> vk-share </string> <文字列> vkauthorize </string> </array>
VKアプリケーション識別子を入力します。
<key> vkappid </key> <文字列> [app_id] </string>
例の完全なInfo.plist
参照してください。例を参照してください。
Info.plist
にCFBundleURLTypes
またはLSApplicationQueriesSchemes
キーが既にあるかどうかを確認してください。ある場合は、重複キーを追加する代わりに、値をマージする必要があります。
scope=nohttps
を使用する場合は、強くお勧めしません。また、 NSAppTransportSecurity
を追加する必要があります。ドキュメントを参照してください。
アプリに移動して、アプリの[管理]をクリックします。
タブ「情報」で:
「説明」を入力します。
適切な「カテゴリ」を選択します。
小さなアイコン「32x32アイコン」をアップロードします。
[保存]をクリックします。
「四角いバナー」と「カタログ用の四角いバナー」をアップロードする - ユーザーはそれを見ることができます。
必要な場合は他の設定をセットアップします。
[設定]タブに移動してアプリケーションをオンにするよりも、 Application off
からApplication on and visible to all
。
[保存]をクリックします。
まず、 VKLogin
のインスタンスを作成する必要があります。よりも、メソッド呼び出しまたはaccessToken
をチェックする前に、VK SDKを初期化する必要があります。
final vk = vklogin(); await vk.initsdk();
これで、プラグインを使用できます。
特徴:
VK.com経由でログインします。
アクセストークンを取得します。
ユーザープロファイルを取得します。
ユーザーメールを取得します。
ログインしているかどうかを確認します。
ログアウト。
サンプルコード:
インポート 'パッケージ:flutter_login_vk/flutter_login_vk.dart'; // vkloginfinal vk = vklogin(); // initializeawait vk.initsdk(); // log infinal res = await vk.login(範囲:[Vkscope.email 、vkscope.friends、 ]); // resultif(res.isvalue){//エラーはありませんが、まだわかりません //ユーザーがログインしているかどうか。 // IsCanceledを確認する必要があります 最終vkloginResult result = res.asvalue!.value; if(result.iscanceled){//ユーザーはログインをキャンセルします } else {//ログイン//検証のためにアクセストークンをサーバーに送信し、authfinal vkaccestoken? AccessToken = result.AccessToken; if(accessToken!= null){print( 'アクセストークン:$ {accesstoken.token}'); //プロファイルデータの最終PROFILERES = await vk.getUserProfile(); 最終プロファイル= profileres.asvalue?.value; if(profile!= null){print( 'hello、$ {profile.firstname}!you id:$ {profile.userid}'); } //電子メールを取得します(電子メール許可を要求するので)最終メール= await vk.getuseremail(); print( 'そしてあなたの電子メールは$ email'); } else {print( '何かがうまくいかない'); } } } else {// login failed final errorres = res.aserror!; print( 'ログイン中のエラー:$ {errorres.error}'); }
initSdk()
呼び出すと、プラグインは前のセッションを復元してみてください。トークンが期限切れになった場合、更新されます。
また、復元中、ユーザーにログイン画面が表示される場合があります(ユーザーがログインされた場合のみ)。
さらに、 initSdk()
必要なscope
に渡すことができ、現在のユーザーセッションがそれを提供しない場合、ユーザーはログアウトします。
また、使用するAPIバージョンを指定することもできますが、そうすべきではありません。