No Revisions Have Been Made To This Page
Can you suggest an edit for this page? Click Here
GML Code Example
|product_index||The index of the ds_list that contains the available purchases.|
This function enables support for making in-app purchases and
prepares GameMaker: Studio by supplying the product ds_list
that holds a series of ds_maps
with the information on each available purchase. This means that
you will need to tell GameMaker: Studio all the available
purchase options by setting them in individual ds_maps
(one for each available purchase), which are then stored within a
ds_list, which is then "activated" with this function.
The individual purchase maps that are to be stored in the ds_list should have the following format of key-value pairs:
It is worth noting that the only essential keys for any target
store setup (per product ID) is the "id", except for Windows 8 and
Windows Phone targets, in which case you also need the "type" key.
Note that for these target platforms, if you want the store to
report meaningful (correct) data when in Sandbox mode, then
the "title", "description", etc... are necessary.
Activating purchases will also trigger an IAP Event, which creates a special iap_data ds_map of the event type iap_ev_product. This ds_map will have the following additional key:
If you are activating multiple products, then each product will
trigger its own IAP Event of the type
iap_ev_product where you can then get the product ID. It
is worth noting that the Google Play store (for Android) can only
process details for products 20 at a time which can lead to quite
long load times for applications with a significant number of
NOTE: All the key/value pairs that comprise a purchase map are strings!
GML Code Example
var purchaseList, purchase1; purchaseList = ds_list_create(); purchase1 = ds_map_create(); ds_map_add(purchase1, "id", "LevelPack"); ds_map_add(purchase1, "title", "ExtraLevels1"); ds_map_add(purchase1, "description", "Level Pack 1 for Catch The Clown"); ds_map_add(purchase1, "price", "$1.00"); ds_list_add(purchaseList, purchase1); iap_activate(purchaseList); ds_map_destroy(purchase1); ds_list_destroy(purchaseList);
The above code will create a ds_list and a ds_map, which is then populated by the information for making a purchase. This map is added to the list and then activated as an available purchase for the game. Finally the ds_list and ds_map are removed to prevent memory leaks as they are no longer needed.