游戏出海技术指南:海外网络实践及优化专场 | 北京

点击此处报名

国内对游戏版号的限制,让「出海」成了游戏行业的热门词汇。但一款游戏如果想要平稳出海却不是件容易的事,无论是文化、设备还是推广方式都有着明显的差异。而技术方面,单海外网络一项就让不少游戏开发人员感到头疼。

本期活动,我们邀请了资深媒体人罗斯基、IPIP.NET 创始人高春辉、LeanCloud 运维工程师缪思源以及 UCloud 互动娱乐事业部架构师沈皓,围绕海外市场趋势及网络优化等,分享他们的实践经验。

01 活动流程

13:20 – 14:00 签到开场

14:00 – 14:40 游戏出海那些事(海外市场、渠道、产品以及趋势机会判断)

14:40 – 15:20 网络地理之东南亚篇

15:20 – 15:30 茶歇

15:30 – 16:10 海外网络优化及故障排除实践

16:10 – 16:50 出海游戏那些坑(出海及全球服游戏的技术要求及门槛)

16:50 – 17:10 现场抽奖交流

继续阅读

游戏实时对战及排行榜服务将于 4 月 9 日开通商用方案

LeanCloud 游戏实时对战服务及排行榜服务自上线以来受到了众多开发者的青睐,大家熟知的 Google 小游戏《猜画小歌》就是我们游戏服务的用户之一。鉴于商业用户对于云端服务稳定性的要求,我们将于 4 月 9 日起为这两项服务提供免费和付费两种方案,具体如下:

实时对战

实时对战服务从 CCU 和流量两个维度来统计使用量和计费。

  • CCU:同时在线用户数,以当天最高的同时在线用户数为准进行收费。最高支持 5000 CCU,超过 5000 CCU 需使用企业版。收费单位为每 500 CCU,不足 500 按 500 计算。
  • 流量:通信过程中所使用的流量。数据体积越大,通信频率越高,产生的流量也会越大,按照实际用量进行计费。

华北/华东节点

开发版 商用版
CCU 免费 20 CCU / 天 ¥ 25 / 500 CCU / 天
流量 免费 1 GB / 天 ¥ 0.8 / 1 GB / 天

国际节点

开发版 商用版
CCU 免费 20 CCU / 天 $ 4 / 500 CCU / 天
流量 免费 1 GB / 天 $ 0.1 / 1 GB / 天

您可以前往 LeanCloud 控制台 > 游戏 > 实时对战 > 统计 页面查看应用当前的用量。

注:付费方案仅涉及实时对战通讯云部分,Client Engine 服务将继续免费使用。

排行榜

排行榜服务按照请求数量和存储空间来统计和计费。

  • 请求数量:调用排行榜相关接口的请求总数量。收费单位为 1 万次请求,不足 1 万按 1 万次计算。
  • 存储空间:
    • 按照榜单内的总记录数进行收费,包括当前版本的总记录数,以及可选保留的上一个版本总记录数。例如您有一个排行榜 world,除了当前版本的榜单外,还选择保留一份历史版本数据供客户端查询,当前版本的榜单内有 2 万条数据,上一个历史版本中有 1 万条数据,总记录数为 2 万 + 1 万 =  3 万条数据。
    • 收费单位为 1 万条,不足 1 万按 1 万条记录计算。

华北/华东节点

开发版 商用版
请求数量 免费 1 万次请求 / 天 ¥ 2.5 / 万次请求 / 天
存储空间 免费 1 万条榜单记录数 ¥ 0.05 / 1 万条榜单记录 / 天

国际节点

开发版 商用版
请求数量 免费 1 万次请求 / 天 $ 0.4 / 万次请求 / 天
存储空间 免费 1 万条榜单记录数 $ 0.01 / 1 万条榜单记录 / 天

您可以前往 LeanCloud 控制台 > 统计 > 排行榜 > 统计 页面查看该服务的使用量。

如果您有任何疑问,请发邮件至 support@leancloud.rocks  或提交工单来咨询。

安卓混合推送升级|二月刊

产品动态

游戏解决方案(Play)

二月份我们的游戏服务迎来了更多的开发者,同时也经历了他出生之后的第一次春节流量考验,虽然出现了临时扩容的紧张与慌乱,但所幸结果一切顺利,没有在全国人民面前掉链子,也让我们倍感欣慰。

实时对战 JavaScript SDK 支持 Promise 方式

前两天我们发布了 JavaScript SDK v0.18.0 正式版本,将异步调用的处理方式进行了一次升级,在原来的事件回调基础上,增加了 Promise 方式。例如在老版本 SDK 里用户连接至实时对战服务器的过程为:

// 发起请求
client.connect();

// 响应连接成功事件
client.on(Event.CONNECTED, () => {
  console.log('on joined lobby');
});

现在可以直接这样实现:

client.connect().then(()=> {
  // 连接成功
  console.log('on joined lobby');
}).catch((error) => {
  // 连接失败
    console.error(error.code, error.detail);
});

新版本完全遵循 ES6 Promises 标准,相信可以让大家开发起来更加方便。

游戏开发教程

应广大开发者的要求,我们工程师小姐姐还专门录制了四期直播课程,介绍游戏开发中的一些小窍门,有兴趣的朋友可以访问官网的学习页面或通过以下地址直接观看:

安卓混合推送升级

华为 HMS 推送增加 IntentUri 支持

对于华为的 HMS 推送,之前我们支持的版本缺少通知栏点击的自定义动作支持(推送请求的 IntentUri 参数),本月我们服务端上线了这一功能,现在开发者使用 v4.7.0 以上版本的混合推送 SDK,就可以使用这一功能,具体用法可以参考文档:HMS 推送接入指南

新功能预告

我们计划在 3 月份增加对 VIVO 推送支持,但是因为我们自己客户端数量有限,怕测试不完全,所以我们会推出一个 early-bird 版本,邀请大家参与前期测试。欢迎感兴趣的开发者通过发送邮件或者在项目 repo 下直接报名参与,谢谢。

Share

使用 Leancloud 实现 React Native App 的消息推送 – Android 篇

在 React Native 开发过程中征服的一个小小领域:消息推送。

【游戏开发】如何实现手游中的账户系统

这篇文章以 Unity 游戏引擎中的 C# 语言为示例,主要讲解如何实现几种主流的登录方式,包括游客登录、游客账号升级、手机号验证码登录、用户名密码注册及登录。

常见问题

【存储】怎么存储和获取音频/视频文件的时长 ?

AV.File 的 metaData 属性,可以用来保存和获取该文件对象的元数据信息。可以在上传音频文件时获取音频长度然后通过 metaData 方法手动添加文件时长。

【即时通信】对话查询如何区分单聊还是群聊?

SDK 层面不区分单聊和群聊。可以使用会话的成员数量做区分。「会话成员数量为 2」即是单聊,大于 2 即可看作群聊。

【即时通信】语音消息如何标记消息是否已经播放,类似微信语音消息标记是否已读的小红点,可以提供一些思路吗?

因为一个群里可能有很多人,每个人对一条消息都有一个「是否已播放」的状态,所以建议在客户端维护这个「未播放」状态。

做法之一是可以在客户端维护一个「收到了但是没有播放的音频文件」列表,然后拿到消息文件对比一下客户端是否已经播放过。

【即时通信】使用 where 查询条件查询某用户的会话列表,为什么查询结果是系统内所有用户的会话?

当没有添加任何 where 查询条件时,query 会使用默认查询条件 where={"m":{"$in":["client ID"]}},即查询成员含有此 client ID 的对话;当添加了任意 where 查询条件时,query 会严格按 where 条件来查询,即覆盖默认的 where 查询条件。

以 Objective – C 举例,添加了自定义的 where 查询条件时,如果想查询含有此 client ID 的对话,使用 [query whereKey:@"m" containedIn:@[@"client ID"]] 增加一个查询条件即可。

2019 春节 LeanCloud 放假通知

  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

LeanCloud 将于 2019 年 2 月 3 至 10 日放假八天,2 月 11 日恢复正常工作。放假期间运维团队仍将在线值班,以应对可能的突发情况,保障服务稳定。

放假期间 LeanCloud 工程师会部分时间在线,处理紧急事件和回复工单。购买了技术支持的用户仍可以通过工单系统来提交问题,我们会尽快回复,但无法保证在一天之内完全解决。若有遗漏我们会在节后第一时间进行处理,希望大家体谅。

如若发生紧急情况,请联系值班人员电话 186-2503-8918,我们会及时响应处理。

LeanCloud 月刊|国际节点正式独立运行

产品动态

国际节点正式独立运行

我们为了适应用户的需求变化以及产品下一步的发展,让 LeanCloud 正式成为国际化的产品,从 2019 年 1 月 1 日开始国际节点与国内节点完全分离,这将带来以下几方面的变化。

  • 国际节点使用独立的账户体系,并由 LeanCloud 的境外公司作为主体运营。

  • 我们将会逐步完成网站、开发者控制台、文档的国际化,提供英语技术支持,让英文环境的开发者也可以使用 LeanCloud。

  • 充值方式将支持国际信用卡、PayPal、境外银行转账。余额使用美元结算,无需像原来一样进行与人民币的转换。

  • 我们会和其他国外的服务一样按月提供电子发票,您无需再在控制台进行手动申请。

游戏解决方案(Play)在国际节点全部部署上线

首先,告诉大家一个好消息,游戏解决方案在国际节点全部部署上线,使用国际节点开拓海外市场的游戏开发者,可以抢先体验一下。

接下来我们分别说说实时对战和排行榜方面的变化。

实时对战

  • Client Engine:作为服务端控制游戏逻辑的一种扩展机制,我们已经完善了底层架构,完成了使用框架和文档,并发布了一个基于该方式实现的猜拳小游戏,作为 demo 希望给广大游戏开发者带来参考价值。

相关文章:如何在服务端实现游戏逻辑

  • SDK:完成了白鹭引擎(Egret)的匹配。现在我们的游戏解决方案已经支持如下平台:

    • 微信开发者工具,包括微信小游戏和小程序

    • Cocos Creator:包括 Web、微信小游戏、Facebook Instant Game、OSX/iOS、Android

    • LayaAir:微信小游戏

    • Egret:Web 小游戏

排行榜

  • 增强了防作弊的策略,只放行可信环境的数据更新请求,避免被恶意刷榜。

我们在 LeanCloud 成立五周年之际,发布了一款名为《LeanCloud 周年游戏》的微信小游戏。《LeanCloud 周年游戏》玩起来很简单,参与者要在 15 秒内从迅速掉落的蛋糕和炸弹中点中尽可能多的蛋糕来得分,蛋糕有好几种,分值也不一样,而误点到炸弹就要扣分。游戏一结束参与者能在排行榜中看到自己的名次,我们给前 50 名都设置了奖品。上个月,我们工程师从「客户端」、「服务端」和「作弊检测」几个方面,总结了一下开发这个小游戏的经验,感兴趣的朋友可以看看下面这篇文章。

相关文章:使用 LeanCloud Play 开发抢蛋糕小游戏的经验谈(附防作弊机制)

Android SDK 仓库的变化

我们已经将 Android SDK 最新版本(4.7.9)已经发布到了 The Central Repository,同时 Android SDK 的替代品—— Java Unified SDK 也都直接发布到了中央仓库,以后我们也会将两个 SDK 的后续版本都发布到这里,开发者可以不用再增加 LeanCloud 自己的私有仓库作为 maven 源,直接使用 jCenter() 包含的源即可引用 LeanCloud 最新的 Java/Android SDK。

统计服务下线

按照之前公告的计划,从 1 月 17 日开始,统计服务的后端系统正式停止接收各种客户端上报的数据,在 2 月 27 号之后控制台会停止统计指标的展示,今后我们会集中资源将核心服务做的更好更全面。
考虑到个别用户的使用情况,我们也提供了将统计服务私有部署的选项(有一次性的部署费用),如果您需要继续使用我们的统计分析功能,可以通过邮件(support@leancloud.rocks)或工单联系我们。

Share

优秀的命令行工具整理(一)

如果你用命令行,那么这些工具中大概至少有一个能让你的生活更舒心。

优秀的命令行工具整理(二)

本文是「命令行威力提升」系列的第二篇,这一系列展示一些出色的非标准工具,这些工具能让命令行用起来更容易、更享受。

优秀的命令行工具整理(三)

本文是「优秀的命令行工具」系列的第三篇。本文将展示五个命令行工具,这些工具能助你更方便地解决常见问题。

常见问题

【存储】数据存储表的字段是否有数量上限?字段多对性能是否有影响?

我们的存储功能基于 MongoDB,属于文档型数据库,这里的文档类似于 JSON 这样的非结构化数据,与传统的关系型数据库不一样, 所以讨论字段(关系型数据库中称为列)多少是没有意义的。
一个文档大小有 16 M 的限制,但是开发者真正使用时应远小于这个值,保证在几百 KB 之内能有较好的插入、查询、更新速度。
因为字段名是存在每个文档中的,所以字段名越短越节约空间。

【即时通信】安卓客户端怎么获取对话免打扰状态?

对于 Android 来说,不存在免打扰状态的。消息静音是针对 iOS 设备而言的(指不发送离线消息)。

Android 没有离线通知,因为聊天和推送使用的是同一个 WebSocket 长链接,聊天那里不在线,推送也是过不去的。

【控制台】控制台的应用为什么会被归档,被归档的应用怎么重新激活?

近三个月内没有 API 请求的开发版应用会被归档,归档后无法请求应用数据。

被归档的应用如需重新开启,可提供应用信息发邮件至 support@leancloud.rocks 申请激活。

【计费】通过 API 发送实时通信消息收费吗?

使用 API 发送即时通信消息也是收费的。计费标准就是 API 调用费用标准(每万次 1.0 元)。

此项计费在控制台 > 财务 > 消费明细中对应扣费服务项目是:「数据存储(API 请求)」。

【小程序】小程序真机上传数据时,控制台存储中显示的 Class 表名被压缩为单个字母,这个是为什么?

例如新建一个名为「Todo」的表,上传数据成功后进入控制台查看,其表名称显示为像 i、u 这样的单个字母。

这是因为真机上代码会被压缩,解决办法是在创建 Class 后向 SDK 注册该 Class 的名字:AV.Object.register(Todo, ‘Todo’);。

【云引擎】在云引擎部署时,会显示 [ERROR] exit status 128,请问会有什么影响吗?

是命令行工具在上传统计数据的时候的一个错误,不影响后续的部署,升级到最新版本的 lean-cli 就不会有这个提示了。

【CQL】LeanCloud 平台的 CQL 语句,与标准的 SQL 有什么区别。离线数据分析使用的 SQL 语句又有什么不同?

CQL 只是 API 的一点封装,是 SQL 的一个很小的子集,离线分析的 SQL 是 Hive SQL。标准 SQL 里面有很多内置的函数,CQL 里面都不支持。

也就是说标准 SQL 和离线分析的 Hive SQL 支持的内置函数有差异,而 CQL 基本不支持内置函数。

系统维护通知:中国华北节点计划分别于 1 月 23 日、24 日对剩余部分存储集群进行升级维护

尊敬的开发者,您好,

为了提升系统性能和修复已知问题, 我们计划于 1 月 23 日、 24 日分别对中国区华北节点的剩余部分存储集群进行升级维护 。每次操作预计耗时 3 小时,期间不会引起任何服务中断,对已有应用的数据 API 访问,以及终端用户使用都不会造成影响。

具体操作时间(北京时间 GMT+08)如下:

  • 1 月 23 日(周三)07:00 – 10:00 中国区华北节点部分存储集群升级
  • 1 月 24 日(周四)07:00 – 10:00 中国区华化节点部分存储集群升级

在系统维护期间,应用控制台与存储相关的部分管理功能会被暂时禁用,因此开发者将无法创建和删除应用,无法创建、编辑、删除和绑定 Class,但对已有应用和数据进行增删改查不受影响。在维护开始和结束的时候,我们会在中国区华北节点的应用控制台发布操作提醒,如果您在控制台没有看到系统维护提醒,则可能您的应用不在该存储集群,或者我们对目标应用已经完成上述操作。

我们会尽快完成升级维护工作并恢复应用控制台的受限操作。如果遇到计划之外的情况,维护时间可能会延长,我们会通过邮件或短信及时与您沟通进展。

如果有任何疑问,请发邮件至 support@leancloud.rocks 进行咨询。

系统维护通知:美国节点和中国华北节点计划分别于 1 月 15 日、16 日、17 日对部分存储集群进行升级维护

尊敬的开发者,您好,

为了提升系统性能和修复已知问题, 我们计划于 1 月 15 日、 16 日、17 日分别对美国区和中国区华北节点的部分存储集群进行升级维护 。每次操作预计耗时 3 小时,期间不会引起任何服务中断,对已有应用的数据 API 访问,以及终端用户使用都不会造成影响。

具体操作时间(北京时间 GMT+08)如下:

  • 1 月 15 日(周二)14:00 – 17:00 美国区存储集群升级
  • 1 月 16 日(周三)07:00 – 10:00 中国区华北节点存储集群升级
  • 1 月 17 日(周四)07:00 – 10:00 中国区华化节点存储集群升级

在系统维护期间,应用控制台与存储相关的部分管理功能会被暂时禁用,因此开发者将无法创建和删除应用,无法创建、编辑、删除和绑定 Class,但对已有应用和数据进行增删改查不受影响。在维护开始和结束的时候,我们会在应用控制台发布操作提醒,如果您在控制台没有看到系统维护提醒,则可能您的应用不在该存储集群,或者我们对目标应用已经完成上述操作。

我们会尽快完成升级维护工作并恢复应用控制台的受限操作。如果遇到计划之外的情况,维护时间可能会延长,我们会通过邮件或短信及时与您沟通进展。

如果有任何疑问,请发邮件至 support@leancloud.rocks 进行咨询。

2019 元旦 LeanCloud 放假通知

  • 29
  • 30
  • 31
  • 1

LeanCloud 将于 2018 年 12 月 30 至 2019 年 1 月 1 日放假三天,1 月 2 日恢复正常工作。放假期间运维团队仍将在线值班,以应对可能的突发情况,保障服务稳定。

放假期间 LeanCloud 工程师会部分时间在线,处理紧急事件和回复工单。购买了技术支持的用户仍可以通过工单系统来提交问题,我们会尽快回复,但无法保证在一天之内完全解决。若有遗漏我们会在节后第一时间进行处理,希望大家体谅。

如若发生紧急情况,请联系值班人员电话 131-4644-6722,我们会及时响应处理。

LeanCloud 将逐步下线移动统计服务的通知

移动统计服务和数据存储服务一样是 LeanCloud 最早上线的产品。在大多数人还没有听说过「Backend as a Service」,「Serverless」这个名词还没被发明的时候,很多用户因为移动统计这样熟悉的功能开始了解和使用 LeanCloud,并成为多年的深度用户。

在最近一段时间,我们除了推出 Play 游戏后端服务这样的全新产品,并进一步加强在海外市场的扩展外,也在对现有的后端架构和产品线进行梳理。LeanCloud 的几乎所有服务都专注于帮助用户更快、更好、更可靠地实现产品功能,面向的目标人群都是开发者。而移动统计服务是产品运营的辅助工具,主要目标用户是运营人员,我们曾多次收到用户建议,希望把移动统计的访问权限和其他服务隔离开,这都说明它和其他服务之间的协同性是比较少的。同时无论是在国内还是国外,有不少公司专注于开发统计工具,也有不错的开源方案,可以说用户有很多选择,我们在这方面提供的价值是相对较低的。

每个子产品都需要在开发、运维、技术支持、硬件等各方面投入资源,为了能集中资源以更快的节奏改进我们的核心产品,我们权衡再三,决定在未来的一段时间里将移动统计功能逐步下线。

移动统计服务我们一直免费提供,目前还有很多活跃应用在使用。我们知道对很多用户而言这一改变会带来不便,所以会尽可能减少其影响。我们计划以未来三个月为过渡期,让使用它的产品可以相对平滑地切换到其他方案。

具体的过渡方案如下:

  1. 在 2019 年 1 月 17 号之前,统计服务会正常运行;
  2. 2019 年 1 月 17 号之后,我们会停止接收客户端上报的数据,但是老的统计数据还可以在控制台看到,并且会继续开放 REST API 供开发者获取这些数据;
  3. 在 2019 年 2 月 27 号之后,我们会停止老的数据展示以及 REST API 下载。不过考虑到春节的影响,我们也会为有需要的用户延长保存一段时间,请提前与我们联系;

感谢您一直以来对 LeanCloud 的信任和支持。如果您有我们没考虑到的需求,请随时通过 Email(support@leancloud.rocks)或工单和我们联系。

系统维护通知:中国华北节点计划于 11 月 27 日凌晨对部分存储集群进行升级维护

为了提升系统性能和修复已知问题, 我们计划于 11 月 27 日(周二)凌晨 02:00 – 08:00(北京时间 GMT+08)对中国区华北节点的部分存储集群进行升级维护 。此次操作预计耗时 6 小时,期间不会引起任何服务中断,对已有应用的数据 API 访问,以及终端用户使用都不会造成影响。

但是在系统维护期间,应用控制台与存储相关的部分管理功能会被暂时禁用,因此开发者将无法创建和删除应用,无法创建、编辑、删除和绑定 Class,但对已有应用和数据进行增删改查不受影响。在维护开始和结束的时候,我们会在中国区华北节点的应用控制台发布操作提醒,如果您在控制台没有看到系统维护提醒,则可能您的应用不在该存储集群,或者我们对目标应用已经完成上述操作。

我们会尽快完成升级维护工作并恢复应用控制台的受限操作。如果遇到计划之外的情况,维护时间可能会延长,我们会通过邮件或短信及时与您沟通进展。另外,我们初步计划在 12 月初进行本次升级的后续操作,届时可能会影响到部分用户,操作前我们会另行邮件通知,请知晓。

如果有任何疑问,请发邮件至 support@leancloud.rocks 进行咨询。