①ユーザーが不快なコンテンツにフラグを立てるメカニズム②-ユーザーが不正行為を行うユーザーをブロックするメカニズム

adaloで開発を進めており、アップルの申請にしているのですが、審査に落ちてしまいます。
以下の2点について、どのように実装したらいいかわかっておらず、参考のアプリのイメージなどがあれば教えていただきたいです。

①ユーザーが不快なコンテンツにフラグを立てるメカニズム
→こちらについて意味がわかっておらず、参考のアプリの機能があれば教えていただけますでしょうか。

②- ユーザーが不正行為を行うユーザーをブロックするメカニズム
→こちらはブロック機能は作ったのですが、リストに表示されてしまいます。(実質的にブロックなっていない。)リストに特定のユーザーを表示させない方法があれば教えていただきたいです。

TwitterやFacebookなどにも1、2共に同様の機能が実装されていますので、参考アプリとしてはこれらがよいかと思います。

先に記載した実装の方法に少し使いにくい部分があったので、修正しました

1.の非表示
2.のブロック
共にDB構造は似ており、
User Collectionに下記のカラムを新設してください

  • Blocks(主体(Blockする側の意), 1:N)
  • Blocked By(目的のコンテンツ/ユーザ(Blockされる側の意),1:N)

BlockボタンのアクションにはLoggedin UserのBlocksに「Add Current User(Block対象がユーザの場合)」とCurrent User(またはコンテンツ)のBlocked Byに「Add Loggedin User(Block対象がユーザの場合)」を設定してください。

その上で、コンテンツ/ユーザを表示するListには、添付のようにBlocks、Blocked Byの両方にLoggedin Userが含まれていないUserのリストを表示する条件を表示してください。(Blockしていたら表示しないし、Blockされていても表示しないため)

「いいね!」 3

ありがとうございます!試してみます!

いまいち理解できておらず、申し訳ないのですが、以下の認識であっていますでしょうか。

  • Subject(主体, 1:N)
    →ユーザーのリレーションを作り、多対多ではなく、1対多のリレーションを作る。
    その後トグルにて、onの場合はユーザーのデータpropertyをアップデート、トグルoffの場合はユーザーのユーザーのデータpropertyを削除
    こちらは、トグルとボタンどっちでしょうか。

  • Object(目的のコンテンツ/ユーザ,1:N)

今回はSNSのような投稿のアプリになるので、(目的のコンテンツ/ユーザ,1:N)とは
投稿/ユーザーで1:多のリレーションを作る

  • 非表示/ブロックflg(真偽値)
    →リストでフィルターをかけるという意味でしょうか。

先に記載した実装の方法に少し使いにくい部分があったので、修正しました

「いいね!」 1

ありがとうございます!
何度も申し訳ありません。

2つご教示いただきたいのですが、
①フォローを解除する場合はどうしたらいいでしょうか。デリートだとアカウントごと削除してしまい、やり方がわからず教えていただきたいです。

②教えていただいた通り進めたのですが、リストのところで、添付の写真のようになってしまいます。リレーションの設定が間違っていますでしょうか。


image

  1. DeleteではなくRemoveアクションをご選択ください
  2. Relationが逆ですね。これややこしくて最初混乱しがちなんですが、ユーザコレクションに作る時は"ログインユーザから見て"ブロックする主体は1人で、する対象は複数いてよいのでNにします。
「いいね!」 2

ご返信ありがとうございます!
リレーションのところがうまくできず、画像を見していただくことはできますでしょうか。
逆のリレーションで設計しても、最終的に以下のリレーションになってしまいます。
何度も申し訳ございません。

ユーザ同士でブロックし合う機能はユーザ:ユーザの1:Nリレーションですが、ユーザとコンテンツ間でブロックする場合はユーザ:コンテンツで1:Nリレーションですよ?

「いいね!」 1

諸々時間を割いていただきありがとうございました。
無事、機能実装することできました!

「いいね!」 1