thumb
  • ► Sell in-game content directly on your website using WooCommerce
  • ► Sell items without having to pay royalties to third parties
  • ► Accept all forms of payment you can setup on your website including Crypto Currencies.
  • ► Includes native support to sell virtual currencies via WooCommerce
  • ► Includes native support to sell games via WooCommerce and (optionally) automatically register it to the buyers' account meaning there is no need for the buyer to first enter a serial to register the game (Requires The Bridge : Serials extension)
  • ► Tapjoy has a free plugin for Unity at http://www.tapjoy.com. The Bridge : Money extension offers Tapjoy support in the form of a self hosted server
    Pros and cons of self hosting versus managed hosting

    TAPJOY HOSTED

     

    SELF HOSTED

    PROS:

    • ► They host the points on their servers for free
    • ► They make sure that the points go to who they belong
    • ► They take responsibility for player's points balances being accurate and up to date
    • ► They provide functions to fetch balances from their servers as well as manually awarding or spending those points
    • ► Receive live notifications of when points are awarded
    • ► The easiest and fastest way to get started monetizing a game

    PROS:

    • ► Hosting the points on your own servers give you absolutely and complete control over the points!

    CONS:

  • ► Points are allocated per device, not per user. I.e. if you have a shared device in the house (family iPad, etc) everybody uses the same points so if one person is saving up for the uber, pimped out, triple fortified mega tank but someone else comes along and wants a pink unicorn... Like I said, shared currency so the last person to play gets to decide what the currency is spent on.
  • ► If you own two mobile devices and want to play the game on both, each device will have it's own points balance. There is no option to continue play across devices and taking your points with you
  • CONS:

    • ► Tapjoy no longer takes any responsibility for what happens to the points once they have sent it to you
    • ► You have to create your own custom back end server system (per game) to handle interaction with Tapjoy
    • ► This means either needing the skill to create a server to communicate with theirs or having to find someone to do it for you, most likely at a premium
    • ► All responsibility for what happens after Tapjoy sent you the message is entirely on you
    • ► You loose the functions to fetch balances, spend and award points and need to implement this functionality yourself within your custom built web server
    • ► You no longer get any updates of when points are or were awarded. You need to create that functionality yourself

    Self Managed Server included The Bridge: Money extension offers a Self Managed server that automatically works for all games on the domain. It is installed by default and offers the following:

    PROS:

     

    Cons:

    • ► A fully functional Tapjoy self managed web server out of the box
    • ► Automatically send Tapjoy the relevant success / error response they require when they request it
    • ► Validate the security values Tapjoy sends with each message:
      • Authenticate the call came from them
      • Is it for your game?
      • Is it a currency you created?
    • ► Prevents unauthorized calls to the server script
    • Store points balances per user, not per device
    • ► Points are stored in the cloud and follow players across devices
    • ► Tapjoy supports only iOS or Android. The MBS SDK supports any device with an internet connection
    • ► Tapjoy requires that you create a separate currency for Android and iOS for each game. The MBS SDK currencies are interchangeable between devices since it is linked to an account, not to a device
    • ► Includes the functions to fetch balances, spend and give points
    • ► The function names are identical and work the same way as the Tapjoy functions, making it easier to follow along with Tapjoy's instructions on their website while making use of the MBS SDK to manage your points
    • ► Each game can have unlimited currencies
    • ► The MBS SDK currencies require 0 configuration: Just start using a currency and it takes care of the rest
    • ► Regain the ability to send a notification when the game starts to tell a player if any points were awarded to them while the game was closed
    • ► Automatically works with all current and future games
    • ► No configuration required apart from storing the currency keys received from the Tapjoy dashboard
    • ► No need for a custom server per game!
    • ► Tapjoy monetization is still limited to iOS and Android for earning new points from Tapjoy
    • ► When Tapjoy sends points to the MBS SDK server, games don't get live updates. Instead, whenever the game contacts the server for anything, any updated points will trigger an event in the game as well as sending the updated balance
    • ► Tapjoy automatically triggers the OnAppLaunched placement as soon as a connection is made to their servers. Now that points are stored per user, not per device, we have to wait for a user to login first and thus their OnAppLaunched placement can no longer be used. The MBS SDK uses the Logged_In placement instead to do exactly the same thing

    More info & disclaimer Tapjoy offers a whole host of additional events (i.e. notifications of when a video has started / ended, when a user cancelled performing an action, analytics etc). For exact details on what the Tapjoy SDK can do, please visit their website. Apart from fetching point balances, spending points and awarding points, developers still use the Tapjoy SDK directly for everything else so all those features are still available. As an added bonus, though, the Bridge : Money extension comes with a simplified method of calling placements. Tapjoy requires a whole bunch of events to be setup and prepared and for the developer to create delegate responders per variable that you create. The MBS SDK takes a different approach and comes with a very long list of possible placements that a developer might want to use. Simply drag the WUTJPlacement component onto the WUTapjoy prefab loaded at the start of the game, pick a placement from the drop down list, make sure to add a match it in the Tapjoy dashboard and that is that. All loading, showing and reloading of placements are taken care of after that.

    DISCLAIMER:

    In order to make use of Tapjoy services developers need to install the Tapjoy asset for Unity, follow the setup instructions from the Tapjoy website for that asset and must still adhere to all the Tapjoy rules. The single most important rule being that TapJoy does not allow their virtual currencies to be used in the purchase of real world items or in any form of gambling. All matters relating to setting up TapJoy's plugin in Unity and getting it to work is all done and explained on their website

2 reviews for Bridge : Money Extension


  1. Rated 5 out of 5

    whizbang101 on 2018-08-15 08:32:41

    Good Solution to handle our IAP Coin - Only required the coin facilities so users can purchase coin via a product in woo commerce and have it updated to the user account that purchased it so when they login to the game they can spend their virtual currency up to what they have in their account balance, and the Money WordPress plugin has a easy to read dashboard, please remember to take full advantage of this you will need at minimum the Login asset from this author and I would in addition recommend his WordPress UserData asset and in addition although I wrote my own serial generator way before this author publish an asset for serials but with that you can also sell your game direct to from your website but I cannot review it as like I stated I wrote my own solution for that some time before this authors serial asset was available but for the novice these collection of assets give you a very complete framework for a In app purchase platform for your game and for the pro they give you a competently programed jump start framework to custom to your needs knocking off a couple of development months accelerating your project development timeline for a very small price defiantly worth the price and a five star. Support from this asset author was fast and professional he answered the issue I had with this asset within hours professionally and effectively resolving my issue and explain the issue competently, great support and also on its own is worth five stars.

  2. Rated 5 out of 5

    ibps13 on 2018-05-03 18:42:58

    Simple, works, great support ! - Amazing assets, coupled to WUSSLogin and WUSSData, perfect for my need, woocommerce integrated and top noch support, needed to implement custom code, MrDude give me solution with nice example to do it. Five star !!

THE VIDEOS SECTION FOR THIS ITEM IS STILL UNDER CONSTRUCTION

Please check back in soon...

THE TUTORIALS SECTION FOR THIS ITEM IS STILL UNDER CONSTRUCTION

Please check back in soon...

V2019_4
– Initial Release

  1. How do I get started?
  2. What is the WUTJPlacements script? Do I need it?
  3. I don’t want to use Tapjoy in my project. Can I still use WordPress Money?
  4. How do I create a virtual currency in WooCommerce that can be used in Unity?
  5. Can I sell other in-game content for Unity or only virtual currency?


Q: How do I get started?

The first thing you need to do is register for an account at www.tapjoy.com and download the SDK for Unity from https://ltv.tapjoy.com/d/sdks. Almost everything else is setup and done via the instructions on the Tapjoy website, here: http://dev.tapjoy.com/sdk-integration/unity/getting-started-guide-publishers-unity/


Just remember that you are setting up a self managed (also called non managed) currency. You wil be asked at some point to choose between managed and non managed currency and once it’s chosen you cannot change it afterwards.

  1. When setting up your currency, make sure to select “Self Managed”
  2. For the callback URL use:
    https://[mysite]/wp-content/plugins/wuss_money/tapjoy.php

    If you are planning on building for iOS, Apple is now forcing you to use SSL. All http calls are going to be rejected soon.

    [mysite] should point to the folder where you installed WordPress into. I.e. if you installed it into www.mysite.com/wordpress but you use your site by going to www.mysite.com, [mysite] needs to be www.mysite.com/wordpress

  3. Click to generate a key and write it down. This is the value you will need in your WordPress dashboard. You need to create a currency for iOS and Android so you will have to do all of this twice. Jut be sure to select IOS once and Android once and write down the keys.

What you call the currency is irrelevant (I just call mine Credits) as we will always call them “points” in WUMoney. Inside your game you can call them whatever you like.

 


If you follow along with the installation instructions they will tell you of a “nice feature” that automatically logs you in to their service as soon as the app starts and they will tell you that logging in is very important and that is why it is a good idea to log in automatically as soon as humanly possible.

That is all well and good but if you read on and get to the placements tutorial you will see that they automatically show ads upon the game connecting to their servers. This is very bad for us because we don’t yet know who is supposed to be getting points for that ad. Nobody has logged in yet, nobody can get credit for it, but it still shows. This means the ad shows purely for the purpose of annoying your customers and doesn’t put anything in their pocket… which translates into many angry emails in your inbox. That or you must make sure to have no content in that placement.

Instead of using the AppLaunched placement that Tapjoy automatically calls, we use the “Logged In” placement instead. We manually log in to Tapjoy after someone has logged into WordPress. Only once we know who is playing do we tell Tapjoy who is playing and only after they say “Okay, got it” do we trigger the Logged In placement.
Thus, in Windows->Tapjoy, I recommend turning off the Auto-Connect check box just to avoid mishaps but that is optional. What is NOT optional is to make sure you have nothing in the AppLaunched placement that Tapjoy automatically creates for you.


Now that you have your two self managed currencies defined for your game (one for Apple and one for Android devices), it is time to let WUSS know about it so log into your WordPress dashboard, go to the WUSS menu and click on the Money button (In this image it is still called Tapjoy). Enter the two keys you wrote down earlier and hit update beside each one, making sure you have the correct game selected from the dropdown.

You are now done and are ready to start using Tapjoy placements in your current and future games.

For more info on Tapjoy virtual currency, see http://dev.tapjoy.com/virtual-currency/
For info on non managed currency, specifically, see http://dev.tapjoy.com/virtual-currency/non-managed-currency/


Q: What is the WUTJPlacements script? Do I need it?

Tapjoy allows you to create as many placements as you want and allows you to call them what you want, although they do have a list of recommended placements. I have created an enumeration of those recommended placements as well as generic ones like “Video Request”. Getting placements to work inside your game takes a bit of reading, getting used to and some coding. You are gonna be spending a bit of time in the demo project, that is for sure.

WUTJPlacement offers you a trade off. If you sacrifice your freedom to choose any placement name you want and instead use the recommended placement names instead, I will save you the headache of first having to learn how to implement the placements and just do it all for you. Simply drag an instance of this component onto the Tapjoy prefab, select the placement you want to use from the dropdown menu, make sure you name your placement the same in Tapjoy (making sure to replace the underscore with a space. Example, in the drop down you would select “Logged_In” but in Tapjoy your placement should be called “Logged In”, without the underscore). Now you can trigger your placement at any time from anywhere with the only line of code you need to write:

WUTJPlacement.ShowPlacement(eTJPlacements.Video_Request);

So, what is it? It is a means to get you up and running super quickly and with minimal fuss. Do you need it? Not really, no. In time you might want greater control over your placements and at that time you might find it a bit limiting. Personally, I feel using only the 4 placements shown in the image is all I think I will ever end up using…


Q: I don’t want to use Tapjoy in my project. Can I still use WordPress Money?

Absolutely. Simply go to Edit->ProjectSettings->Player and select the “Other Settings” tab. Look for the “Scripting Define Symbols” field and delete WUTJ.

Tapjoy is now no longer used in the kit so go to the bootstrap scene and remove the TapjoyUnity object from it. Open the Build Settings, click Build And Run and make sure to select “Replace” when asked so you replace the current Xcode project.


Q: How do I create a virtual currency in WooCommerce that can be used in Unity?

All you need to do is create a wooCommerce product like you normally would, giving the product a title so people know what they are buying, some graphics, some text etc. Then you need to make sure the product is a “Simple product” type, is marked as virtual and not downloadable.

All that remains now is to create a product SKU according to the required format for WUMoney to isolate Unity products from other products in an order. The format is as follows:
WUSKU_{GameID}_Money_{CurrencyName}_{Qty}

An example SKU: WUSKU_8_Money_Gold_100

Since you will most likely be selling packs of 100’s or 1000’s of coins as a single product (as opposed to telling the player: “One coin costs 1 cent so just enter any qty you want and pay me that much”) but since WooCommerce’s cart has a quantity field where users can specify how many of your product they want to buy, the actual number of currency players get from a purchase is the Qty you set in the SKU multiplied by the number of products purchased.

Product Setup


Q: Can I sell other in-game content for Unity or only virtual currency?

I will be creating more content that you can sell and adding them into the relevant asset as I do so. In the mean time, if you want to sell items that I do not yet support, doing so is very easy but you will need to know how to code in PHP and have an understanding of how WordPress works.

Step 1 is to create a new script and to make sure WordPress loads it. That is the advanced part that requires the WordPress understanding. Alternatively, you can add your custom code to a script that does already get loaded but then you need to be aware that updating that script in future will delete anything you added to it. If you have the PHP and WordPress knowledge to still want to move forward, here are the four things you need to do:

  1. When you create your SKU, make the third part something unique to your product. This can be anything as long as you are sure it will be unique to your product and not something I will likely use in a future product of my own.
    Example: WUSKU_8_KEYS
    NOTE: SKU’s only need those three parts. You can append as many additional parts as you want (if any at all) or add additional info to the product’s meta information instead, if you prefer. Both are acceptable and will be sent to your function

  2. Register your function to my action. NOTE: The function name must be unique!
    Example: add_action( ‘wuss_purchase’, ‘MyUniqueFunctionName’ );

  3. Create your function and give it one argument only. See the documentation for what info is included in this array:
    function MyUniqueFunctionName($args)

  4. Finally, since your function will not be the only function responding to the product sale, you need to test the third part of the SKU to make sure the product should be processed by your function. If not, then quit.

A complete example of what your script should look like:

< ?php 
add_action( 'wuss_purchase', 'MyUniqueFunctionName' );
function MyUniqueFunctionName($args) {
    if( $args['type'] != "KEYS") return;
    //your code here
}
?>

And that is all there is to it.