当前位置:   article > 正文

微信小游戏 小程序与小游戏获取用户信息接口调整 wx.createUserInfoButton

qq.createuserinfobutton image

参考:

 小程序•小故事(6)——微信登录能力优化

小程序•小故事(4)——获取用户信息

 

本篇主要是讲微信getUserInfo接口不再出现授权弹框

那么原来getUserInfo是怎么样?修改之后又是什么样呢? 

 

一、小程序与小游戏获取用户信息接口调整

 wx.getUserInfo是用于获取用户信息的,比如头像、昵称。

现在使用接口会出现如下提示

 

查看文档

wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级

 

 

二、什么是授权弹框?

授权弹框就是弹出如下界面,让用户选择授权。

 

三、原来是怎么样的?现在是怎么样的?

原来直接调用 wx.getUserInfo 会直接弹出授权弹框,然后可以获取用户信息

  1. private async runGame() {
  2. await this.loadResource()
  3. this.createGameScene();
  4. const result = await RES.getResAsync("description_json")
  5. await platform.login();
  6. const userInfo = await platform.getUserInfo();
  7. console.log("用户数据:",userInfo);
  8. }

 

但是用户一旦取消授权,则下次再进入这个小游戏的时候,wx.getUserInfo不会再次弹出授权弹框了。

用户必须进入该小游戏公众号,进行设置,允许用户授权。

但是大部分小白用户不知道这些操作,那么游戏没有授权,无法获取用户信息,你将丧失掉了这个用户。

 

所以增加了wx.createUserInfoButton,这个接口可以主动调起授权窗口。

 

 四、wx.createUserInfoButton怎么用?

首先在wx_mini_game.d.ts里增加接口。wx_mini_game.d.ts是什么?官方提供的wx接口文件。但是没有更新新的接口,所以你得自己添加。官方Demo

  1. /**
  2. * 在无须用户授权的情况下,批量获取用户信息。该接口只在开放数据域下可用
  3. */
  4. createUserInfoButton(object: { type: string, text?: string, image?: string, style: any }): UserInfoButton;

 

  1. /**
  2. * 按钮
  3. */
  4. declare interface UserInfoButton {
  5. destroy(): void;
  6. hide(): void;
  7. onTap(callback: (res) => void): void;
  8. offTap(callback: () => void): void;
  9. show(): void;
  10. }

  

在代码里使用

  1. let button = wx.createUserInfoButton({
  2. type: 'text',
  3. text: '获取用户信息',
  4. style: {
  5. left: 10,
  6. top: 76,
  7. width: 200,
  8. height: 40,
  9. lineHeight: 40,
  10. backgroundColor: '#ff0000',
  11. color: '#ffffff',
  12. textAlign: 'center',
  13. fontSize: 16,
  14. borderRadius: 4
  15. }
  16. });
  17. button.onTap((res) => {
  18. console.log(res)
  19. })

  

然后会出现一个按钮,如下红色的获取用户信息

 

 点击这个按钮,在用户未授权的情况下,会主动调起授权弹框;在用户已授权的情况下,会获取用户数据。

 

当然这个红色文本比较丑,可以使用自定义图片 ,type改为image,放入图片链接,具体使用查看微信API的wx.createUserInfoButton

  1. let button = wx.createUserInfoButton({
  2. type: 'image',
  3.          image: 'xxxxxx.png'

  

总结:

wx.getUserInfo,只能再用户首次使用小游戏时,调起微信授权弹框,一旦用户拒绝以后,不会再次调起授权弹框,你将因为无法获取这个用户的信息而丧失掉这个用户。

wx.createUserInfoButton  可以主动调起授权弹框。一般配合wx.getsetting使用,wx.getsetting可以判断用户是否授权过。未授权过,则创建createUserInfoButton。

 

转载于:https://www.cnblogs.com/gamedaybyday/p/9208174.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/99865
推荐阅读
  

闽ICP备14008679号