図のように、ニュース
公式ドキュメントを購読します:
Mini Program ニュース公式ドキュメントを購読
1. メッセージの種類
(1) ワンタイム購読メッセージ
ユーザーが個別に購読した後、開発者は対応するサービス メッセージを無期限に送信でき、各メッセージは個別に購読または購読解除できます。
(2) 長期メッセージ購読
ユーザーが一度購読すると、開発者は複数のメッセージを長期間送信することができます。
現在、長期購読ニュースは政務・民生、医療、交通、金融、教育などオフラインの公共サービスのみに公開されている。
(3) デバイス購読メッセージ
長期購読メッセージのタイプに属し、
WeChat によって認証された非個人主体アプレットを使用するには「デバイス アクセス」を完了する必要があります。スマート ハードウェアのメーカーまたは開発者向け
一般に、1 回限りのサブスクリプション メッセージで需要を満たすことができるため、ここでは主に 1 回限りのサブスクリプション メッセージについて説明します。
2. メインプロセス
(1). https://mp.weixin.qq.comアプレットのバックグラウンドにログインしてメッセージ テンプレートを取得し、適切なテンプレートがない場合は、新しいテンプレートの追加を申請できます。承認後使用可能となります。
(2). フロントエンドは、wx.requestSubscribeMessage(Object object)インターフェイスを呼び出して、クライアント アプレットを呼び出してメッセージ インターフェイスにサブスクライブし、ユーザーのサブスクリプション メッセージの操作結果を返します。
ユーザーが購読パネルで「常に上記の選択を保持し、再度質問しない」にチェックを入れると、テンプレート メッセージがユーザーのアプレット設定ページに追加され、関連するテンプレート メッセージに対するユーザーの購読ステータスをwx.getSetting インターフェース。
wx.getSetting
3. サーバーは、サブスクリプション メッセージを送信するインターフェイスを呼び出します。
詳細については、サーバー インターフェイスのsubmitMessage.sendを参照してください。
簡単な例:
//订阅消息
subscribe() {
let tmplId1 ='*********'//消息模板id1
let tmplId2 ='*********'//消息模板id2
wx.requestSubscribeMessage({
tmplIds: [tmplId1,tmplId2],
success: (res) => {
console.log(res,"订阅成功")
},
fail(err) {
console.log(err,"订阅失败")
}
})
}
予防
1. 認可ポップアップ ウィンドウは、ユーザーがクリックして表示する必要があります。たとえば、onload メソッド内で直接呼び出すことはできません。ポップアップ ウィンドウを表示する必要がある場所にクエリを作成できます。をクリックして承認を取得するようにユーザーを誘導します (または、承認をクリック イベントに追加します。たとえば、申請が正常に送信された後に [払い戻しの申請] をクリックするなど)。
ユーザーはイベントをクリックして、承認ワンタイム サブスクリプション ウィンドウをトリガーします。
2. 開発ツールは同時に 2 つのメッセージをサブスクライブしませんので、実際のデバイスで直接テストすることをお勧めします。
3. 一度に購読できるメッセージは 3 つまでです。永続メッセージとワンタイム メッセージを同時に購読することはできません。
**
拡張(カプセル化)
**
/**
* 订阅消息
* @param {
Array } [tmplIds]
* @returns {
Promise<Object> }
*/
export const subscribeMessage = (tmplIds = []) => {
console.log('tmplIds',tmplIds);
return new Promise((resolve, reject) => {
wx.requestSubscribeMessage({
tmplIds,
success(res) {
// 订阅成功
if (res[tmplIds[0]] === 'accept'||res[tmplIds[1]] === 'accept') {
resolve(res)
} else {
reject(res)
}
},
fail: reject
})
})
}
認可の成功と失敗に関連するコールバック