Idea

brendan avatar image
brendan suggested

Player Messaging

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

4 Comments

·
brendan avatar image
brendan commented

Mihael
started a topic on Tue, 15 September 2015 at 12:34 AM

I'd like to request a messaging feature. I've asked about the best way to implement this currently in this thread, and the given proposal about each user having their own shared group used for messaging is heavily lacking, currently you can't have messaging if the players aren't friends with one another (both ways), and you can't even check if this is true because you can't know if the friendship is bidirectional.

Proposal #1 - ListSharedGroups

One way to implement messaging based on the given proposal is to implement the call to retrieve all the shared groups a user is in. That way when you add a friend, you can add him to your private shared group, he will know he's in a group and he can check for messages you exchange messages via the groups data.

I think this call is mandatory (independent of the messaging system), because when a user gets added to a group he doesn't know what group he's been added to, and there is no way of knowing. Also, without messaging, a scenario where a user requests to join a group is very complicated.

Proposal #2 - ListSharedGroups via GetUserCombinedInfo

Same as the above, but the shared groups list can also be retrieved via the GetCombinedInfo.

Proposal #3 - Shared Groups Join Permissions

Add join permissions to shared groups. A shared group can be open or closed - if the group is open, anyone can join the group via a AddSharedGroupMembers call. A closed group works as it works now - only group members can add other users. That way users can invite themselves to another users group.

Proposal #4 - Player Messaging System

Previous proposals are all complicated on the client side - the client has to have a message format which includes the sender, timestamp and body. When checking for new messages he needs to check all the groups he's in for messages directed to him, aggregate those messages into conversations and sort them by timestamp. Also a lot of little nuances dealing with concurrency (more users writing data under the same key). Also when adding and removing friends you have to manage your membership in your private group and the friends groups. This comes down that checking for new messages, friending and unfriending are costly operations taking more than a few API calls.

Also there is the question of privacy. Since everyone can read the users messages when he's in their group, there is no privacy at all. Every friend can read all messages in your private group.

I'd be happy with proposals 1-3 for the time being, but a lot of PlayFab features are very hard to implement reasonably without some sort of messaging system, or your own backend (which is why I came here, so I didn't have to write my own).

So I propose a new Player Messaging feature that can check whether you have new messages after a certain timestamp in one API call, and can retrieve messages sent and received (since a timestamp) by the local user. A message should have the sender and the reciever PlayFabId's, timestamp when it was sent and it's body.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Planet 316 avatar image
Planet 316 commented

Currently trying to implement a messaging system and encountering the same issues outlined above.

The ability to make a call to get all of the shared groups a user belongs to is especially important!

 

 

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

niclas-aberg avatar image
niclas-aberg commented

Would love to see this too. My use case is notifying the player that was added as a friend, so they can add you back if they want.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Mitch Howard avatar image
Mitch Howard commented

I definitely like #4. I would also say messaging should be an integral part of lobbies too with options to send a private/public member-to-member message within the lobby.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write a Comment

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Your Opinion Counts

Share your great idea, or help out by voting for other people's ideas.

Related Ideas