tencent cloud

文档反馈

定制日志及事件上报

最后更新时间:2024-06-27 10:52:23

    定制日志输出实现

    通过实现 LogProxy 代理,可以实现小程序 SDK 内部日志的打印控制。
    示例代码:
    @ProxyService(proxy = LogProxy.class) public class LogProxyImpl extends LogProxy { @Override public void log(int logLevel, String tag, String msg, Throwable t) { switch (logLevel) { case Log.DEBUG: if (t == null) { android.util.Log.d(tag, msg); } else { android.util.Log.d(tag, msg, t); } break; case Log.INFO: if (t == null) { android.util.Log.i(tag, msg); } else { android.util.Log.i(tag, msg, t); } break; case Log.WARN: if (t == null) { android.util.Log.w(tag, msg); } else { android.util.Log.w(tag, msg, t); } break; case Log.ERROR: if (t == null) { android.util.Log.e(tag, msg); } else { android.util.Log.e(tag, msg, t); } break; default: if (t == null) { android.util.Log.v(tag, msg); } else { android.util.Log.v(tag, msg, t); } break; } } @Override public boolean isColorLevel() { return true; }
    }

    定制事件上报

    宿主 APP 可以通过实现 MiniAppProxy 的 reportMiniAppEvent 方法定制小程序事件上报,从而覆盖 TCMPP SDK 内部的上报逻辑。
    说明:
    包括小程序操作事件及小程序内部调用 wx.reportEvent 上报的数据。
    API 如下:
    /** * 小程序事件上报代理 * @param eId 事件ID * @param eventName 事件名字 * @param props 事件属性 * @param app 小程序信息 * @return 为true时,SDK内部上报逻辑不再执行,使用用户自定义的事件上报逻辑 */ public abstract boolean reportMiniAppEvent(int eId, String eventName, JSONObject props, MiniApp app);
    内置事件 ID 描述如下:
    
    /** 自定义事件*/
    
    public static final int EID_None = 0;
    
    /** 打开小程序 */
    
    public static final int EID_OPEN_MINIAPP = 1;
    
    /** 更新小程序*/
    
    public static final int EID_UPDATE_MINIAPP = 2;
    
    /** 下载小程序 */
    
    public static final int EID_DOWNLOAD_MINIAPP = 3;
    
    /** 小程序页面浏览 */
    
    public static final int EID_MINIAPP_PAGE_VIEW = 4;
    
    /** 退出小程序 */
    
    public static final int EID_EXIT_MINIAPP = 5;
    
    /** 小程序行为事件*/
    
    public static final int EID_MINIAPP_ACTION = 6;

    定制日志上报

    实时日志上报

    宿主 APP 可以通过实现 MiniAppProxy 的 reportRealTimeLog 方法定制小程序实时事件日志上报逻辑
    说明:
    包括小程序内部调用 wx.getRealtimeLogManager 写入的日志数据。
    API 如下:
    /** * 小程序实时日志上报代理 * @param page 当前页面 * @param jsLibVersion 基础库版本 * @param app 小程序信息 * @param filterMsgs 过滤关键字 * @param logs 日志 * @return 为true时,SDK内部上报逻辑不再执行 */ public abstract boolean reportRealTimeLog(String page, String jsLibVersion, MiniApp app, String[] filterMsgs, ArrayList<RealTimeLogItem> logs);

    小程序内部日志上报

    宿主 APP 可以通过实现 MiniAppProxy 的 uploadUserLog 方法定制小程序的投诉反馈页面收集到日志上传逻辑
    说明:
    包括小程序内部调用 wx.getLogManager 写入的日志数据,用户可以通过使用 button 组件的 open-type="feedback" 来上传打印的日志。
    /** * feedback 日志上传 * * @param appId 小程序appId * @param logPath 日志路径 * @return 为true时,SDK内部上报逻辑不执行 */ public abstract boolean uploadUserLog(String appId, String logPath);
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持