主题
Skip to content
微信 WeCare 公益计划
通过 XYX.WeCare 接入公益金福袋和公益点赞半屏。需先在微信公众平台签约 WeCare,半屏内容由平台维护。
接入条件
- 同步更新包含 WeCare 接口的
XYXCommon和WXFunction。 - 当前 SDK 按微信基础库 3.7.6 及以上、iOS / Android 判断支持情况;入口展示前调用
XYX.WeCare.IsSupport()。 Show必须由用户点击入口触发。建议进入主界面时先预加载。
公益金福袋
进入主界面时判断支持情况并预加载:
csharp
if (XYX.WeCare.IsSupport())
{
XYX.WeCare.PreloadGift(result =>
{
if (result.success)
{
UnityEngine.Debug.Log("公益金福袋已就绪,可显示入口");
}
else
{
UnityEngine.Debug.LogWarning($"公益金预加载失败:{result.errMsg}");
}
});
}在入口按钮的点击回调中调用:
csharp
XYX.WeCare.ShowGift(onFail: result =>
{
if (result.IsQuotaExhausted)
UnityEngine.Debug.Log("今日额度已用完,请明天再来");
else
UnityEngine.Debug.LogWarning($"公益金打开失败:{result.errMsg}");
});未预加载时,ShowGift 会先加载再打开。预加载成功仅表示半屏已就绪,不代表用户完成了公益互动。
公益点赞
csharp
using XYXCommon;
// 进入主界面时预加载。
if (XYX.WeCare.IsSupport())
{
XYX.WeCare.PreloadLike(result =>
{
if (!result.success)
{
UnityEngine.Debug.LogWarning(result.IsQuotaExhausted
? "今日额度已用完,请明天再来"
: result.errMsg);
return;
}
if (result.LikeStatus == WeCareLikeStatus.Liked)
UnityEngine.Debug.Log("今日已点赞,可提供设置小红花状态的入口");
else if (result.LikeStatus == WeCareLikeStatus.NotLiked)
UnityEngine.Debug.Log("今日未点赞,可提供公益点赞入口");
});
}在用户点击入口时调用 XYX.WeCare.ShowLike(onFail: result => { /* 处理失败 */ });。
接口声明
以下方法均通过 XYX.WeCare 调用;类型 WeCareType、WeCareLoadResult、WeCareLikeStatus 位于 XYXCommon 命名空间。
csharp
public static bool IsSupport();
public static void Preload(WeCareType type, Action<WeCareLoadResult> callback = null);
public static void Show(WeCareType type, Action onClose = null,
Action<WeCareLoadResult> onFail = null);
public static WeCareLoadResult GetLastLoadResult(WeCareType type);
public static void PreloadGift(Action<WeCareLoadResult> callback = null);
public static void PreloadLike(Action<WeCareLoadResult> callback = null);
public static void ShowGift(Action onClose = null, Action<WeCareLoadResult> onFail = null);
public static void ShowLike(Action onClose = null, Action<WeCareLoadResult> onFail = null);WeCareType.Gift = 0 表示公益金福袋,WeCareType.Like = 1 表示公益点赞。两类分别保存加载状态。
结果说明
| 字段 / 属性 | 含义 |
|---|---|
success | 本次加载是否成功;在预加载回调中判断 |
type / WeCareType | 互动类型的数值 / 枚举 |
userStatus / LikeStatus | 点赞加载成功后的当日状态:Unknown = 0、NotLiked = 1、Liked = 3 |
errCode、errInfoCode、errMsg | 错误码、细分错误码和错误信息 |
IsQuotaExhausted | errCode == -4 && errInfoCode == -1,额度已用完 |
IsNetworkError | errCode == -6,网络错误 |
IsDeviceUnsupported | errCode == -3,设备不支持 |
IsUnsupported | errCode == -2,当前环境不支持 |
GetLastLoadResult 在没有结果时返回 null;后续打开失败也会更新该缓存。若缓存结果为额度耗尽,再次 Show 会直接走失败回调;需要刷新状态时应重新 Preload。
当前 SDK 的支持检查失败统一回传 errCode = -2,不能仅凭这个错误码区分基础库和设备原因。
当前回调限制
当前微信实现尚未接通 onClose,业务不要依赖它恢复流程或判定互动完成。onFail 可用于处理加载或打开失败;现有接口没有提供公益互动完成回调。
请在微信真机验证预加载、用户点击打开、点赞状态和失败提示;编辑器中的支持判断不能作为真机验收依据。
点我快速对接



›
‹