使用插件
小程序开发者可便捷地把插件添加到自己的小程序内,丰富小程序的服务。当用户在使用小程序时,将可以在小程序内使用插件提供的服务。
开放范围
所有小程序
接入流程
- 
在小程序管理后台添加插件
小程序开发者可在”小程序管理后台-设置-第三方服务-插件管理“中,根据AppID查找需要的插件,并申请使用。插件开发者在24小时内通过后,小程序开发者可在小程序内使用该插件。

 - 在小程序代码中使用插件
 
引入插件代码包
对于插件的使用者,使用插件前要在 app.json 中声明需要使用的插件,例如:
{
  "plugins": {
    "myPlugin": {
      "version": "1.0.0",
      "provider": "wxxxxxxxxxxxxxxxxx"
    }
  }
}
  如上例所示, plugins 定义段中可以包含多个插件声明,每个插件声明中都必须指明插件的 appid 和需要使用的版本号。
使用插件的 js 接口
在引入插件代码包之后,就可以在这个小程序中使用插件提供的自定义组件或者 js 接口。
如果需要使用插件的 js 接口,可以使用 requirePlugin 方法:
var myPluginInterface = requirePlugin(‘myPlugin‘) myPluginInterface.hello()
使用插件的自定义组件
使用插件提供的自定义组件,和使用普通自定义组件的方式相仿。在 json 文件定义需要引入的自定义组件时,使用 plugin:// 协议即可,例如:
{
  "usingComponents": {
    "hello-component": "plugin://myPlugin/hello-component"
  }
}
出于对插件的保护,插件提供的自定义组件在使用上有一定的限制:
- 页面中的 
this.selectComponent接口无法获得插件的自定义组件实例对象; wx.createSelectorQuery等接口的>>>选择器无法选入插件内部。
插件调用 API 的限制
插件可以调用的 API 与小程序不同,主要有两个区别:
- 插件的请求域名列表与小程序相互独立;
 - 一些 API 不允许插件调用。
 
目前,允许插件调用的 API 及其对应版本要求如下。
| API | 最低版本 | 
|---|---|
wx.addPhoneContact | 
1.9.6 | 
wx.arrayBufferToBase64 | 
1.9.6 | 
wx.base64ToArrayBuffer | 
1.9.6 | 
wx.canvasGetImageData | 
1.9.6 | 
wx.canvasPutImageData | 
1.9.6 | 
wx.canvasToTempFilePath | 
1.9.6 | 
wx.chooseImage | 
1.9.6 | 
wx.chooseLocation | 
1.9.6 | 
wx.chooseVideo | 
1.9.6 | 
wx.closeBLEConnection | 
1.9.6 | 
wx.closeBluetoothAdapter | 
1.9.6 | 
wx.connectSocket | 
1.9.6 | 
wx.createAnimation | 
1.9.6 | 
wx.createAudioContext | 
1.9.6 | 
wx.createBLEConnection | 
1.9.6 | 
wx.createCameraContext | 
1.9.6 | 
wx.createCanvasContext | 
1.9.6 | 
wx.createInnerAudioContext | 
1.9.6 | 
wx.createIntersectionObserver | 
1.9.6 | 
wx.createLivePlayerContext | 
1.9.6 | 
wx.createLivePusherContext | 
1.9.6 | 
wx.createMapContext | 
1.9.6 | 
wx.createSelectorQuery | 
1.9.6 | 
wx.createVideoContext | 
1.9.6 | 
wx.downloadFile | 
1.9.6 | 
wx.getBLEDeviceCharacteristics | 
1.9.6 | 
wx.getBLEDeviceServices | 
1.9.6 | 
wx.getBackgroundAudioManager | 
1.9.6 | 
wx.getBackgroundAudioPlayerState | 
1.9.6 | 
wx.getBeacons | 
1.9.6 | 
wx.getBluetoothAdapterState | 
1.9.6 | 
wx.getBluetoothDevices | 
1.9.6 | 
wx.getClipboardData | 
1.9.6 | 
wx.getConnectedBluetoothDevices | 
1.9.6 | 
wx.getImageInfo | 
1.9.6 | 
wx.getLocation | 
1.9.6 | 
wx.getNetworkType | 
1.9.6 | 
wx.getRecorderManager | 
1.9.94 | 
wx.getScreenBrightness | 
1.9.6 | 
wx.getStorage | 
1.9.6 | 
wx.getStorageSync | 
1.9.6 | 
wx.getSystemInfo | 
1.9.6 | 
wx.getSystemInfoSync | 
1.9.6 | 
wx.hideLoading | 
1.9.6 | 
wx.hideToast | 
1.9.6 | 
wx.makePhoneCall | 
1.9.6 | 
wx.makeVoIPCall | 
1.9.6 | 
wx.notifyBLECharacteristicValueChange | 
1.9.6 | 
wx.notifyBLECharacteristicValueChanged | 
1.9.6 | 
wx.onAccelerometerChange | 
1.9.6 | 
wx.onBLECharacteristicValueChange | 
1.9.6 | 
wx.onBLEConnectionStateChange | 
1.9.6 | 
wx.onBLEConnectionStateChanged | 
1.9.6 | 
wx.onBackgroundAudioPause | 
1.9.6 | 
wx.onBackgroundAudioPlay | 
1.9.6 | 
wx.onBackgroundAudioStop | 
1.9.6 | 
wx.onBeaconServiceChange | 
1.9.6 | 
wx.onBeaconUpdate | 
1.9.6 | 
wx.onBluetoothAdapterStateChange | 
1.9.6 | 
wx.onBluetoothDeviceFound | 
1.9.6 | 
wx.onCompassChange | 
1.9.6 | 
wx.onNetworkStatusChange | 
1.9.6 | 
wx.onUserCaptureScreen | 
1.9.6 | 
wx.openBluetoothAdapter | 
1.9.6 | 
wx.openLocation | 
1.9.6 | 
wx.pauseBackgroundAudio | 
1.9.6 | 
wx.pauseVoice | 
1.9.6 | 
wx.playBackgroundAudio | 
1.9.6 | 
wx.playVoice | 
1.9.6 | 
wx.previewImage | 
1.9.6 | 
wx.readBLECharacteristicValue | 
1.9.6 | 
wx.removeStorage | 
1.9.6 | 
wx.removeStorageSync | 
1.9.6 | 
wx.reportAnalytics | 
1.9.6 | 
wx.request | 
1.9.6 | 
wx.saveImageToPhotosAlbum | 
1.9.6 | 
wx.saveVideoToPhotosAlbum | 
1.9.6 | 
wx.scanCode | 
1.9.6 | 
wx.seekBackgroundAudio | 
1.9.6 | 
wx.setClipboardData | 
1.9.6 | 
wx.setKeepScreenOn | 
1.9.6 | 
wx.setScreenBrightness | 
1.9.6 | 
wx.setStorage | 
1.9.6 | 
wx.setStorageSync | 
1.9.6 | 
wx.showActionSheet | 
1.9.6 | 
wx.showLoading | 
1.9.6 | 
wx.showModal | 
1.9.6 | 
wx.showToast | 
1.9.6 | 
wx.startAccelerometer | 
1.9.6 | 
wx.startBeaconDiscovery | 
1.9.6 | 
wx.startBluetoothDevicesDiscovery | 
1.9.6 | 
wx.startCompass | 
1.9.6 | 
wx.startRecord | 
1.9.6 | 
wx.stopAccelerometer | 
1.9.6 | 
wx.stopBackgroundAudio | 
1.9.6 | 
wx.stopBeaconDiscovery | 
1.9.6 | 
wx.stopBluetoothDevicesDiscovery | 
1.9.6 | 
wx.stopCompass | 
1.9.6 | 
wx.stopRecord | 
1.9.6 | 
wx.stopVoice | 
1.9.6 | 
wx.uploadFile | 
1.9.6 | 
wx.vibrateLong | 
1.9.6 | 
wx.vibrateShort | 
1.9.6 | 
wx.writeBLECharacteristicValue | 
1.9.6 |