مسند رفرفة لتسجيل الدخول عبر vk.com.
إضافة ميزة تسجيل الدخول VK بسهولة في التطبيق الخاص بك. معلومات ملف تعريف المستخدم المضمّن.
إصدار VK SDK ، يستخدم في البرنامج المساعد:
iOS: ^1.6 (Cocoapods)
Android: 3.5.0 (Maven Core ، API)
iOS 9.0 وأعلى.
Android 5.0 وأحدث (SDK 21 ). الحد الأدنى compileSdkVersion
31 .
لاستخدام هذا البرنامج المساعد:
أضف flutter_login_vk
كاعتماد في ملف pubspec.yaml الخاص بك ؛
قم بإنشاء تطبيق على vk.com
إعداد Android ؛
إعداد iOS ؛
إعداد تطبيق VK.com إضافي ؛
استخدم البرنامج المساعد في التطبيق.
انظر الوثائق على vk.com للحصول على معلومات كاملة:
iOS SDK
Android SDK
وهنا تعليمات باللغة الروسية إذا كانت لغتك الأصلية (рсекаиии).
قم بإنشاء تطبيق على vk.com https://vk.com/editapp؟act=create
أدخل "العنوان".
حدد التطبيق المستقل كـ "منصة".
انقر فوق "توصيل التطبيق".
سيتم إنشاء تطبيق. الآن حدد علامة التبويب "إعدادات" ونسخ "معرف التطبيق" (المشار إليها باسم [APP_ID]
في هذا ReadMe).
تعيين Package name for Android
- اسم الحزمة الخاص بك لتطبيق Android ( package
السمات في AndroidManifest.xml
).
اضبط Main activity for Android
- فئة النشاط الرئيسية الخاصة بك (مع الحزمة). بشكل افتراضي ، سيكون com.yourcompany.yourapp.MainActivity
.
لملء Signing certificate fingerprint for Android
يجب إنشاء بصمة SHA1 كما هو موضح في الوثائق (بدون SHA1:
بادئة). انتبه : يجب عليك إزالة جميع الكولون من سلسلة بصمات الأصابع. أضف بصمات الأصابع لشهادات التصحيح والإصدار. ملاحظة: إذا كان التطبيق الخاص بك يستخدم توقيع تطبيق Google Play مما يجب عليك الحصول على شهادة SHA-1 بصمة من Google Play Console.
انقر فوق "حفظ".
أضف معرف الحزمة الخاص بك - تعيين App Bundle ID for iOS
(يمكنك العثور عليه في XCode: Runner - Target Runner - General ، Identity
، Bundle Identifier
الحقل).
قم أيضًا بتعيين App ID for iOS
، إنه أنت SKU
(يمكنك العثور عليه في App Store Connect: تطبيقاتي - {Application} - متجر التطبيق - معلومات التطبيق ، القسم "المعلومات العامة"). في الغالب ليس هو نفسه معرف الحزمة.
انقر فوق "حفظ".
تحرير AndroidManifest.xml
( android/app/src/main/AndroidManifest.xml
):
أضف إذن INTERNET
في جذر <manifest>
، إذا لم تكن لديك (ربما لديك):
<use-parrishing 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]
بمعرف التطبيق الخاص بك:
<sourges> <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 الخاص بك ، أو يمكنك فتح Project ( ios/Runner.xcworkspace
) في XCode.
في Xcode انقر بزر الماوس الأيمن على Info.plist
، واختر Open As Source Code
.
انسخ والصق مقتطف XML التالي في جسم ملفك ( <dict>...</dict>
) ، استبدال [APP_ID]
بمعرف التطبيق الخاص بك:
<key> cfbundleurltypes </key> <array> <dict> <key> cfbundleurlschemes </key> <array> <string> vk [app_id] </string> </ray> </dict> </ray>
أضف أيضًا إلى Info.plist
body ( <dict>...</dict>
):
<key> lsapplicationQueriessChemes </key> <array> <string> vk </string> <string> vk-share </string> <string> vkauthorize </string> </ray>
أدخل معرف تطبيق VK الخاص بك.
<key> vkappid </key> <string> [app_id] </string>
انظر Info.plist
كاملة.
CFBundleURLTypes
أو مفاتيح LSApplicationQueriesSchemes
في Info.plist
. إذا كان لديك ، فيجب عليك دمج قيمها ، بدلاً من إضافة مفتاح مكرر.
إذا كنت ترغب في استخدام scope=nohttps
، وهو ما لا نوصي به بقوة ، فيجب عليك أيضًا إضافة NSAppTransportSecurity
، راجع الوثائق.
انتقل إلى تطبيقاتي وانقر فوق "إدارة" على تطبيقك.
في علامة التبويب "معلومات" يجب عليك:
أدخل "الوصف".
حدد "فئة" مناسبة.
تحميل أيقونة صغيرة "32x32 أيقونة".
انقر فوق "حفظ".
قم بتحميل "Banner Square" و "لافتة مربعة لـ Catalog" - يمكن للمستخدم رؤيته.
قم بإعداد إعدادات أخرى إذا كنت في حاجة إليها.
من الانتقال إلى علامة التبويب "Setting" وقم بتشغيل التطبيق: قم بتغيير "حالة التطبيق" من 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 ، vkscope.friends ، ]) ؛ // تحقق من النتائج (res.isvalue) {// لا يوجد خطأ ، لكننا لا نعرف بعد // إذا قام المستخدم بتسجيل الدخول أم لا. // يجب عليك التحقق من iscanceled نتيجة VkloginResult النهائية = res.asvalue! .value ؛ if (result.iscanceled) {// المستخدم إلغاء تسجيل الدخول } آخر {// تسجيل الدخول // إرسال رمز الوصول إلى الخادم للتحقق من صحة و authfinal vkaccessToken؟ AccessToken = result.AccessToken ؛ if (AccessToken! = null) {print ('Access Token: $ {AccessToken.Token}') ؛ // الحصول على ملفات تعريف profileres النهائية = Await vk.getuserProfile () ؛ الملف الشخصي النهائي = profileres.asvalue؟ .value ؛ if (profile! = null) {print ('hello ، $ {profile.firstName}! you id: $ {profile.userid}') ؛ } // احصل على البريد الإلكتروني (لأننا نطلب أذونات البريد الإلكتروني) البريد الإلكتروني النهائي = await vk.getuseremail () ؛ طباعة ("والبريد الإلكتروني الخاص بك هو $ البريد الإلكتروني") ؛ } آخر {print ('something somether ") ؛ } } } آخر {// فشل الدخول errores النهائي = res.Aserror! ؛ print ('خطأ أثناء تسجيل الدخول: $ {errorres.error}') ؛ }
عند الاتصال initSdk()
، حاول البرنامج المساعد لاستعادة الجلسة السابقة. إذا تم انتهاء صلاحية الرمز المميز - فسيتم تحديثه.
أيضًا ، أثناء الاستعادة ، قد يتم عرض شاشة تسجيل الدخول للمستخدم (فقط إذا تم تسجيل الدخول إلى المستخدم).
بشكل إضافي ، يمكنك الانتقال إلى scope
initSdk()
المطلوب ، وإذا لم توفر جلسة المستخدم الحالية - سيتم تسجيل المستخدم.
كما يمكنك تحديد إصدار API للاستخدام ، ولكن لا ينبغي عليك ذلك.