跳到主要内容

iOS

本文旨在介绍如何设置 VK 身份验证,让您的游戏可以使用 Player Network 登录鉴权服务通过 VK 渠道登录。

前提条件​

1. 在 VK 开发者网站上设置您的游戏

1. 创建 VK 应用​

说明

以下信息最后更新于2025年01月14日,请以 VK 开发者网站 最新信息为准。

警告

目前 VK 开发者网站 已不能创建 VK 应用,按照以下步骤可跳转到 VK ID 开发者网站。
Player Network SDK 暂不支持 VK ID,详细信息及版本支持计划请联系 Player Network 助手。

  1. 在 VK 开发者网站 登录或注册账号。

  2. 点击 Standalone-приложение。

    图片:VK Create App

  3. 跳转到 VK ID 开发者网站创建应用。

    图片:VK Create App

2. 配置应用​

输入应用信息
  1. 访问 VK 开发者网站。

  2. 在相应应用的 Information 页面输入应用信息。

    图片:VK information

  3. 点击 Save,保存输入的信息。

启用 OpenAPI

图片:VK app base domain

  1. 启用 OpenAPI。
  2. 添加以下基域:
    • dev-common-web.intlgame.com
    • debug-common-web.intlgame.com
    • test-common-web.intlgame.com
    • common-web.intlgame.com
获取 Android 指纹

要获取 Android 指纹,请按照 Get the SHA1 Value for Android 中的说明操作。

图片:VK SHA1

SDK 设置
  1. 进入应用的 Settings 页面。
  2. 在 SDK settings 部分,输入 App Bundle ID for iOS、Package name for Android、以及 Signing certificate fingerprint for Android。

图片:VK SDK Setting

获取 App ID、Secure key 和其他信息

进入 App 的 Settings 页面,获取 App ID 和其他信息。

图片:Player Network 设置

  1. 获取 Player Network 控制台登录账号。
  2. 为游戏创建新项目,或加入已有项目。
  3. 下载 SDK。
  4. 接入 SDK。
  5. 在 Player Network 控制台添加 VK 为业务的登录鉴权方式。

步骤1:为 VK 登录配置 SDK​

如果获得 VK 授权,请在应用中添加 URL 方案。

Xcode 5:

  1. 打开应用设置。
  2. 选择 info/URLType。
  3. 将 Identifier 和 URL Schemes 设置为 vk+APP_ID。 图片:VK iOS Identifiers

Xcode 4:

  1. 打开 info.plist。
  2. 添加一行 URL Types。
  3. 将 URL identifier 设置为 vk+APP_ID。 图片:VK iOS URL Identifiers

打开项目的 INTLConfig.ini 文件:

[VK Channel Configuration]
VK_APP_ID = {INTL_VK_APP_ID}

将 {INTL_VK_APP_ID} 替换为已注册的 VK App ID。

步骤2:添加 VK 登录​

  1. 注册登录相关回调。

    // Add callbacks
    public void AddAuthObserver()
    {
    INTLAPI.AddAuthResultObserver(OnAuthResultEvent);
    }

    // Remove callbacks
    public void RemoveAuthObserver()
    {
    INTLAPI.RemoveAuthResultObserver(OnAuthResultEvent);
    }

    // Process the INTLAuthResult callback
    public void OnAuthResultEvent(INTLAuthResult ret)
    {
    Debug.Log($"MethodID: {ret.MethodId}");

    string methodTag = "";
    if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_LOGIN)
    {
    methodTag = "Login";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_BIND)
    {
    methodTag = "Bind";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_AUTOLOGIN)
    {
    methodTag = "AutoLogin";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_QUERY_USER_INFO)
    {
    methodTag = "QueryUserInfo";
    }
    else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_GET_AUTH_RESULT)
    {
    methodTag = "GetAuthResult";
    }
    }
  2. 调用 AutoLogin 接口自动登录。

    INTLAPI.AutoLogin();
  3. 在自动登录失败时调用 Login 接口使玩家手动登录。

    INTLAPI.Login(INTLChannel.VK); 
  4. 与游戏后台同步客户端身份验证状态,等待最终验证结果。

步骤3:验收登录功能​

在 Player Network SDK 日志中搜索关键字 "AuthResult" 确认渠道名称和 OpenID 是否正确返回。如果正确,则表明集成配置成功,登录功能已成功添加。

如果接入过程中遇到问题,请参见 常见问题。