uniapp アプレット - プライバシー規約保護ガイドライン アクセス チュートリアル


前書き : 公式発表では、2023 年 9 月 15 日以降、ユーザーの個人情報の処理に関与するミニ プログラム開発者は、開発者がユーザーがプライバシー保護ガイドラインを読み、同意したプラットフォームに情報を積極的に同期する場合に限り、ミニプログラムおよびその他の情報処理 ルールを設定した後、WeChat が提供するプライバシー インターフェイスを呼び出すことができます。
したがって 、9 月 15 日までに、ユーザーのプライバシーに関連するミニプログラムを修正する必要があります。修正しないと、一部のプライバシー関連機能の使用が停止されます。

関連するプライバシー インターフェイス:ミニ プログラムの概要 ユーザー プライバシー保護ガイドライン
公式文書:ミニ プログラム プライバシー契約開発ガイド

注: 公式開発ガイドに基づくと、2 つの処理ソリューションがあります。1 つはアクティブ クエリで、もう 1 つはパッシブ モニタリングです。私はプロジェクトでパッシブ モニタリングを使用しています。具体的な実装計画は以下に示されています。独自の方法に従って実行できます。ニーズの開発。

前提:__usePrivacyCheck__: true

  1. 2023 年 9 月 15 日より前に、 app.json で設定した後、__usePrivacyCheck__: trueプライバシー関連の機能が有効になります。設定されていない場合、または false に設定されている場合は、有効になりません。
  2. 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 がサポートできることを願っています~

おすすめ

転載: blog.csdn.net/m0_58953167/article/details/132743254