記事ディレクトリ
前書き : 公式発表では、2023 年 9 月 15 日以降、ユーザーの個人情報の処理に関与するミニ プログラム開発者は、開発者がユーザーがプライバシー保護ガイドラインを読み、同意したプラットフォームに情報を積極的に同期する場合に限り、ミニプログラムおよびその他の情報処理 ルールを設定した後、WeChat が提供するプライバシー インターフェイスを呼び出すことができます。
したがって 、9 月 15 日までに、ユーザーのプライバシーに関連するミニプログラムを修正する必要があります。修正しないと、一部のプライバシー関連機能の使用が停止されます。
関連するプライバシー インターフェイス:ミニ プログラムの概要 ユーザー プライバシー保護ガイドライン
公式文書:ミニ プログラム プライバシー契約開発ガイド
注: 公式開発ガイドに基づくと、2 つの処理ソリューションがあります。1 つはアクティブ クエリで、もう 1 つはパッシブ モニタリングです。私はプロジェクトでパッシブ モニタリングを使用しています。具体的な実装計画は以下に示されています。独自の方法に従って実行できます。ニーズの開発。
前提:__usePrivacyCheck__: true
- 2023 年 9 月 15 日より前に、 app.json で設定した後、
__usePrivacyCheck__: true
プライバシー関連の機能が有効になります。設定されていない場合、または false に設定されている場合は、有効になりません。 - 2023 年 9 月 15 日以降、
__usePrivacyCheck__
app.json に構成があるかどうかに関係なく、プライバシー関連の機能が有効になります。
したがって、9 月 15 日より前にこの関数をデバッグする場合は、設定する必要があります __usePrivacyCheck__: true
。uniapp プロジェクトには次の例があります。
ステップ 1. ポップアップ コンポーネントをカプセル化する
: このプロジェクトは uniapp で書かれており、プライバシー同意ポップアップ コンポーネントをカプセル化しています。どのページを直接導入する必要がありますか? 新しい showPrivacyAgreement.vue コンポーネントを作成します。showPrivacyAgreement.vue
ファイル
<template>
<uni-popup ref="privacyPopup" type="center" :is-mask-click="true">
<view class="privacyPopup">
<view class="title">
<view class="title_circle"></view>
<view>惠享服务圈</view>
</view>
<view class="content_pri">
<text>在你使用【惠享服务圈】服务之前,请仔细阅读</text>
<text style="color: #1793ee;" @click="goToPrivacy">《惠享服务圈小程序隐私保护指引》</text>。
<text>如你同意惠享服务圈小程序隐私保护指引,请点击“同意”开始使用【惠享服务圈】。</text>
</view>
<view class="pri_btn">
<button class="confuse_btn" @click="confusePrivacy">拒绝</button>
<button class="confirm_btn" id="agree-btn" open-type="agreePrivacyAuthorization" @agreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
</view>
</view>
</uni-popup>
</template>
<script>
export default {
data(){
return{
}
},
methods:{
init(resolve){
this.$refs.privacyPopup.open()
this.resolvePrivacyAuthorization = resolve
},
// 打开隐私协议
goToPrivacy(){
wx.openPrivacyContract({
success: () => {
console.log('打开成功');
}, // 打开成功
fail: () => {
uni.showToast({
title:'打开失败,稍后重试',
icon: 'none'
})
} // 打开失败
})
},
// 拒绝
confusePrivacy(){
this.$refs.privacyPopup.close()
this.resolvePrivacyAuthorization({
event:'disagree' })
},
// 同意
handleAgreePrivacyAuthorization(){
// 告知平台用户已经同意,参数传同意按钮的id
this.resolvePrivacyAuthorization({
buttonId: 'agree-btn', event: 'agree' })
this.$refs.privacyPopup.close()
}
}
}
</script>
<style>
*{
box-sizing: border-box;
}
.privacyPopup{
width: 520rpx;
/* height: 500rpx; */
background-color: #fff;
border-radius: 50rpx;
padding: 20rpx 40rpx;
}
.title{
display: flex;
align-items: center;
justify-content: start;
margin: 20rpx 0;
font-size: 38rpx;
font-weight: 600;
}
.title .title_circle{
width: 60rpx;
height: 60rpx;
background-color: #efefef;
border-radius: 50%;
margin-right: 20rpx;
}
.content_pri{
width: 480rpx;
margin: 0 auto;
font-size: 34rpx;
line-height: 1.5;
}
.pri_btn{
width: 100%;
height: 158rpx;
display: flex;
align-items: center;
justify-content: space-evenly;
}
.pri_btn .confuse_btn,.pri_btn .confirm_btn{
width: 200rpx;
height: 90rpx;
border-radius: 20rpx;
font-size: 34rpx;
}
.pri_btn .confuse_btn{
background-color: #eee;
color: #52bf6b;
}
.pri_btn .confirm_btn{
background-color: #52bf6b;
color: #fff;
}
</style>
ステップ 2. 単一ページのリファレンス
注意: ユーザーのプライバシーを取得する必要があるすべてのページには、プライバシー ポップアップ ウィンドウを導入する必要があります。ユーザーが同意ボタンをクリックすると、他のページがプライバシーの取得を希望するときにポップアップ ウィンドウが再度表示されなくなります。拒否した場合は、プライバシー ポップアップ ウィンドウが表示されます。プライバシーを確保する必要があるすべてのページ。ポップアップ ウィンドウで確認します。
2 つの方法のいずれかを選択するだけです。
1. パッシブモニタリング
用到的接口:
wx.onNeedPrivacyAuthorization:监听何时需要提示用户阅读隐私政策
wx.openPrivacyContract:跳转到隐私协议页面
以下では、ページの導入を説明しますが、プライバシーに役立つ他のページも同様の方法で導入できます。
<template>
<view>
<!-- 隐私协议弹窗 -->
<showPrivacyAgreement ref="showPrivacy" :visible.sync="privacyVisible"></showPrivacyAgreement>
</view>
</template>
<script>
import showPrivacyAgreement from '../components/showPrivacyAgreement.vue'
export default {
components: {
showPrivacyAgreement
},
data() {
return {
privacyVisible: false,
}
},
onShow(){
if(wx.onNeedPrivacyAuthorization){
wx.onNeedPrivacyAuthorization(resolve => {
// 需要用户同意隐私授权时
// 弹出开发者自定义的隐私授权弹窗
this.privacyVisible = true
this.resolvePrivacyAuthorization = resolve
this.$refs.showPrivacy.init(resolve)
})
return
}
},
}
</script>
この方法の効果は、フォト アルバムを取得する場合など、ページ上でプライバシー アクセスが必要なインターフェイスをクリックすると、ウィンドウが自動的にポップアップし、同意した場合にのみフォト アルバムを取得できることです。
レンダリング:
注: 青いフォントの同意書をクリックすると、独自のミニ プログラムのプライバシー同意書保護ガイド ページに自動的にジャンプします。
2. 積極的な問い合わせ
用到的接口:
wx.onNeedPrivacyAuthorization:查询隐私授权情况
wx.openPrivacyContract:跳转到隐私协议页面
<template>
<view>
<!-- 隐私协议弹窗 -->
<showPrivacyAgreement ref="showPrivacy" :visible.sync="privacyVisible"></showPrivacyAgreement>
</view>
</template>
<script>
import showPrivacyAgreement from '../components/showPrivacyAgreement.vue'
export default {
components: {
showPrivacyAgreement
},
data() {
return {
privacyVisible: false,
}
},
onShow(){
wx.getPrivacySetting({
success: res => {
console.log(res)
if (res.needAuthorization) {
// 需要弹出隐私协议
this.privacyVisible = true
this.$refs.showPrivacy.init()
}
},
fail: () => {
}
})
},
}
</script>
説明: ページに入るとき、wx.getPrivacySetting インターフェースを呼び出して次のコンテンツを取得します。needAuthorization を使用して、ユーザーが同意するプライバシー・ポリシー情報を持っているかどうかを判別します。ユーザーが許可していない場合は、true を戻します。クリックして同意すると false が返され、true の場合は確認のポップアップ ウィンドウが表示されます。
注: アクティブなクエリ インターフェイスの場合、ユーザーがクリックして拒否すると、その後の関連インターフェイスへの呼び出しは失敗します。そのため、ユーザーがクリックして拒否すると、ミニ プログラムを直接終了するか、ホームページに戻って、ユーザーに次のメッセージを表示することができます。拒否された場合などは使用できません。
ヒント: 上記のインターフェイスは、WeChat 開発者ツールの基本ライブラリのバージョンが 2.32.3 以降に達した場合にのみ呼び出すことができます。
メッセージ: できるだけ早くデバッグに来てください。すぐにオンラインになります。わからないことがあれば、コメント領域にメッセージを残して、一緒に話し合いましょう。役に立った場合は、Sanlian がサポートできることを願っています~