SDK 集成
本文主要介绍如何快速地将腾讯云 Chat SDK(Unreal Engine)集成到您的项目中,只要按照如下步骤进行配置,就可以完成 SDK 的集成工作。
环境要求
建议 Unreal Engine 4.27.1 及以上版本。
开发端 | 环境 |
Android | Android Studio 4.0 及以上版本。 Visual Studio 2017 15.6 及以上版本。 只支持真机调试。 |
iOS & macOS | Xcode 11.0 及以上版本。 OSX 系统版本要求 10.11 及以上版本 。 请确保您的项目已设置有效的开发者签名。 |
Windows | 操作系统:Windows 7 SP1 及以上版本(基于 x86-64 的 64 位操作系统)。 磁盘空间:除安装 IDE 和一些工具之外还应有至少 1.64 GB 的空间。 |
集成 SDK
1. 下载 SDK 及配套的 SDK 源码。
2. 把项目中的 Chat SDK 文件夹拷贝到您项目中的 Source/[project_name] 目录下,其中 [project_name] 表示你项目的名称。
3. 编辑你项目中的 [project_name].Build.cs文件。添加下面函数:
// 加载各个平台 Chat 底层库private void loadTIMSDK(ReadOnlyTargetRules Target) {string _TIMSDKPath = Path.GetFullPath(Path.Combine(ModuleDirectory, "TIMSDK"));bEnableUndefinedIdentifierWarnings = false;PublicIncludePaths.Add(Path.Combine(_TIMSDKPath, "include"));if (Target.Platform == UnrealTargetPlatform.Android) {PrivateDependencyModuleNames.AddRange(new string[] { "Launch" });AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(ModuleDirectory, "TIMSDK", "Android", "APL_armv7.xml")));string Architecture = "armeabi-v7a";// string Architecture = "arm64-v8a";// string Architecture = "armeabi";PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory,"TIMSDK", "Android", Architecture, "libImSDK.so"));}else if (Target.Platform == UnrealTargetPlatform.IOS) {PublicAdditionalLibraries.AddRange(new string[] {"z","c++","z.1.1.3","sqlite3","xml2"});PublicFrameworks.AddRange(new string[]{"Security","AdSupport","CoreTelephony","CoreGraphics","UIKit"});PublicAdditionalFrameworks.Add(new UEBuildFramework("ImSDK_CPP",_TIMSDKPath+"/ios/ImSDK_CPP.framework.zip", ""));}else if(Target.Platform == UnrealTargetPlatform.Mac) {PublicAdditionalLibraries.AddRange(new string[] {"resolv","z","c++","bz2","sqlite3",});PublicFrameworks.AddRange(new string[] {"AppKit","Security","CFNetwork","SystemConfiguration",});PublicFrameworks.Add(Path.Combine(_TIMSDKPath, "Mac", "Release","ImSDKForMac_CPP.framework"));}else if (Target.Platform == UnrealTargetPlatform.Win64) {PublicAdditionalLibraries.Add(Path.Combine(_TIMSDKPath, "win64", "Release","ImSDK.lib"));PublicDelayLoadDLLs.Add(Path.Combine(_TIMSDKPath, "win64", "Release", "ImSDK.dll"));RuntimeDependencies.Add("$(BinaryOutputDir)/ImSDK.dll", Path.Combine(_TIMSDKPath, "win64", "Release", "ImSDK.dll"));}}
4. 在 [project_name].Build.cs 文件调用该函数:
5. 到目前为止你已经集成了 Chat SDK。可在你的 cpp 文件中使用 Chat 的能力了。
#include "V2TIMManager.h"
// 获取sdk单例对象V2TIMManager* timInstance = V2TIMManager::GetInstance();// 获取sdk版本号V2TIMString timString = timInstance->GetVersion();// 初始化sdkV2TIMSDKConfig timConfig;timConfig.initPath = static_cast<V2TIMString>("D:\\");timConfig.logPath = static_cast<V2TIMString>("D:\\");bool isInit = timInstance->InitSDK(SDKAppID, timConfig);
打包
File -> Package Project -> Mac。
File->Package Project->Windows->**Windows(64-bit)**。
打包项目。File -> Package Project -> iOS。
Chat Unreal Engine API 文档