11/08/2024 16:35:55
扩展模块
一、概述
MSDK 提供扩展模块用于封装无法复用现有 MSDK 接口的功能,比如渠道内置的游戏商城。
目前暂无支持扩展模块的渠道。
二、接入向导
2.1 前置条件
推荐扩展模块调用流程:
- 初始化 SDK
- 注册扩展功能回调
- 调用扩展模块功能接口
2.2 注册回调
1)功能描述
MSDK 扩展模块的回调,游戏需要注册回调函数进行处理。
2)接口声明
C#
C++
public static event OnMSDKRetEventHandler<MSDKExtendRet> ExtendRetEvent;
class MSDKExtendObserver
{
public:
virtual void OnExtendNotify(const MSDKExtendRet &extendRet) {};
};
3)示例代码
C#
C++
MSDKExtend.ExtendRetEvent += OnExtendRetEvent;
public void OnExtendRetEvent(MSDKBaseRet baseRet)
{
// WeChat 和 testMethod 需要替换为具体的渠道名和方法名
if (extendRet.Channel.Equals("WeChat") && extendRet.ExtendMethodName.Equals("testMethod")) {
//
}
SampleInstance.showRetDialog (extendRet.ExtendMethodName, extendRet);
}
//销毁的时候需要移除监听
private void OnDestroy()
{
MSDKExtend.ExtendRetEvent -= OnExtendRetEvent;
}
MSDKExtend::SetExtendObserver(new MyExtendObserver());
class MyExtendObserver : public MSDKExtendObserver {
public:
void OnExtendNotify(const MSDKExtendRet &extendRet) {
handleCallback(extendRet, extendRet.methodNameID);
};
};
2.3 渠道扩展功能调用
1)功能描述
扩展模块提供统一的扩展功能调用接口,所有的扩展模块功能将统一使用该方法实现。游戏在使用扩展模块的功能时需要将渠道名称(channel
)、方法名(extendMethodName
)和方法参数列表(paramsJson
, Json 格式)传入,MSDK Core 将根据渠道名称和方法名查找到对应方法,调用到 Extend 插件进行处理。具体需要填写的内容需要根据不同渠道的要求填写。
2)接口声明
C#
C++
public static string Invoke(string channel, string extendMethodName, string paramsJson)
static string Invoke(const string& channel, const string& extendMethodName, const string& paramsJson);
3)入参说明
参数名称 | 参数类型 | 说明 |
---|---|---|
channel | string | 渠道信息,比如“WeChat”、“QQ”、“Facebook” |
extendMethodName | string | 扩展模块的方法名 |
paramsJson | string | 方法参数列表,JSON 格式 |
4)示例代码
C#
C++
string result = MSDKExtend.Invoke("WeChat", "testMethod", "{\"param\":\"value\"}");
string result = MSDKExtend::Invoke("WeChat", "testMethod", "{\"param\":\"value\"}");
Copyright © 2024 MSDK.
All rights reserved.
All rights reserved.