微信小游戏运营素材处理指南与分享逻辑实现代码实例
在微信小游戏中,后台运营素材处理和分享功能是非常重要的,可以帮助游戏获得更多的曝光和用户。本文将为大家提供一些实现后台运营素材处理和分享逻辑的参考代码,帮助开发者轻松实现这些功能。
一,后台配置分享图
在左侧选项栏找到设置页,然后顶部选项栏点到 游戏设置 --> 功能设置 --> 开始配置
点击后跳到:自定义转发图片配置页面,点击添加:
按照要求添加:这里建议图片尺寸为500*400
,因为分享出去的卡片显示比例式5:4的。
提交审核后,可以在配置界面看到
等待审核通过,点击查看图片会得到一个以/0为结尾的url:比如:https://mmocgame.qpic.cn/wechatgame/T8rAVjx3AhsRksRbY4tcQNELQdwJahk5tq8Lxfia8yHpkQZibEaGqcDYfhWQqxw0Rk/0
这个url就是我们在代码中用到的图片路径。
二,基础运营素材
配置图片、素材,用于搜索、发现-游戏等场景,提升用户发现游戏转化
一共包含:封面图、游戏简介、宣传语、宣传视频、宣传图 五项
2.1 封面图:
要求:最终输出图片格式为jpeg,大小不能超过80kB,图片尺寸为650*250PX
,主要图形居中或者靠右,范围不超过434*250PX
。
可以参考官方提示和用例:
实在是不会做,就在PS中创建一个指定大小的画布,然后将游戏中背景图进行缩放或者裁剪。再叠加上游戏中的元素进行摆放,基本就完成了。
2.2 游戏简介
字数限制是20个字,最好不要超过18个字。
官方示例:
2.3 宣传语
要求8个字,实在不会写就找gpt问问。比如我想四个字,让它给我补充四个字。然后在一点点考虑优化。
2.4 宣传视频
按照下面要求上传 封面图 + 视频即可。
不会制作视频的可以直接手机录屏,然后在剪映或者必剪之类的app中一键制作游戏大片,基本可以达到一个初步满意的效果。
2.5 宣传图
这个位置的宣传图,就是在提包的时候选填上传的那个,也是需要按照要求制作,竖版大小为506*900PX
或者 900*506PX
提交审核之后返回到首页,可以在下方看到正在审核,若需要修改则可以点击后面撤回重新提交。
PS:未审核通过不会消耗修改次数。
三,代码处理
下面代码都放到我自定义的WX
宏定义中了,为了避免其他平台没有微信插件包报错。若不需要打包其他平台直接删除或者自行修改宏定义的值就可以了。
3.1 带参数分享
用户主动点击分享。指定分享回调,并设置2秒后回来认为是分享成功。
常用参数说明:
参数 | 类型 | 说明 |
---|---|---|
title | string | 转发标题,不传则默认使用当前小游戏的昵称。 |
imageUrl | string | 转发显示图片的链接,可以是网络图片路径或本地图片文件路径或相对代码包根目录的图片文件路径。显示图片长宽比是 5:4 |
query | string | 查询字符串,必须是 key1=val1&key2=val2 的格式。从这条转发消息进入后,可通过 wx.getLaunchOptionsSync() 或 wx.onShow() 获取启动参数中的 query。 |
// 后台申请分享图Url
private const string shareUrl = "https://mmocgame.qpic.cn/wechatgame/T8rAVjx3AhsRksRbY4tcQNELQdwJahk5tq8Lxfia8yHpkQZibEaGqcDYfhWQqxw0Rk/0";
private const string shareText = "游戏分享标题";
/// <summary>
/// 用户点击按钮主动分享
/// </summary>
/// <param name="succCallBack">成功回调</param>
/// <param name="failCallBack">失败回调</param>
public void Share111(Action succCallBack, Action failCallBack)
{
#if WX
var now = DateTime.Now;
void TempOnShow(OnShowCallbackResult res)
{
// 取消监听
WeChatWASM.WX.OffShow(TempOnShow);
// 认为2秒后返回 分享成功
if ((DateTime.Now - now).TotalSeconds > 2)
{
succCallBack?.Invoke();
}
else
{
failCallBack?.Invoke();
}
}
// 监听分享回调
WeChatWASM.WX.OnShow(TempOnShow);
// 设置分享信息
WeChatWASM.WX.ShareAppMessage(new ShareAppMessageOption
{
imageUrl = shareUrl,
title = shareText,
// 没有就不写
query = "userid=123&score=100"
});
#endif
}
3.2 邀请新用户
关于query参数的使用场景参考 --> 邀请新用户获得奖励
实现思路:
- 邀请人带着自己的唯一标识(一般是ID)转发分享。例如:query = “userid=123456”
- 被邀请人点击链接进入,客户端在
wx.onShow()
获取启动参数中的 query。并取得邀请人标识(比如:userid),上报到服务器。 - 邀请人向服务器请求是否邀请成功
被邀请用户尝试取邀请人的用户传递的参数:
public static void WeChatStartOnShow()
{
#if WX
void TempOnShow(WeChatWASM.OnShowCallbackResult res)
{
WeChatWASM.WX.OffShow(TempOnShow);
string userid;
res.query.TryGetValue("userid", out userid);
if (!string.IsNullOrEmpty(userid))
{
Debug.Log($"todo...被邀请人取到邀请人的用户id:{
userid}");
}
}
WeChatWASM.WX.OnShow(TempOnShow);
#endif
}
3.3 右上角三个点分享
监听用户点击右上角菜单的「转发」按钮时触发的事件
需要提前调用,尽量在游戏启动后找一个契机调用一下。
public static void WXShareRightTop()
{
#if WX
WXShareAppMessageParam myParam = new WXShareAppMessageParam();
myParam.imageUrl = shareUrl;
myParam.title = shareText;
WX.OnShareAppMessage(myParam);
#endif
}
3.4 监听用户截屏事件
监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听。若不同场景使用需要先 WeChatWASM.WX.OffUserCaptureScreen(action);
取消监听,然后再重新添加新的监听。
监听示例代码:
// 后台申请分享图Url
private const string shareUrl = "https://mmocgame.qpic.cn/wechatgame/T8rAVjx3AhsRksRbY4tcQNELQdwJahk5tq8Lxfia8yHpkQZibEaGqcDYfhWQqxw0Rk/0";
private const string shareText = "游戏分享标题";
public static void OnUserCaptureScreen()
{
#if WX
Debug.Log("监听用户截屏" );
Action<GeneralCallbackResult> action = result =>
{
if (string.IsNullOrEmpty(result.errMsg))
{
Debug.Log("用户截屏成功: 触发回调");
}
else
{
Debug.Log($"用户截屏失败 errMsg:{
result.errMsg}");
}
};
WeChatWASM.WX.OnUserCaptureScreen(action);
#endif
}