04/29/2024 11:54:53

工具模块

一、概述

工具模块主要提供一些常用的工具方法,比如判断 App 是否安装, 其中 IsAppInstalled 是同步调用,不需要回调。

二、接入向导

2.1 判断App是否安装

1)功能描述

判断软件是否安装。Android 平台传 packageName 参数,而 iOS 平台传渠道参数或者 URLScheme,比如 "QQ"、"WeChat" 。iOS 平台需要在 info.plist 文件中配置 LSApplicationQueriesSchemes

应用名 Android 参数 iOS 参数
WeChat com.tencent.mm 直接使用渠道名 WeChat
QQ com.tencent.mobileqq 直接使用渠道名 QQ
Facebook com.facebook.katana fb://
Twitter com.twitter.android twitter://
Messenger com.facebook.orca fb-messenger://
Kwai com.smile.gifmaker --

2)接口声明

C#
C++
public static bool IsAppInstalled(string channel,string extra="")
static bool IsAppInstall(String channel,String extra="");

3)示例代码

C#
C++
#if UNITY_ANDROID
        bool isQQInstalled = MSDKTools.IsAppInstalled("com.tencent.mobileqq");
        bool isWeChatInstalled = MSDKTools.IsAppInstalled("com.tencent.mm");
#elif UNITY_IOS
        bool isQQInstalled = MSDKTools.IsAppInstalled("QQ");
        bool isWeChatInstalled = MSDKTools.IsAppInstalled("WeChat");
#endif
#if  PLATFORM_ANDROID
	bool isQQInstalled = MSDKTools::IsAppInstall("com.tencent.mobileqq");
	bool isWeChatInstalled = MSDKTools::IsAppInstall("com.tencent.mm");
#else PLATFORM_IOS
	bool isQQInstalled = MSDKTools::IsAppInstall("QQ");
	bool isWeChatInstalled = MSDKTools::IsAppInstall("WeChat");
#endif

2.2 获取安装渠道

1)功能描述

此接口用于获取安卓 APK 包内的安装渠道(游戏上线前会在 飞鹰系统,将渠道号写入 APK 包内,并生成渠道安装包。用户下载并安装渠道安装包,在安装包中的渠道号称之为安装渠道号,对应 TLog 的 LoginChannel 字段)。

2)接口声明

C#
C++
public static string GetConfigChannel();
static std::string GetConfigChannelID(const std::string &seqID);

3)示例代码

C#
C++
string channel = MSDKTools.GetConfigChannel();
MSDKTools::GetConfigChannelID();

特别说明:
1.iOS 安装渠道号和注册渠道固定为 1001;
2.修改安装渠道号(即渠道号回写)方法由 GCloud(游戏更新 Dolphin 组件)提供,详情可咨询 GCloud 人工服务;
3.获取 APK/IPA 的注册渠道(对应 TLog 的 RegChannel 字段),可通过登录回调 MSDKLoginRet 中的 regChannelDis 参数值获取。其中 firstLogin 表示是否是首次登录游戏,值为 1 表示首次登录,值为 0 表示非首次登录。
请注意,注册渠道和安装渠道是两个字段,请业务侧区分使用。
案例:游戏内测期某用户下载渠道号为 89900001 的渠道包后安装登录,游戏正式上线后用户下载渠道号为 10000144 的渠道包后安装登录。此时该用户的注册渠道号为 89900001 ,安装渠道号为 10000144。

2.3 打开中控网页

1)功能描述

中控相关,用于打开中控网页,目前支持国内渠道,海外渠道暂不支持。 jsonStr 由中控下发的,MSDK 会用这个参数打开中控的 webview 页面。

2)接口声明

C#
C++
public static void OpenPrajnaWebView(string jsonStr)
static void OpenPrajnaWebView(String jsonStr);

3)示例代码

C#
C++
MSDKTools.OpenPrajnaWebView (jsonStr);
MSDKTools::OpenPrajnaWebView(jsonStr);

1)功能描述

根据当前登录态,打开对应应用 deeplink( deeplink 功能的开通和配置请联系各平台)

2)接口声明

C#
C++
public static void OpenDeepLink(string link);
static void OpenDeepLink(String link);

3)示例代码

C#
C++
MSDKTools.OpenDeepLink ("INDEX");
// MSDKTools.OpenDeepLink ("DETAIL");
// MSDKTools.OpenDeepLink ("https://pvp.qq.com/match/kcc.shtml");
MSDKTools::SetToolsObserver(new MyToolsObserver());
// MSDKTools::OpenDeepLink("INDEX");
// MSDKTools::OpenDeepLink("DETAIL");
// MSDKTools::OpenDeepLink("https://pvp.qq.com/match/kcc.shtml");

  • INDEX:跳转微信游戏中心首页
  • DETAIL:跳转微信游戏中心详情页
  • 具体跳转的url(需在微信侧先配置好此 URL,传入跳转 URL 原始地址)

特别说明:
deepLink功能需联系微信游戏中心开通和配置。在微信侧配置的url具有有效期,有效期默认是6个月,到期后需要到微信平台将url续期才可以继续使用,如果url过期请求时会返回 "msg":"error from wx:{\"errcode\":-10016,\"errmsg\":\"openlink expired\"}"。
deeplink配置的url续期可以参考微信续期url的文档微信续期url的文档

2.5 iOS 游戏内评分功能

1)功能描述

iOS 在应用内弹出评分窗口。

特别说明:
1.调试版本不能提交评分,Release 版本能够提交评分。
2.正常情况下,调试版本能够弹出评分弹窗为功能正常。

2)接口声明

C#
C++
public static void ShowRatingAlert();
static void ShowRatingAlert();

3)示例代码

C#
C++
MSDKTools.ShowRatingAlert();
MSDKTools::ShowRatingAlert();

2.6 免流量接口

注册回调

1)功能描述
接受 MSDK 免流量服务查询的回调,游戏需要注册回调函数进行处理;

2)接口声明

C#
C++
	public static event OnMSDKRetEventHandler<MSDKToolsRet>  ToolsRetEvent;

	static void SetToolsObserver(MSDKToolsObserver *observer)

3)示例代码

C#
C++
	MSDKTools.ToolsFreeFlowRetEvent += OnToolsRetEvent;
	
	private void OnToolsRetEvent(MSDKToolsRet toolsRet){
		//此处为业务自己对回调的逻辑处理
	
		if (RetEventShouldCallBack(toolsRet))
		{
			string methodName = GetMSDKBaseRetName(toolsRet.MethodNameId);
			RetEventHandlerCallBackResult(toolsRet, methodName);
		}
	}
	MSDKTools::SetToolsObserver(new MyToolsObserver());
	
	class MyToolsObserver : public MSDKToolsObserver
	{
		public :
		virtual void OnToolsRetNotify(const MSDKToolsRet &toolsRet) {
	         //此处为业务自己对回调的逻辑处理
			handleCallback(toolsRet);
		}
		virtual void OnToolsFreeFlowRetNotify(const MSDKToolsFreeFlowRet &toolsFreeFlowRet) {
	         //此处为业务自己对回调的逻辑处理
			handleCallback(toolsFreeFlowRet);
		}
	};

4)数据结构

MSDKToolsFreeFlowRet
继承自 MSDKBaseRet,包含基础的信息

成员变量名称 类型 说明
freeFlowInfo MSDKToolsFreeFlowInfo 用于存储免流信息


MSDKToolsFreeFlowInfo

成员变量名称 类型 说明
ipAll string 全部免流IP列表
ipConnect string 免流时返回配置信息对应的,否则返回入参的 key
isFree int 1:免流,0:不免
ccType int 1: 中国联通,2: 中国电信,3:中国移动,99:其它


查询免流服务

1)功能描述
客户端调用后台免流服务查询接口查询免流服务信息。
客户端请求会向后台透传key参数,此参数为游戏IP。如果为免流用户,服务端会将将对应的VIP发给客户端。

2)接口声明

C#
C++
/**
* 免流服务查询
* @param key 根据 key(原IP) 返回,后台免流配置 对应的 value(对应的 svip)
* @param extraJson 扩展字段,暂时没有使用
*/
public static bool GetFreeFlowInfo(string key, string extra="")
/**
* 免流服务查询
* @param key 根据 key(原IP) 返回,后台免流配置 对应的 value(对应的 svip)
* @param extraJson 扩展字段,暂时没有使用
*/
static bool GetFreeFlowInfo(String key, String extraJson= "");

3)示例代码

C#
C++
MSDKTools.GetFreeFlowInfo(key);
MSDKTools::GetFreeFlowInfo(key);



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""