あなたの世界を作りなさい
ソーシャル
ダイレクトメッセージ送信API
13分
zepeto world内の他のユーザーにダイレクトメッセージを送信するには、send direct message(dm) apiを使用できます。 起動されたワールドでダイレクトメッセージ(dm)送信apiを使用すると、メッセージの下部にワールドに入るためのリンクが自動的に提供され、ワールドのプロモーションに適しています。 使用する際は、必ず注意事項に従ってください。 インストール window → package manager → zepeto world package まずバージョン1 21 14以上をインストールしてください。 その後、バージョン1 0 7以上の‘zepeto module’パッケージをインストールしてください。 zepetoアプリがバージョン3 46 000以上で動作していることを確認してください。 ダイレクトメッセージapiを送信 send dm apiを使用するには、以下のインポート文を追加してください。 import { socialservice } from 'zepeto module social'; dm送信のコア機能 宣言 public static openpopupdirectmessage($sendmessage string, $userids? string\[], $oncomplete? system action$1)\ void; パラメータ パラメータ 説明 sendmessage これは必須のパラメータです。これは送信したいメッセージの本文です。空白または空の場合、送信は失敗と見なされます。 userids これはオプションのパラメータです。 useridsを渡すと \ 選択uiは対応するユーザーidリストで構成されます。 useridsが渡されない場合や空のリストが渡された場合 \ 選択uiはメッセージを送信するユーザーのフォロー/フォロワーリストで構成されます。 oncomplete これはメッセージの送信が完了したときまたは失敗したときに呼び出されるコールバックです。 ダイレクトメッセージポップアップ状態 応答 説明 キャンセル ポップアップが手動で閉じられた場合、または送信が失敗した場合。 送信完了 送信リクエストが完了し、閉じるとき。 エラーコードによる状況 応答 説明 31002 ユーザーidリストに存在しないユーザーidが1つ以上含まれている場合に発生します。 37011 ゲストアカウントでメッセージを送信しようとしたときに発生します。 8001 同じメッセージを繰り返し送信し続けると発生します。10秒ごとに1回送信できます。 2001 ‘送信’フィールドのメッセージ内容が空であるか、スペースのみを含むか、1000文字を超える場合に発生します。 0 ネットワーク接続エラーのケース(ネットワーク切断、接続不安定、その他一般的なエラー状況など)。 1 特定できないエラー。 使用例 送信者を直接入力して送信 1\) dm送信ボタンをキャンバスに追加してください。 2\) 以下のようにサンプルコードを書いてください。 import { zepetoscriptbehaviour } from 'zepeto script'; import { socialservice, directmessagepopupstate } from 'zepeto module social'; import { button } from "unityengine ui"; import { worldservice } from 'zepeto world'; export default class senddirectmessage extends zepetoscriptbehaviour { // 直接メッセージを格納する変数 public message string; // 直接メッセージを送信するユーザーidの配列 public userids string\[]; // ボタンuiコンポーネントへの参照 public senddmbutton button; start() { this senddmbutton onclick addlistener(() => { // 自分のidがuserids配列に含まれているか確認し、含まれていれば戻る if (this userids includes(worldservice userid)) { console log("useridsに自分のuseridが含まれています"); return; } // socialserviceを使用して直接メッセージを送信するポップアップを開く socialservice openpopupdirectmessage(this message, this userids, (popupstate directmessagepopupstate) => { // 直接メッセージポップアップの状態を確認 if (popupstate === directmessagepopupstate cancel) { console log("ポップアップを閉じたか、メッセージの送信に失敗しました"); } else if (popupstate === directmessagepopupstate sendcomplete) { console log("dmメッセージが正常に送信され、ポップアップが閉じました。"); } }); }); } } 3\) スクリプトを書いた後、unityエディタに戻り、インスペクタでボタンをドラッグして設定します。メッセージ本文とターゲットユーザーのuseridを入力してください。 uiには最大20人が表示されるので、最大20人を入力してください。 4\) dm送信ボタンを押すと、友達リストのuiが表示されます。 対象ユーザーを選択して、送信をクリックします。 5\) dmの送信が成功すると、成功を示すトーストuiが表示され、サンプルスクリプトによってログが出力されます。 6\) また、targetuserにdmが届きました。 エラーが発生した場合、例えばメッセージを連続して送信したり、メッセージ内容が空である場合、dmの送信は失敗として処理されます。 次の/フォロワーリストuiを使用して送信 1\) キャンバスにボタンを追加してください。 2\) 以下のようにサンプルコードを書いてください。 空のリストをtargetuseridパラメータに渡すと、次の/フォロワーリストuiが表示されます。 import { zepetoscriptbehaviour } from 'zepeto script'; import { socialservice, directmessagepopupstate } from 'zepeto module social'; import { button } from "unityengine ui"; export default class senddirectmessage extends zepetoscriptbehaviour { // 直接メッセージを格納する変数 public message string; // ボタンuiコンポーネントへの参照 public senddmbutton button; // ユーザーidの配列を格納するプライベート変数、初期値はnull private emptyids string\[]; start() { this senddmbutton onclick addlistener(() => { // socialserviceを使用して直接メッセージを送信するポップアップを開く // クラスのメッセージ内容と空のユーザーid配列を使用 socialservice openpopupdirectmessage(this message, this emptyids, (popupstate directmessagepopupstate) => { // 直接メッセージポップアップの返された状態を確認 if (popupstate === directmessagepopupstate cancel) { console log("ポップアップを閉じたか、メッセージの送信に失敗しました"); } else if (popupstate === directmessagepopupstate sendcomplete) { console log("dmメッセージが正常に送信され、ポップアップが閉じました。"); } }); }); } } 3\) スクリプトを書いた後、unityエディタに戻り、インスペクタでボタンをドラッグして設定します。それからメッセージの本文を入力してください。 4\) dm送信ボタンを押すと、フォロー/フォロワーuiが表示されます。 ターゲットユーザーを選択して送信をクリックします。(最大5人まで選択可能) 一度に最大5人にdmを送信できます。 自分にdmを送信することはできません。 実際のフォロー/フォロワーの数は、dm送信ポップアップに表示されるユーザー数と異なる場合があります。 選択可能なユーザーがフィルタリングされて表示されるためです。 dmの受信をブロックしているユーザーを選択すると、それは失敗として扱われ、dmは送信されません。 send dm apiを頻繁に呼び出すと、制限され、送信が失敗します。 10秒ごとに1回送信できます。無差別にdmを送信しないように注意してください。 送信するメッセージにurlが含まれている場合、正しく動作しないため、urlを含むメッセージの送信は禁止されています。 送信されるメッセージが空白または空である場合、それは失敗として扱われます。メッセージの内容を必ず記入してください。