日前有提到易讯LV品牌“对接”微信小程序的案例,用户也可以跳转到陌陌迷你程序
直接通过易讯App,此举无疑是未来在公有领域流量和私域流量之间开放陌陌及各种App的创新举措,也就是说微信平台将打开各大电商平台App和小程序之间的生态环境,将改变为公私域流量的融合, 这也意味着,传统电商门店将迎来新的商业模式。创造更大利润的“无限功能”,让我们看看陌小程序对接电商平台的“公域流量”,又会创造怎样的无限可能?一起来了解一下吧!
打造全新商业模式,解决私域流量运营难题
想象一下,它是
很有可能会借助传统电商平台已有的公域流量直接导出到陌陌小程序商城,从而形成转化,这意味着陌陌小程序开发完成后,要先面对私域流量
运营引流问题可以直接通过原有公有领域流量来满足小程序商城的用户流量问题。
创建一个新的
用户体验并建立新的可访问性平台
而且,当用户步入APP使用时,点击步入陌陌小程序,
整个过程不会有“障碍”小程序链接到网站,让用户觉得一招就会有好奇心,看小程序,也为用户在使用 App 时创造了全新的用户体验,而对于在 APP 中嵌入小程序的商店来说,相当于完善了一个没有任何障碍的新平台, 那么就可以操作陌陌小程序来丰富APP中的用户体验了。
创造电子商务未来趋势将开放平台互通
同时,我们可以回想起,2019年科技信息、仙域和淘宝特惠加入陌陌小程序平台和三星嵌入式小程序入口,不少小型电商平台都在整合陌陌小程序,优化公有领域流量整合,在引入小程序构建私域流量电子商务新商业模式小程序链接到网站, 并开放APP与小程序互联互通,释放陌陌入口,这也将成为未来电商人群的新发展趋势。
我
还是用过很多次小程序蓝牙,还没做总结,明天就总结一下,来一个完整的教程,介绍从初始配置到加入的全过程。文字有点窄,请指正
蓝牙硬件通知条件
服务ID设备ID用于蓝牙搜索范围,启用广播,启用数据传输等位置
特征Id 特征值 ID 主要用于打开和使用蓝牙搜索范围、开放广播、启用数据传输等场所
注意:serviceId 和 characteristicId
主要用在开播和蓝牙数据传输,应该是硬件方面会直接给你,开播和数据传输可能是同一个业务Id下不同的特性Id,也可能是两个服务Id,两个特性Id,请注意查看,我在同一服务Id下使用不同的特性Id。
一、初始数据
data: { serviceId: '0000A002-0000-1000-8000-00805F9B34FB', characteristicId: '0000C305-0000-1000-8000-00805F9B34FB', //notify的特征值 WcharacteristicId: '0000C304-0000-1000-8000-00805F9B34FB', //write的特征值 connectMac : '', //蓝牙的deviceId
}
二、初始化蓝牙和适配器
//关闭蓝牙模块、释放蓝牙资源,保证连接顺畅 closeBluetoothAdapter(){ var that = this wx.closeBluetoothAdapter({ complete(){ that.openBluetoothAdapter() } }) },
//初始化蓝牙 openBluetoothAdapter:function(){ var that =this; // 蓝牙连接 wx.openBluetoothAdapter({ success: function (res) { that.getBluetoothAdapterState(); }, fail: function (res) { console.log(res); wx.showModal({ title: '提示', content: '请您打开蓝牙或检查微信是否授权蓝牙', confirmColor: '#00b6b5', showCancel: false, success(res) { } }) } }) },
注意:这里会决定是否打开蓝牙,在iOS中还会有另外一个失败的情况,那就是蓝牙没有授权给陌陌,所以陌陌不能使用蓝牙。开启授权的方式是:点击【设置】-【隐私】-【蓝牙】-【微信】即可开启。
getBluetoothAdapterState: function () { var that = this; wx.getBluetoothAdapterState({ success: function (res) { if(!res.discovering){ that.startBluetoothDevicesDiscovery(); } if(!res.available){ wx.showModal({ title: '提示', content: '当前蓝牙适配器不可用', confirmColor: '#00b6b5', showCancel: false, success(res) { } }) } }, fail:function(res){ wx.showModal({ title: '提示', content: '适配蓝牙失败', confirmColor: '#00b6b5', showCancel: false, success(res) { } }) } }); },
三、搜索周边蓝牙
蓝牙搜索一共有两种方式,第一种是一次性查询,第二种是连续窃听上传,两种方式各有优缺点,这取决于你需要使用哪一种
//搜索设备 startBluetoothDevicesDiscovery: function () { var that = this; wx.startBluetoothDevicesDiscovery({ services: [that.data.serviceId], allowDuplicatesKey: false, success: function (res) { console.log('蓝牙获取列表成功'); // 第一种方法,需要给一点搜索时间 setTimeout(()=>{ that.getBluetoothDevices(); },500) //第二种方法 that.onBluetoothDeviceFound(); }, fail:function(res){ wx.showModal({ title: '提示', content: '搜索蓝牙设备失败' }) } }) },
这里使用的 serviceId 范围有限,会自行显示小程序,其他排除项,可以省略
第一种方式
// // 获取所有已发现的设备 getBluetoothDevices: function () { var that = this; wx.getBluetoothDevices({ success(res){ var BluetoothDataList = that.data.BluetoothDataList; //数据列表,可以自己定义 res.devices.forEach(item => { var buff = item.advertisData; //获取蓝牙的广播数据 var arrayBuff = Array.prototype.map.call(new Uint8Array(buff), x => ('00' + x.toString(16)).slice(-2)).join(':'); arrayBuff = arrayBuff.toUpperCase() //将数据处理了获取macId item.noteName = arrayBuff?arrayBuff:item.deviceId; //将macId放进列表里面 BluetoothDataList.push(item); }) that.setData({ BluetoothDataList : BluetoothDataList }) } }) },
第二种方式小程序链接到网站,通常 Android 蓝牙 deviceId 是 macId,而 ios deviceId 是一串乱码,很长,不容易排版,所以我会用硬件调试小程序链接到网站,在广播中添加 macId,以确保小程序显示更令人满意(通常蓝牙也会在广播中插入 macId)。
// // 获取所有已发现的设备 onBluetoothDeviceFound: function () { var that = this; wx.onBluetoothDeviceFound((res) => { var BluetoothDataList = this.data.BluetoothDataList;//数据列表,可以自己定义 res.devices.forEach(item => { var buff = item.advertisData;//获取蓝牙的广播数据 var arrayBuff = Array.prototype.map.call(new Uint8Array(buff), x => ('00' + x.toString(16)).slice(-2)).join(':'); arrayBuff = arrayBuff.toUpperCase()//将数据处理了获取macId item.noteName = arrayBuff?arrayBuff:item.deviceId;//将macId放进列表里面 BluetoothDataList.push(item); }) that.setData({ BluetoothDataList : BluetoothDataList }) }) },
停止蓝牙搜索,此通话根据
不同情况在不同的地方进行,第一种情况下,通话完成后直接拨打,第二种情况,连接蓝牙后关闭搜索
// //停止搜索周边设备 lanya5: function () { wx.getBluetoothAdapterState({ success: function (res) { if(res.discovering){ wx.stopBluetoothDevicesDiscovery({ success: function (res) { console.log("蓝牙停止搜索") } }) } } }) },
4. 设备连接
列表关闭后,单击以连接设备
//连接设备 connectTO: function (mac,num=0) { var that = this; return new Promise((reslove,rejcts)=>{ wx.showLoading({ title: '连接中', }) wx.createBLEConnection({ deviceId: mac.deviceId, success: function (res) { wx.hideLoading(); that.setData({ connectMac : mac.deviceId }) let sys = wx.getSystemInfoSync() that.lanya6(); reslove() wx.onBLEConnectionStateChange(function(res) { // 该方法回调中可以用于处理连接意外断开等异常情况 console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`) if(!res.connected){ that.connectTO(mac); clearInterval(timer) timer = null } }) }, fail: function (res) { wx.hideLoading() if(num < 3){ that.connectTO(mac,++num); }else{ wx.showModal({ title : '提示', content : '蓝牙连接失败', cancelText : '重新连接', confirmText : '返回首页', success(res){ if(res.confirm){ wx.switchTab({ url: '/pages/mainIndex/index', }) } if(res.cancel){ that.connectTO(mac); } } }) } rejcts(); } }) }) },