uniapp:打包ios配置隐私协议框
使用uniapp打包ios 上架商店需要配置隐私协议政策弹窗。当用户点击确定后才能继续操作。
首先manifest.json中配置使用原生隐私政策提示框是不支持ios的。不用勾选。
解决思路:
1、新建页面:iosLogin.vue,pages.json中 这个页面需要放在第一位
服务协议和隐私政策 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。你可阅读 《服务协议》和 《隐私政策》 了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。 不同意并退出 同意 export default { data() { return { refCode:'' } }, onLoad(option) { if (option.refCode) { this.refCode = option.refCode; uni.setStorageSync('refCode', option.refCode); } }, methods:{ linkClick(num) { if(num == 1){ let name1 = encodeURIComponent('用户协议') plus.runtime.openURL(`https://h5.******.com.cn/pages/login/xieyi?title=${name1}&type=user_agreement`) }else{ let name2 = encodeURIComponent('隐私政策') plus.runtime.openURL(`https://h5.******.com.cn/pages/login/xieyi?title=${name2}&type=privacy_agreement`) } }, agree() { uni.setStorageSync('agree', 1) // 设置缓存,下次进入应用不再弹出 this.$go(4,'/pages/index/index?refCode='+this.refCode); // 跳转首页 }, disagree(){ // #ifdef APP-PLUS plus.ios.import("UIApplication").sharedApplication().performSelector("exit") // #endif } } } page { background: url('../../static/1.png')no-repeat left top #fff; background-size: 750rpx 1334rpx; position: relative; z-index: 2; .bg{ position: fixed; left: 0; top: 0; z-index: -1; background: rgba(0, 0, 0, .5); width: 750rpx; height: 100vh; } } // 弹窗样式 .dialog { margin: 0 auto; margin-top: calc(30vh); width: 600rpx; border-radius: 16rpx; background-color: #fff; .title { text-align: center; line-height: 80rpx; font-size: 32rpx; font-weight: 600; } .content { padding: 0 32rpx; text-indent: 1em; .link { color: #FF6840; } } .btn { display: flex; flex: 1; uni-button { margin: 0; flex: 1; background-color: #fff; } uni-button::after { border: none; } } }
app.vue
onLaunch: async function() { // #ifdef APP-PLUS const platform = uni.getSystemInfoSync().osName // 判断是不是ios,并且是否同意了隐私政策 let agree = uni.getStorageSync('agree') if (platform === 'android') { plus.navigator.closeSplashscreen() // 关闭启动页 } else { if(agree){ uni.reLaunch({ url: "/pages/index/index", success() { plus.navigator.closeSplashscreen() } }) }else{ console.log('ios第一次启动需要同意隐私政策'); // ios单独进行隐私政策验证 uni.navigateTo({ url: "/pages/login/iosLogin", success() { plus.navigator.closeSplashscreen() } }) } } // #endif },
提示:如果项目有用到消息提示类的功能,在确认隐私政策前可能会有弹窗提示 是否接收APP消息,这个不影响上架。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。