Plugin Flutter untuk login melalui vk.com.
Mudah tambahkan fitur login VK di aplikasi Anda. Informasi profil pengguna disertakan.
Versi VK SDK, digunakan dalam plugin:
iOS: ^1.6 (Cocoapods)
Android: 3.5.0 (Maven Core, API)
iOS 9.0 dan lebih tinggi.
Android 5.0 dan lebih baru (SDK 21 ). Minimum compileSdkVersion
31 .
Untuk menggunakan plugin ini:
Tambahkan flutter_login_vk
sebagai ketergantungan pada file pubspec.yaml Anda;
Buat aplikasi di vk.com
Siapkan Android;
Pengaturan iOS;
Pengaturan aplikasi VK.com tambahan;
Gunakan plugin dalam aplikasi.
Lihat Dokumentasi di VK.com untuk informasi lengkap:
iOS SDK
Android SDK
Dan di sini ada instruksi dalam bahasa Rusia jika itu bahasa asli Anda (рская версия).
Buat aplikasi di vk.com https://vk.com/editapp?act=create
Masukkan "judul".
Pilih aplikasi mandiri sebagai "platform".
Klik "Hubungkan Aplikasi".
Aplikasi akan dibuat. Sekarang pilih tab "Pengaturan" dan Salin "ID Aplikasi" (direferensikan sebagai [APP_ID]
di readme ini).
Atur Package name for Android
- Nama Paket Anda untuk Aplikasi Android ( package
Atribut di AndroidManifest.xml
).
Atur Main activity for Android
- kelas aktivitas utama Anda (dengan paket). Secara default itu akan menjadi com.yourcompany.yourapp.MainActivity
.
Untuk mengisi Signing certificate fingerprint for Android
Anda harus membuat sidik jari SHA1 seperti yang dijelaskan dalam dokumentasi (tanpa SHA1:
awalan). Perhatikan : Anda harus menghapus semua titik dua dari string sidik jari. Tambahkan sidik jari untuk sertifikat debug dan rilis. Catatan: Jika aplikasi Anda menggunakan penandatanganan aplikasi Google Play daripada Anda harus mendapatkan sidik jari SHA-1 dari konsol Google Play.
Klik "Simpan".
Tambahkan Bundle Identifier Anda - Setel App Bundle ID for iOS
(Anda dapat menemukannya di Xcode: Runner - Target Runner - General, bagian Identity
, Bundle Identifier
lapangan).
Juga atur App ID for iOS
, Anda SKU
(Anda dapat menemukannya di App Store Connect: Aplikasi saya - {Aplikasi Anda} - App Store - Informasi Aplikasi, Bagian "Informasi Umum"). Sebagian besar sering tidak sama dengan ID bundel.
Klik "Simpan".
Edit AndroidManifest.xml
( android/app/src/main/AndroidManifest.xml
):
Tambahkan izin INTERNET
di akar <manifest>
, jika Anda belum (mungkin Anda punya):
<use-intimison android: name = "android.permission.internet" />
Tambahkan aktivitas ke application
bagian:
<aktivitas android: name = "com.vk.sdk.vkserviceActivity" android: label = "serviceActivity" android: tema = "@style /vk.transparent" />
Tambahkan pengidentifikasi aplikasi VK Anda ke file sumber daya (misalnya strings.xml
), mengganti [APP_ID]
dengan ID aplikasi Anda:
<seraman sumber daya> <Integer name = "com_vk_sdk_appid"> [app_id] </sinteger> </source>
Tambahkan aturan -keep class com.vk.** { *; }
di file proguard Anda ( android/app/proguard-rules.pro
).
Lihat Contoh AndroidManifest.xml
lengkap.
Konfigurasikan Info.plist
( ios/Runner/Info.plist
). Anda dapat mengeditnya sebagai file teks dari IDE Anda, atau Anda dapat membuka proyek ( ios/Runner.xcworkspace
) di Xcode.
Dalam klik kanan XCode pada Info.plist
, dan pilih Open As Source Code
.
Salin dan Tempel Cuplikan XML berikut ke dalam badan file Anda ( <dict>...</dict>
), mengganti [APP_ID]
dengan ID aplikasi Anda:
<YEY> CFBundLEURLTYPES </YEY> <rrray> <Dict> <YEY> CFBundLEURLSCHEMES </YEY> <rrray> <string> vk [app_id] </string> </sr array> </Dict> </sr array>
Tambahkan ke Info.plist
Body ( <dict>...</dict>
):
<YEY> lsApplicationQueriessChemes </yy> <rrray> <string> vk </string> <string> vk-share </string> <string> vkauthorize </string> </sr array>
Masukkan pengidentifikasi aplikasi VK Anda.
<yyy> vkappid </yy> <string> [app_id] </string>
Lihat Info.plist
dalam contoh.
CFBundleURLTypes
atau LSApplicationQueriesSchemes
di Info.plist
Anda.plist. Jika sudah, Anda harus menggabungkan nilainya, alih -alih menambahkan kunci duplikat.
Jika Anda ingin menggunakan scope=nohttps
, yang kami tidak rekomendasikan , Anda juga harus menambahkan NSAppTransportSecurity
, lihat dokumentasinya.
Buka aplikasi saya dan klik "Kelola" di aplikasi Anda.
Di tab "Informasi" Anda harus:
Masukkan "Deskripsi".
Pilih "kategori" yang sesuai.
Unggah ikon kecil "Ikon 32x32".
Klik "Simpan".
Unggah "spanduk persegi" dan "spanduk persegi untuk katalog" - pengguna dapat melihatnya.
Siapkan pengaturan lain jika Anda membutuhkannya.
Dari pada tab "Mengatur" dan Nyalakan Aplikasi: Ubah "Status Aplikasi" dari Application off
ke Application on and visible to all
.
Klik "Simpan".
Pertama, Anda harus membuat instance VKLogin
. Daripada, sebelum metode apa pun menelepon atau memeriksa accessToken
Anda harus menginisialisasi VK SDK:
final vk = vklogin (); menunggu vk.initsDk ();
Sekarang Anda dapat menggunakan plugin.
Fitur:
Masuk melalui VK.com;
Dapatkan Token Akses;
Dapatkan profil pengguna;
Dapatkan email pengguna;
periksa apakah masuk;
keluar.
Kode contoh:
Paket Impor ': flutter_login_vk/flutter_login_vk.dart'; // Buat instance vkloginfinal vk = vklogin (); // initializeawait vk.initsDk (); // log infinal res = menunggu vk.login (scope: [vkscope. , Vkscope.friends, ]); // periksa hasilnya (res.isValue) {// belum ada kesalahan, tapi kami belum tahu // Jika pengguna masuk atau tidak. // Anda harus memeriksa kankel Hasil vkloginresult terakhir = res.asvalue! .value; if (result.iscanceled) {// pengguna membatalkan login } else {// login // kirim token akses ke server untuk validasi dan vkaccesstoken authfinal? accessToken = result.accessToken; if (accessToken! = null) {print ('access token: $ {accessToken.token}'); // Dapatkan Profil Data Profiler Final = Await vk.getUserProfile (); Profil Akhir = Profiler.Asvalue? .Value; if (profile! = null) {print ('halo, $ {profile.firstname}! Anda id: $ {profile.userid}'); } // Dapatkan email (karena kami meminta izin email) email akhir = menunggu vk.getuseremail (); cetak ('dan email Anda adalah $ email'); } else {print ('Something Goes Wrong'); } } } else {// login gagal errorres terakhir = res.aserror!; print ('error saat login: $ {errorres.error}'); }
Saat Anda menelepon initSdk()
, plugin mencoba memulihkan sesi sebelumnya. Jika Token telah kedaluwarsa - itu akan disegarkan.
Juga, selama pemulihan, layar login dapat ditampilkan kepada pengguna (hanya jika pengguna masuk).
Selain itu, Anda dapat meneruskan ke initSdk()
scope
yang diperlukan, dan jika sesi pengguna saat ini tidak menyediakannya - pengguna akan dicatkan.
Anda juga dapat menentukan versi API untuk digunakan, tetapi Anda tidak boleh.