مسند رفرفة لتسجيل الدخول عبر 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 للاستخدام ، ولكن لا ينبغي عليك ذلك.