游戏可以使用活动模块打开 web 页面,快速新增活动。
注意一:活动模块需要在打包工具配置。
注意二:游戏在打开 H5 页面时,可选择关闭游戏声音,防止和 H5 页面的音视频冲突,在收到 H5 页面关闭的回调里,再将游戏声音打开。
说明:支持 iOS 9.0+,支持 iPhone、iPad、iTouch、iPod,支持 armv7、arm64 架构。
说明:在工程中添加如下系统库。
AVFoundation.framework
AdSupport.framework(optional)
Foundation.framework
ImageIO.framework
WebKit.framework(optional)
Security.framework
UIKit.framework
说明:在 info.plist 文件中添加如下权限键值。
注意:App 可以换成对应游戏名称。
<key>NSMicrophoneUsageDescription</key>
<string> App 需要您的同意,才能使用麦克风</string>
<key>NSCameraUsageDescription</key>
<string> App 需要您的同意,才能使用相机</string>
<key>NSPhotoLibraryUsageDescription</key>
<string> App 需要您的同意,才能访问相册</string>
接口描述:打开一个 h5 页面。
注意:活动模块小于 v1.3.6 版本的情况下,活动模块自动对 url 进行编码,若游戏已做编码操作,服务端需解析两次。
NSDictionary *parameters = @{
@"h5url" : @"https://sdkcgi.youzu.com/others/h5SdkDemo", // H5 页面测试地址、可测试绝大部分 H5SDK 功能
@"ticket" : @"eyJvc2RrX2dhbWVfaWQiOiIxOTYzNzc0MjYiLCJ1c2VyX2lkIjoidTE4MjI2NzYxNzI1IiwibG9naW5fc2RrX25hbWUiOiJ5b3V6dSIsImNoYW5uZWxfaWQiOiIwIiwiZXh0ZW5kIjoiMDAxOTAwMXwxfDAwMTkwMDEiLCJhY2NvdW50X3N5c3RlbV9pZCI6IjAwNjAwMTUiLCJvc2RrX3VzZXJfaWQiOiIwMDYwMDE1X3UxODIyNjc2MTcyNSIsImlwIjoiMTAxLjIyNy4xMDIuNCIsImNvdW50cnkiOiJDTiIsInRpbWUiOjE1MTIzNzQ3MjksInNpZ24iOiI4ZGYzYWY5ODNiZmVmZmZjMWExZDhmM2VlZGZkYmE2YiJ9", // SuperSDK 用户登录票据,可用于用户验证
@"server_id" : @"190001", // 游戏区服编号
@"server_name" : @"决战天下测试服", // 游戏区服名称
@"role_id" : @"00000001", // 角色编号
@"role_name" : @"墨韵", // 角色名
@"level" : @"125", // 角色等级
@"vip_grade" : @"15", // VIP 等级
@"opid" : @"2107", // 渠道编号
@"extend" : @{ // 扩展参数,可不传
@"showToolbar" : @"0",
@"orientation" : @"0"
}
};
[SuperSDK invoke:@"h5sdk" funcName:@"openH5View" parameters:parameters];
extend 字段说明:
字段 | 说明 | 补充说明 |
---|---|---|
showToolbar | 底部导航栏 0:滑动控制 1:常驻 默认为 0 | 可选 |
orientation | 方向 0:横竖屏 1:竖屏 2:横屏 默认为 0 | 可选 |
接口描述:H5 页面关闭,如果在打开 H5 页面时,关闭了游戏声音,请在收到此回调后恢复游戏声音。
+ (void)handlerCallback:(NSString *)moduleName funcName:(NSString *)funcName parameters:(NSString *)parameters
{
NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
NSDictionary *retParam = nil;
if (parameters) {
NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
if (jsonData) {
retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
}
}
int code = [[retParam objectForKey:@"code"] intValue];
NSString *desc = [retParam objectForKey:@"msg"];
id data = [retParam objectForKey:@"data"];
// H5SDK
if ([moduleName isEqualToString:@"h5sdk"]) {
if ([funcName isEqualToString:@"H5ViewDidClose"]) {// H5 页面关闭回调
// H5 页面关闭,如果在打开 H5 页面时,关闭了游戏声音,请在收到此回调后恢复游戏声音
// .....code
}
}
}
日志打印:
moduleName : h5sdk,
funcName : H5ViewDidClose,
parameters : {
"msg" : " h5 页面关闭,如果在打开 h5 页面时,关闭了游戏声音,请在收到此回调后恢复游戏声音",
"code" : 1
}