04/29/2024 11:54:53

扩展模块

一、概述

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.

results matching ""

    No results matching ""