VK登录
添加依赖
- Android
- iOS
- Unity
- Unreal
在应用级别的 build.gradle 中添加以下代码,并将 $msdk_version 替换为实际的 MSDK 版本。
dependencies {
implementation "com.garena.sdk.android:login-vk:$msdk_version"
}
配置
- Android
- iOS
- Unity
- Unreal
配置 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
...
<integer name="com_vk_sdk_AppId">[vk_app_id]</integer>
</resources>
在 info.plist 中添加以下内容:
- 在
LSApplicationQueriesSchemes中添加vkauthorize - 添加从 VK 获取的
VK_APP_ID作为VKAppID - 在 URL Schemes 中添加带有
vk前缀的VK_APP_ID
<key>VK_APP_ID</key>
<string>YOUR_VK_APP_ID</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>vkYOUR_VK_APP_ID</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>vkauthorize</string>
</array>
使用方法
- Android
- iOS
- Unity
- Unreal
AccountManager accountManager = new AccountManager(activity);
accountManager.login(PlatformType.VK, onLoginListener);
[MSDKLoginManager loginWithPlatform:MSDKePlatformVk completion:^(MSDKLoginRet *loginRet) {
// handle login result
}];
GMSDKHandler.LoginClient.Login(AccountPlatform.Vkontakte, OnLoginCallback);
UMsdkLogin::Login(EPlatform::Vk);
默认情况下,VK 需要以下权限:WALL、PHOTOS、FRIENDS、OFFLINE、VIDEO
如果你不需要这些权限,可以覆盖默认权限
- Android
- iOS
- Unity
- Unreal
accountManager.login(new VKLoginParams(Arrays.asList(VKPermission.WALL, VKPermission.PHOTOS)), onLoginListener);
MSDKVKLoginParam *vkParam = [[MSDKVKLoginParam alloc] initWithPermissions:@[MSDKVKPermission.wall, MSDKVKPermission.photos]];
[MSDKLoginManager loginWithParam:vkParam completion:^(MSDKLoginRet *loginRet) {
// handle login result
}];
var vkLoginParams = new VkLoginParams
{
vkPermissions = new List<VkPermission> { VkPermission.Wall, VkPermission.Friends }
};
GMSDKHandler.LoginClient.Login(vkLoginParams, OnLoginCallback);
UVkLoginParams *VkLoginParams = NewObject<UVkLoginParams>();
VkLoginParams->vkPermissions = {EVkPermission::Wall, EVkPermission::Friends};
UMsdkLogin::LoginWithParams(VkLoginParams);