supersdk

文档中心

文档中心

下载文档

活动模块


游戏可以使用活动模块打开 web 页面,快速新增活动。

一、注意事项

注意一:活动模块需要在打包工具配置。

注意二:游戏在打开 H5 页面时,可选择关闭游戏声音,防止和 H5 页面的音视频冲突,在收到 H5 页面关闭的回调里,再将游戏声音打开。

Android 需要额外注意: jar 包接入方式需要集成官网 jar 包及 res 资源,并且添加权限及注册清单文件,aar 方式接入 aar 文件后可直接调用接口。

二、工程配置

1、iOS

a、版本及设备

说明:支持 iOS 9.0+,支持 iPhone、iPad、iTouch、iPod,支持 armv7、arm64 架构。

b、所需系统库列表

说明:在工程中添加如下系统库。

AVFoundation.framework
AdSupport.framework(optional)
Foundation.framework  
ImageIO.framework
WebKit.framework(optional)
Security.framework
UIKit.framework

c、权限添加

说明:在 info.plist 文件中添加如下权限键值。

注意:App 可以换成对应游戏名称。

<key>NSMicrophoneUsageDescription</key>
<string> App 需要您的同意,才能使用麦克风</string>

<key>NSCameraUsageDescription</key>
<string> App 需要您的同意,才能使用相机</string>

<key>NSPhotoLibraryUsageDescription</key>
<string> App 需要您的同意,才能访问相册</string>

2、Android

a、权限添加

说明:在清单文件中添加以下权限。

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

b、清单文件注册

说明:在清单文件中添加以下 Activity。

<activity
    android:name="com.youzu.h5sdklib.PlayerActivity.MyPlayer"
    android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
    android:screenOrientation="sensorPortrait"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>

<activity
    android:name="com.youzu.h5sdklib.imagepicker.ui.activity.ImagePreviewActivity"
    android:theme="@android:style/Theme.NoTitleBar">
</activity>

<activity
    android:name="com.youzu.h5sdklib.imagepicker.ui.activity.ImagesGridActivity"
    android:theme="@android:style/Theme.NoTitleBar">
</activity>

<activity
    android:name="com.youzu.h5sdklib.imagepicker.ui.activity.ImageCropActivity"
    android:theme="@android:style/Theme.NoTitleBar">
</activity>

<activity
    android:name="com.youzu.h5sdklib.WebActivity.PermissionActivity"
    android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
    android:screenOrientation="behind"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>

<activity
    android:name="com.youzu.h5sdklib.WebActivity.WebViewActivity"
    android:exported="false"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
    android:configChanges="keyboardHidden|screenSize|orientation"
    android:screenOrientation="sensor"/>

三、功能接口

1、打开 H5 页面接口

接口描述:打开一个 h5 页面。

Dictionary<string, object> params = new Dictionary<string, object>();

params.Add("h5url", "https://sdkcgi.youzu.com/others/h5SdkDemo"); // H5 页面测试地址、可测试绝大部分 H5SDK 功能
params.Add("ticket","eyJvc2RrX2dhbWVfaWQiOiIxOTYzNzc0MjYiLCJ1c2VyX2lkIjoidTE4MjI2NzYxNzI1IiwibG9naW5fc2RrX25hbWUiOiJ5b3V6dSIsImNoYW5uZWxfaWQiOiIwIiwiZXh0ZW5kIjoiMDAxOTAwMXwxfDAwMTkwMDEiLCJhY2NvdW50X3N5c3RlbV9pZCI6IjAwNjAwMTUiLCJvc2RrX3VzZXJfaWQiOiIwMDYwMDE1X3UxODIyNjc2MTcyNSIsImlwIjoiMTAxLjIyNy4xMDIuNCIsImNvdW50cnkiOiJDTiIsInRpbWUiOjE1MTIzNzQ3MjksInNpZ24iOiI4ZGYzYWY5ODNiZmVmZmZjMWExZDhmM2VlZGZkYmE2YiJ9"); // SuperSDK 用户登录票据,可用于用户验证
params.Add("server_id", GameParamsHandler.getInstance().getmServerId()); // 游戏区服编号
params.Add("server_name", GameParamsHandler.getInstance().getmServerName()); // 游戏区服名称
params.Add("role_id", GameParamsHandler.getInstance().getmRoleId()); // 角色编号
params.Add("role_name", GameParamsHandler.getInstance().getmRoleName()); // 角色名
params.Add("level", GameParamsHandler.getInstance().getmRoleLevel()); // 角色等级
params.Add("vip_grade", GameParamsHandler.getInstance().getmRoleVip()); // VIP 等级
params.Add("opid", opId); // 渠道编号

Dictionary<string, object> extend = new Dictionary<string, object>();
extend.Add("showToolbar", "0");
extend.Add("orientation", "0");

params.Add("extend", extend); // 扩展参数,可不传

SuperSDK.getInstance().Invoke("h5sdk", "openH5View", params);

extend 字段说明:

字段 说明 补充说明
showToolbar 底部导航栏 0:滑动控制 1:常驻 默认为 0 可选
orientation 方向 0:横竖屏 1:竖屏 2:横屏 默认为 0 可选

2、H5 页面关闭回调

接口描述:H5 页面关闭,如果在打开 H5 页面时,关闭了游戏声音,请在收到此回调后恢复游戏声音。

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    if (moduleName.Equals("h5sdk"))
    {
        if (funcName.Equals("H5ViewDidClose"))
        {
          // 请在收到此回调后恢复游戏声音  
        }
    }
}

日志打印:

moduleName:h5sdk,
funcName:H5ViewDidClose,
result:{
    "code":1,
    "msg":"h5 页面关闭,如果在打开 h5 页面时,关闭了游戏声音,请在收到此回调后恢复游戏声音"
}