com.guru.unity.applit/Runtime/Modules/Rating
胡宇飞 1bf6ce0f8f init commit 2024-02-06 19:50:04 +08:00
..
Arts init commit 2024-02-06 19:50:04 +08:00
Code init commit 2024-02-06 19:50:04 +08:00
Docs init commit 2024-02-06 19:50:04 +08:00
Prefab init commit 2024-02-06 19:50:04 +08:00
Resources init commit 2024-02-06 19:50:04 +08:00
Arts.meta init commit 2024-02-06 19:50:04 +08:00
Code.meta init commit 2024-02-06 19:50:04 +08:00
Docs.meta init commit 2024-02-06 19:50:04 +08:00
Prefab.meta init commit 2024-02-06 19:50:04 +08:00
README.md init commit 2024-02-06 19:50:04 +08:00
README.md.meta init commit 2024-02-06 19:50:04 +08:00
Resources.meta init commit 2024-02-06 19:50:04 +08:00

README.md

Guru Rating 游戏内评价引导组件

集成可选择

  • 组件路径 GuruUIKit/Rating
  • MonoBehaviour 适配版本
    • 原生的的MonoBehaviour可直接使用 UIRateUsMono.cs 文件及 GuruUIKit/Rating/Resources/ui/guru_rating.prefab
    • 相关的图片路径: GuruUIKit/Rating/Arts/

接口实现

通过调用 GuruRatingControllerShowWithData 来实现UI的展示.

    /// <summary>
    /// 显示 Rating 视图
    /// </summary>
    /// <param name="root">UI挂载根节点(基于UGUI)</param>
    /// <param name="onFeedback">用户操作反馈的回调, 使用默认流程请留空值</param>
    /// <param name="supportEmail">支持邮件地址</param>
    /// <param name="showRatingImmediately">在用户点击操作后, 立即触发响应</param>
    /// <param name="mailTitle">邮件主题</param>
    /// <param name="mailBody">邮件内容</param>
    public void ShowWithData(Transform root, Action<int, string> onFeedback = null, bool showRatingImmediately = true,
        string supportEmail = "", string mailTitle = "", string mailBody = "")

一般用户推荐使用Guru默认的Rating流程来完成展示:

  • 用户打分5星后, 立即展示设备商店的应用内评价面板.
  • 用户打分不足5星, 弹出反馈面板, 用户点击 提交 后, 立即发送邮件到指定的邮箱.

例如: 使用Guru默认的 Rating 流程, 在满足一定条件的时候展示 Rating 引导面板

    // 示例化一个 Rating 控制器
    var ctrl = new GuruRatingController();
    string mailTitle = "Thanks for playing our demo!";

    // 在需要展示的时候打开视图, 使用Guru默认处理方式
    ctrl.ShowWithData(UI.Root, null, true, GuruSDK.SupportEmail, mailTitle);

游戏如果需要自行处理展示逻辑, 可传入自己的回调参数:

    // 在需要展示的时候打开视图, 使用Guru默认处理方式
    ctrl.ShowWithData(UI.Root, OnGetRatingResult, true);

    // rateValue 为用户评价的星级, 0 为未评价
    // msg 为用户评价的文字内容, 为空字符串时为未评价
    private void OnGetRatingResult(int rateValue, string message)
    {
        // TODO: 处理 rateValue 为 5 的情况, 比如: 直接跳转商店
        
        // TODO: 处理用户的留言, 比如发送给客服邮箱
    }

注意事项

  • AppStore 对于应用内引导评价的行为鉴别相对比较严格, 如果发布 iOS 平台, 建议使用云控参数, 在应用提交审核的时候先关闭引导评价的功能. 等到应用成功上架后, 再开启引导评价的功能.
  • 建议 Google Play 也接入同样的策略.