6 Commits

Author SHA1 Message Date
Björn Ritzl
fb3d6b78aa Merge pull request #76 from ekharkunov/bob-reusable-workflow
Use reusable workflow
2025-09-09 22:18:37 +02:00
Kharkunov Eugene
c4b177a24d Use reusable workflow 2025-09-09 09:25:24 +03:00
vlaaad
09544baf1c Merge pull request #75 from defold/vlaaad-patch-1
Create ext.properties
2025-08-22 16:27:16 +02:00
vlaaad
6d3ca89b65 Create ext.properties 2025-08-22 13:41:25 +02:00
Björn Ritzl
0df5a8e968 Update index.md 2025-07-06 14:54:16 +02:00
Björn Ritzl
88028fd29f Update index.md 2025-06-04 07:54:03 +02:00
3 changed files with 19 additions and 76 deletions

View File

@@ -1,76 +1,7 @@
name: Build with bob name: Build with bob
on: on: [push, pull_request]
push:
pull_request_target:
schedule:
# nightly at 05:00 on the 1st and 15th
- cron: 0 5 1,15 * *
env:
VERSION_FILENAME: 'info.json'
BUILD_SERVER: 'https://build.defold.com'
jobs: jobs:
build_with_bob: build:
strategy: uses: defold/github-actions-common/.github/workflows/bob.yml@master
matrix:
platform: [armv7-android, x86_64-linux, x86_64-win32, x86-win32, js-web]
runs-on: ubuntu-latest
name: Build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: '11.0.2'
- name: Get Defold version
run: |
TMPVAR=`curl -s http://d.defold.com/stable/${{env.VERSION_FILENAME}} | jq -r '.sha1'`
echo "DEFOLD_VERSION=${TMPVAR}" >> $GITHUB_ENV
echo "Found version ${TMPVAR}"
- name: Download bob.jar
run: |
wget -q http://d.defold.com/archive/stable/${{env.DEFOLD_VERSION}}/bob/bob.jar
java -jar bob.jar --version
- name: Resolve libraries
run: java -jar bob.jar resolve --email a@b.com --auth 123456
- name: Build
run: java -jar bob.jar --platform=${{ matrix.platform }} build --archive --build-server=${{env.BUILD_SERVER}}
- name: Bundle
run: java -jar bob.jar --platform=${{ matrix.platform }} bundle
# macOS is not technically needed for building, but we want to test bundling as well, since we're also testing the manifest merging
build_with_bob_macos:
strategy:
matrix:
platform: [armv7-darwin, x86_64-darwin]
runs-on: macOS-latest
name: Build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: '11.0.2'
- name: Get Defold version
run: |
TMPVAR=`curl -s http://d.defold.com/stable/${{env.VERSION_FILENAME}} | jq -r '.sha1'`
echo "DEFOLD_VERSION=${TMPVAR}" >> $GITHUB_ENV
echo "Found version ${TMPVAR}"
- name: Download bob.jar
run: |
wget -q http://d.defold.com/archive/stable/${{env.DEFOLD_VERSION}}/bob/bob.jar
java -jar bob.jar --version
- name: Resolve libraries
run: java -jar bob.jar resolve --email a@b.com --auth 123456
- name: Build
run: java -jar bob.jar --platform=${{ matrix.platform }} build --archive --build-server=${{env.BUILD_SERVER}}
- name: Bundle
run: java -jar bob.jar --platform=${{ matrix.platform }} bundle

View File

@@ -186,7 +186,11 @@ IAP supports auto-completion, where fulfilment is automatically signalled to the
### Consumable vs non-consumable products ### Consumable vs non-consumable products
The Google Play store does only support consumable products. If you need non-consumable products it is recommended to use manual fulfilment of purchases and never finish purchases for products that should be non-consumable. As long as a purchase isn't finished it will be returned as an active purchase when `iap.set_listener()` is called. If you do not call `iap.finish()` on a purchase you still need to indicate to Google Play that the purchase has been handled. You can do this by calling `iap.acknowledge()`. If you do not call `iap.acknowledge()` the purchase will be automatically refunded by Google after a few days. #### Google Play
It is recommended to use manual fulfilment of purchases and never finish purchases for products that should be non-consumable. As long as a purchase isn't finished it will be returned as an active purchase when `iap.set_listener()` is called. If you do not call `iap.finish()` on a purchase you still need to indicate to Google Play that the purchase has been handled. You can do this by calling `iap.acknowledge()`. If you do not call `iap.acknowledge()` the purchase will be automatically refunded by Google after a few days.
#### App Store
The Apple App Store supports non-consumable products which means that you need to finish all purchases when you provide products to your users. You can do it automatically by keeping the default behavior in the game project settings or manually (if you want to do that after server validation, for example) using `iap.finish()`. The Apple App Store supports non-consumable products which means that you need to finish all purchases when you provide products to your users. You can do it automatically by keeping the default behavior in the game project settings or manually (if you want to do that after server validation, for example) using `iap.finish()`.
@@ -234,6 +238,3 @@ On iOS, the "price_string" field contains '~' characters
## Source code ## Source code
The source code is available on [GitHub](https://github.com/defold/extension-iap) The source code is available on [GitHub](https://github.com/defold/extension-iap)
## API reference

View File

@@ -0,0 +1,11 @@
[iap]
title = IAP
help = Settings for In-App Purchases extension
group = Runtime
iap_provider.type = string
iap_provider.default = GooglePlay
iap_provider.options = GooglePlay, Amazon
auto_finish_transactions.type = bool
auto_finish_transactions.default = 1