question

appgame avatar image
appgame asked

GetMatchmakingTicket

"You are blocking your own pipeline list to enable my multiplayer game."

For Status: "WaitingForMatch" and Status: "Matched"

Get Matchmaking Ticket Return only returns 1 single player in the list of Users that have joined this ticket on both devices

#1,
2 Player Match or higher has only one Member in the return.
I got the same result on both Android Java and Javascript.

#2,
I do not have a method of sending Push Messages without PlayFabId or DeviceToken.

#3,
fcm/notification has device groups on the app server that uses DeviceToken[i].
I need all Players DeviceToken[i] using this option.

#4,
Best guess. I need to use a for(i++){} loop to send out Player Moves to each devices using the PlayFabId[i] with Playfab "Server/Send Push Notification".

#5,
Would also be a good idea for me to pass the players Display Name in the Members[i].Attributes.DataObject as well without having to pass additional API calls to retrieve that information.

PlayFabIds[i] = Members[i].Attributes.DataObject.PlayFabId;

Playfab SendPushNotification,
function UpdatePlayerMove(){
   for(i=1;i<PlayFabIds.length;i++){
	BODY = {
	   "Recipient": PlayFabIds[i],
 	   "Package": {
 		"Message":"Moved Game Piece",
 		"Title":"title",
 	   }
	}

	/* Send Move To Each Device */
	ExecuteRequest( "Server/SendPushNotification", BODY )
   }
}


DeviceTokens[i] = Members[i].Attributes.DataObject.DeviceToken;

Multi-Device Firebase Push Messaging,
BODY {
   "operation": "create",
   "notification_key_name": "appUser",
   "registration_ids": [ DeviceTokens[0], DeviceTokens[1], DeviceTokens[2], DeviceTokens[3], DeviceTokens[4], DeviceTokens[5] ]
}

Thanks
Rob
matched-error.png (67.6 KiB)
1 comment
10 |1200

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

appgame avatar image appgame commented ·
Ideal,

4 | Players CreateMatchmakingTicket
4 | Players GetMatchmakingTicket
4 | Players GetMatch

	"MasterPlayerAccountId" is the same as "PlayFabId"
3 x 4 | Players GetProfile of each others "PlayFabID" from Entity.Id
3 x 4 | Players GetPlayerProfile for each DeviceToken
= 36 Requests.

RequestBody = {Attributes{ DataObject {"DeviceToken": DeviceToken} }}
- 12 Requests if GetProfile returns Data.Objects.DataObject.DeviceToken





Regs = DATA.PushNotificationRegistrations;

if( Platform.GoogleCloudMessaging != undefined ){
	DeviceToken = Regs.Platform.GoogleCloudMessaging;
}

if( Platform.ApplePushNotificationService != undefined ){
	DeviceToken = Regs.Platform.ApplePushNotificationService;
}




0 Likes 0 ·

1 Answer

·
Citrus Yan avatar image
Citrus Yan answered

You should use GetMatch to retrieve all the players that are matched together. And, could you please share us the basic flow of your game so that we can better understand your question? Thanks.

7 comments
10 |1200

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

appgame avatar image appgame commented ·
No.

#1,
I had a complete list of players that joined the GetMatchmakingTicket. 
This Option has now blocked in the GetMatchmakingTicketResult.

#2,
GetMatch provides data only for the Members[i].Entity.

#3,
Members[i].Entity does not provide the required DATA to implement Push Messages by using the PlayerfabId or DeviceToken.

#4,
As of today..
Profile/GetProfile POST will retrieve PlayerfabId from using the "Entity.Id" in the Request Body.
0 Likes 0 ·
Citrus Yan avatar image Citrus Yan appgame commented ·

So you mean members you added in "MembersToMatchWith" from CreateMatchmakingTicketRequest are not listed in "Members" from GetMatchmakingTicketResult, is that correct? In that case, did you have those members in "MembersToMatchWith" call JoinMatchmakingTicket to join the tickets? When they've joined the ticket, they'll be added to "Members" from GetMatchmakingTicketResult, here is the basic flow:

0 Likes 0 ·
matchmakingflow.png (87.1 KiB)
appgame avatar image appgame Citrus Yan commented ·

Never wrote "MembersToMatchWith"

Stuck on "PLAYER BASED MATCH PUSH MESSAGES" for a week now.


MembersToMatchWith Invites:

Would be included when and "IF" I can get into Player's friends UI.


0 Likes 0 ·
Show more comments
Citrus Yan avatar image Citrus Yan appgame commented ·

And, the Matchmaking system is suited for session based games, however, for your scenario, which is a turn based game where players call push messages to each other I assume. You may need additional work to implement it. Here are some threads on Turn Based game you may find helpful:

https://community.playfab.com/questions/364/206712437-Turn-based-game-Where-to-start.html

https://community.playfab.com/questions/6154/turn-based-game-data-storage.html

https://community.playfab.com/questions/515/207129407-Persistent-turn-based-games-.html

0 Likes 0 ·
appgame avatar image appgame Citrus Yan commented ·

The Key is to remove the all flags on my account and return back to include all Opponents in the GetMatchmakingTicketResult list like they were last Thursday.

" A list of Users that have joined this ticket "

0 Likes 0 ·
unbtitled.png (40.5 KiB)

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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