question

Scott Cameron avatar image
Scott Cameron asked

PlayStream Rules Custom Event Name wrong? Or Rule is not being triggered?

I have a Rule setup with the Triggering Event being a Custom event. The Custom event name I am using is: group_members_added

playfab-edit-rule-add-tag.gif

I want to execute a Cloud Script when a player is added as a member of a group (I believe I have the correct custom event name for this; as opposed to 'group_role_members_added' - well, it's just a guess really because neither has a description in the docs).

I have tried variants of the Custom event name with fully qualified event name added as well (the docs didn't mention this, so I just tried due to other forum posts that mentioned fully qualified names being required; although WritePlayerEvent method EventName does not require fully qualified name so I'm a bit confused):

com.playfab.group_members_added

title.F64D.group_members_added

I'm assuming it's not running because I have checked 'Publish results as PlayStream Event' and don't see it in PlayStream when a player is added to a group and the Cloud Script it is supposed to execute does not perform its task. (I'm assuming also that the AcceptGroupApplication method adds the player to the group and triggers the event.)

I'm hoping at this point that if it does trigger I don't have an error in the Cloud Script it's calling too. I'm still not sure, after reading other's forum posts, about where to see the log.debug() output visible in the Dashboard.

Thanks

entitiesPlayStream
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.

Seth Du avatar image Seth Du ♦ commented ·

Thank you for your report, we have recurred your issue. we will let you know if there is further information.

0 Likes 0 ·

1 Answer

·
brendan avatar image
brendan answered

The correct way to specify the Event in your Rule is with the "title.{ {Title ID}}" specification - I just did a test of that in my own test title, and it does appear to be working fine. Once you've made that change, if you're still having trouble with this, do you mind if we create a player in your title and test your specific Rule?

4 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.

brendan avatar image brendan commented ·

Quick follow-up: I overindexed on your statements about custom events. That's what I was answering - how to specify the correct format for a custom event.

What you're looking at doing is setting up a Rule that triggers on a non-player event, which isn't really supported yet. What you would need to do is post a custom event on the player (WritePlayerEvent) that you can use to run a Rule against.

We'll be broadening the Rules to provide for ways to run then based upon Entity level events in a future update.

0 Likes 0 ·
Jørgen Havsberg Seland avatar image Jørgen Havsberg Seland brendan commented ·

Documentation request: If this information could be made explicit on
https://api.playfab.com/docs/tutorials/landing-automation/playstream-rules
this would probably make for a smoother introduction for PlayFab newbies like myself.
Possibly also mention this limitation on
https://api.playfab.com/documentation/events/method/WriteEvents
Thanks.

1 Like 1 ·
Scott Cameron avatar image Scott Cameron commented ·

Thanks Brendan. Hmmm... okay, yeah, I tried testing this again and I don't see anything in Playstream indicating the custom event is firing, but that would seem to be true then based on what you said: this is running as a Title event and not a Player event? It's a bit confusing because the event is being run from a Player that is assigned as an Admin Role in the Group (so they are a Player entity but not the affected Player entity being added as a member to the group; I hope this is all making sense).

I was hoping to have this fully automated on the server - since I'm just having to assign a Tag to the Player as a workaround for not being able to create a Player segment based on an Entity Group.

So, for the time being then, I'll just use AddPlayerTag() on the client on a successful result to the IsMember() method when the Player opens the app - I wouldn't see any point in calling a PlayerEvent that calls a CloudScript that just calls AddPlayerTag() anyway. ^^

0 Likes 0 ·
brendan avatar image brendan Scott Cameron commented ·

Yes, if all you want to do is add a tag, that would be the better route (unless there's any advantage the player could get by cheating that call).

0 Likes 0 ·

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.