question

Richard Perreta avatar image
Richard Perreta asked

GameSparks/Playfab

Hi,

I am currently working on a new project and I attempted to incorporate GameSparks as a back-end solution. Their interface is pretty simple but they DataServices they created as of Jan 2018 is to overwhelming and complicated for a simple project. I am very disappointed with how long it takes support to respond; sometimes they totally ignore you. Now that Amazon has taken over it I would expect better service but I guess their more focused on FireBase.

Ok, rant over!

So It brings me to here. I have a few questions and I'm sure Playfab will be able to handle this because it's not difficult. Here are the features I need and some questions I have:

1. Ability to save additional player data (coins, xp points, # shields etc..)

2. Implement leaderboards (duh! - I think even the little guys can do this one..)

3. I want to be able to present the players with special deals that would pop-up on game start (I have the client side code of course just want to know how it's done on the playfab side).

4. Download island data to update the next level.

5. Multi-player - Do I use Playfab or do I need to use Photon Pun?

6. Ad's - What Ad solution will give me the best for my money as well as make money?

7. Can I have one store? Do I need to create a store on GooglePlay? Unity? Apple? which is the best to go with?

8. I was having a major issue with GameSparks getting it to recognize the Facebook player without having to confirm with the player every time they opened the application.

9. If I want to send alerts to the user, do I have to register with GooglePlay, Apple and Facebook or can the app just alert them like the old school way of doing it worked.

I've been out of mobile development for a while so I'm looking for a refresher. Last OS I worked on was Windows Phone about 8-10 years ago so sorry if my questions may be off base, incorrect or basic. This is why I'm asking for help ;)

I'm sure I'll have more, these are some basic features that GameSparks didn't answer or would not answer.

kind regards,

-rj

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 answered

Sure, taking your items in order:

> 1. Ability to save additional player data (coins, xp points, # shields etc..)

Yes, you can save state data to our service, but I'd recommend that coins be saved as a Virtual Currency, and XP as a Statistic. I'm not sure how you're using shields, but that might be a good case for a stackable inventory item.

https://api.playfab.com/docs/tutorials/landing-commerce/currencies

https://api.playfab.com/docs/tutorials/landing-tournaments/using-resettable-statistics-and-leaderboards

https://api.playfab.com/docs/tutorials/#landing-commerce

> 2. Implement leaderboards (duh! - I think even the little guys can do this one..)

Also yes - the statistics tutorial above goes into detail on this.

> 3. I want to be able to present the players with special deals that would pop-up on game start (I have the client side code of course just want to know how it's done on the playfab side).

There are a variety of ways to do this. If you literally want it to be whenever the game starts, you'd just query a store on start and display it to the player (we're purely a backend service - we don't interfere in the display layer of your game in any way). But I'd also recommend checking out our tutorial on user segmentation and, from there (linked at the end of that one), the one on store segmentation:

https://api.playfab.com/docs/tutorials/landing-players/segmentation

> 4. Download island data to update the next level.

Is this metadata about the levels that's the same for all players? If so, you could use Title Data for that:

https://api.playfab.com/docs/tutorials/landing-content/using-title-data

> 5. Multi-player - Do I use Playfab or do I need to use Photon Pun?

It depends upon what you mean. If you want to do a simple turn-based game and don't need to connect the players directly, you can just use our service as-is (potentially also using our PubSub service, which we'll make available soon: https://blog.playfab.com/blog/upcoming-roadmap-2018-q4-oct-dec-edition). If you want to have a "room" experience where you connect players to each other in realtime, you may want to consider Photon. Finally, if you need to have the simulation of the game completely controlled server-side, for a realtime game where you prevent players from cheating, you'll want to look into building a custom game server (either hosted with us or elsewhere):

https://api.playfab.com/docs/tutorials/landing-tournaments/custom-game-servers

https://api.playfab.com/docs/tutorials/external-game-servers

And this is in preview for our Indie/Pro/Enterprise customers, and will be available to everyone soon:

https://api.playfab.com/docs/tutorials/landing-tournaments/multiplayer-servers-2.0

> 6. Ad's - What Ad solution will give me the best for my money as well as make money?

We can't really advise on services that aren't ours, as we have no control over their service model and pricing, nor do we have insight into how their services are managed. We're considering offering an ad service of our own in future. If that's something you'd like to see, I'd recommend letting us know in our feature requests forum.

> 7. Can I have one store? Do I need to create a store on GooglePlay? Unity? Apple? which is the best to go with?

In terms of payment providers, it depends upon a few things. If you're shipping on Android or iTunes, yes, you have to use them as your payment provider, as that's a requirement for their platforms. The same is true for Steam, PlayStation, or Xbox Live. Unity is not a payment provider, however.

I'd recommend checking out our Commerce tutorials, linked above. In general, if you're going to have in-app purchases (IAP), you'll want to just sell VC in the real-money store, and do everything else using the VC, to make things simple (and that way, all the VC purchases can just be defined in PlayFab).

> 8. I was having a major issue with GameSparks getting it to recognize the Facebook player without having to confirm with the player every time they opened the application.

In order to log a player in using Facebook as the identity provider, you have to get a token from that service for the player. That requires a check against Facebook's Graph API, which may pop a request to the user. The question is, what all are you using with Facebook? If you just want to have that as a linked identity so that you can let the player recover their account on another device, you can just use our auth best practices - create the account with a zero-friction method, like a device ID, have them link Facebook later, but then just use the device login unless they're trying to recover their account:

https://api.playfab.com/docs/tutorials/landing-players/best-login

> 9. If I want to send alerts to the user, do I have to register with GooglePlay, Apple and Facebook or can the app just alert them like the old school way of doing it worked.

What is the "old school way" you're referring to? If you're talking about sending a notice to the user whether or not they're currently playing your game, you're referring to Push Notifications on mobile devices. And yes, those are services that you're using through GooglePlay and iTunes, so they require that you set up the Push Notification in their service, then register the player device:

https://api.playfab.com/docs/tutorials/landing-players/push-notification-basics

However, if you mean pushing arbitrary data to the player while they're in the game, we'll be providing a publish/subscribe (the PubSub mentioned above) service in the near future. Right now, you'd poll for updated info on login or periodically while the player is signed in. The PubSub service will let you push arbitrary data to the connected client at any time.

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.

brendan avatar image brendan commented ·

Please be aware that based on the latest prioritization, the PubSub feature mentioned above has been pushed out beyond the next twelve months (which, realistically, is the planning horizon). While we're excited by the capabilities it will offer, the feedback we've received on the current backlog has made it clear that other features have to be the priority in the near-term.

0 Likes 0 ·
Richard Perreta avatar image
Richard Perreta answered

Brendan,

First I'd like to say thank you for such a rapid and detailed response. OK, so you did awesome at answering my arbitrary questions.

#4 Yes it will be the same for all users so I will check out the tutorial for it.

#5 Multi-player would be auto rooms but in real time fighting so I appreciate your honesty there.

#7 - I will be offering Spins and Coins in the app store so if I can get away with just using your service that would be amazing. The player will purchase spins or coins to use in the game and it gets added to the players inventory. Is this something I can do with your service?

#8 If you have sample code or a tutorial that would help me achieve the following that would be tremendous. Sorry I wasn't as clearer before but hopefully this makes sense:

8-1. User gets prompted on first load/install to either play as a Guest or Login to Facebook.

8-2. Relaunch of the application, the hidden token (if any) should auto log the user back in without prompting again for confirmation or username and password.

8-3. Currently guest logins are device specific so if the player gets a new device that profile would be lost. I do like the idea of allowing the user to transfer their profile to another device however I would need another method for those that do not want to use their facebook. Also, I would need the players friends list (for attacks and challenges in the game) profile for user name and email for promotions etc. I already have the code in place for all the ReadPermission stuff. Oh and I get their profile pic. I would need to retrieve their friends pics and data as well, not sure what approach to take there.

# 9 yes I was referring to push notifications and the old way of doing it was the device itself ran a background task that would take push notifications from my own server. Again, it's been a long time and I was pretty positive things changed since then. Hence your reply.

All in all I thank you for your help and I look forward to building my app with the Playfab network.

-rj

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.

brendan avatar image brendan commented ·

For 7, sure, that's easy. Either you're purchasing them as VC, in which case you'd use a bundle, or you'd use a stackable item.

For 8, you'd use the zero friction sign-in (device ID, for example) for subsequent logins. The Unicorn Battle game example we've shared in GitHub shows this behavior:

https://github.com/PlayFab/UnicornBattle

I'm not sure of what you're asking in 8-3, though. Yes, it's important to have a recoverable login type (Facebook, Google account, etc.) for mobile titles, so that the player can get back to their account from any device. But for friends lists and profile pictures, we have both as options in PlayFab directly, so there's nothing special required to get to them. If you mean you want to get to the player's Facebook friends list, you'll need to have an active Facebook token in our service (so, you have to have given us a token using the Facebook login recently). And if you mean the profile picture in Facebook, that's actually not done through our service at all - you'd query that directly from Facebook.

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.