Microsoft Azure PlayFab logo
    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Add-ons
    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA
  • Runs on PlayFab
  • Pricing
    • Blog
    • Forums
    • Contact us
  • Sign up
  • Sign in
  • Ask a question
  • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges
  • Home /
  • LiveOps /
avatar image
Question by fiveampsoftware · Aug 30, 2018 at 01:03 AM · In-Game EconomyPlayer Inventory

Best way to have a timed Special Offer?

Hello,

What would be the recommended way to setting up a special offer in playfab's game manager?

The idea behind this special offer is to show it to a segment of users, it will have a set amount of items (like a bundle or container), it will have a timer (the user will see a countdown timer like 12hrs remain).

We have come up with a few ways but not sure what the best way would be. The following are some of the methods we've came up with:

- Method 1: Have a JSON field set up in the Title data with segment id -> special offer list. Clients will check this and show the user what special offer is valid w/ an expiration date set.

- Method 2: Grant a 'locked' container to every user in a segment that has a time limit and is a consumable. Requires another item to unlock it that correlates to the specific special offer (would require a reverse look up)

- Method 3: Grant a 'tagged' container to every user in a segment that has a time limit and is a consumable. Doesn't require another item to unlock, but the client will show the option to purchase the container of the same type as long as one exists in their inventory and is tagged.

- Method 4: Run a cloudscript on every user in a segment that sets up a player data JSON structure that has details about the special offer (time remain, special offer bundle id, etc).

There's a lot of ways to skin this cat but I want to make sure we take the path that can scale.

Thanks!

-Kevin

Comment

People who like this

0 Show 0
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by Brendan · Aug 30, 2018 at 03:17 AM

So to be clear, you want to have a period of time during which players who match a certain segment criteria can access a special offer - is that correct? So, from midnight UTC of one day to midnight UTC of the next, those players have access to the special offer? The best thing to do in that case would be to set the segment up with a login time stamp, so that players only see the offer if they signed in within that period. Option 1 above could work as well, but you can't completely block a player from making a purchase using a valid price in the catalog. So if you're exposing a price and hiding it behind discoverability, it's quite likely someone will figure this out and hack their client to purchase items at the special price anyway. Options 2-4 aren't really going to scale well if your title does very well, as they require taking an action for every player in the game via a Task, which could take a long time. One alternative would be to use an "OnLogin" type of Cloud Script which checks the time to determine if any special items should be added to the player when they log in.

Comment

People who like this

0 Show 2 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image fiveampsoftware · Aug 30, 2018 at 06:29 AM 0
Share

If we used segment actions would that make option 2-4 more feasible? Ie - you made it to Level 3, you are now part of level 3 segment and have access to a special offer that exists for 12 hours. 'Welcome to Level 3! Here's a special offer'

And on the side of having a special offer for all 'level 3' players for a given weekend we chose - you would suggest a cloud script / title data look up for that segment id to special offer (bundle id)?

Or would there be an easier method you would suggest instead of the ones listed?

(the timed containers are essentially a workaround for a timed store override. Would be great to see timed offers in a future release)

avatar image Andy ♦♦ fiveampsoftware · Aug 30, 2018 at 06:18 PM 0
Share

In general, yes, doing the work on segment entry or exit is preferable to a scheduled task, as it will distribute the load more evenly across your special offer period. If you're doing it that way, option 2 makes lot of sense to me.

As to how those players see the special offer, I'd recommend utilizing store overrides and controlling access to the override through a time-limited segment. You'd define your segment as:

Last Login Time > Friday AND

Last Login Time < Monday AND

Level >= 3

So, anyone who met those criteria would get the special store with the time-limited offer.

Also, yes, we're working on a feature we call Event that are designed to do almost exactly what you're talking about. No ETA right now, but we'll share more when we can.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Navigation

Spaces
  • General Discussion
  • API and SDK Questions
  • Feature Requests
  • PlayStream
  • Bugs
  • Add-on Marketplace
  • LiveOps
  • Follow this Question

    Answers Answers and Comments

    2 People are following this question.

    avatar image avatar image

    Related Questions

    User permissions to modify custom data only. 1 Answer

    Store is returning 404 and is not reachable 1 Answer

    Filing Service Degradations 2021-10-26 1 Answer

    PlayFab

    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Runs on PlayFab
    • Pricing

    Solutions

    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA

    Engineers

    • Documentation
    • Quickstarts
    • API Reference
    • SDKs
    • Usage Limits

    Resources

    • Forums
    • Contact us
    • Blog
    • Service Health
    • Terms of Service
    • Attribution

    Follow us

    • Facebook
    • Twitter
    • LinkedIn
    • YouTube
    • Sitemap
    • Contact Microsoft
    • Privacy & cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2020
    • Anonymous
    • Sign in
    • Create
    • Ask a question
    • Create an article
    • Post an idea
    • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Explore
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges