羊了个羊有个Bug?

        今天早上坐地铁上班途中,旁边有两个妹纸在玩羊了个羊游戏,其中一个妹纸在和另一个妹纸分享经验:"羊了个羊有个漏洞,获取道具时不用分享好友就可以得到道具。

        我下车后打开这个小游戏试了下,确实如此。对于有一定微信小程序开发经验的开发者,我们是知道原因的:微信为了减少“强制分享至不同群”等滥用分享能力,破坏用户体验的行为,调整了用户从小程序、小游戏中分享消息给好友时,开发者将无法获知用户是否分享完成,也无法在分享后立即获得群ID的能力。

        但我在另一款同题材的微信小游戏《番茄花园》中发现,用户分享如果没有成功是不会发放道具奖励并提示用户再次分享。因不方便发视频,有需要体验的可以自行扫码。

        这个游戏是如何实现分享动作是否完成? 

        经过多次验证,我发现这个小程序的分享也有问题,如果用户停留在分享界面而不完成分享动作,超过5秒后返回 游戏,同样也会发放道具奖励。

看到这里我梳理了下实现逻辑:

  1. 用户在分享动作触发时记录当前时间(t1);
  2. 执行分享发放奖励动画,因界面切换到分享选择界面;
  3. 游戏进入了后台,分享动画暂停,显示分享界面;
  4. 用户从分享界面返回后继续执行发放奖励动画;
  5. 发放奖励动画执行完成后执行回调函数;
  6. 比对当前时间和之前记录的时间差判断是否发放奖励。

         目前看这个方案基本可行,可以解决部分用户取消分享后的奖励,但是有两个问题:用户在5秒内完成分享不会发放奖励;用户停留在分享界面等待5秒会发放奖励。

        不知是否有其他可行方案?欢迎评论。