# PlayMaker

Access system utilities like app store navigation and settings using Essential Kit's Utilities feature via PlayMaker custom actions.

## Actions (6)

* `UtilitiesOpenAppStorePageDefault` (sync): Opens the app store page using the configured app ID from Essential Kit settings.
* `UtilitiesOpenAppStorePageById` (sync): Opens the app store page using platform-specific IDs passed as parameters.
* `UtilitiesOpenApplicationSettings` (sync): Opens the native application settings page (iOS: Settings app, Android: system settings).
* `UtilitiesRequestInfoForAgeCompliance` (async): Requests age compliance info using optional age gate ranges.
* `UtilitiesGetInfoForAgeComplianceSuccessResult` (sync): Reads the last age compliance info result cached by the request action.
* `UtilitiesGetInfoForAgeComplianceError` (sync): Reads the last age compliance error cached by the request action.

## Quick flow

1. `UtilitiesOpenAppStorePageDefault` → Opens app store for ratings/reviews
   * OR `UtilitiesOpenAppStorePageById` with explicit platform-specific app IDs
2. `UtilitiesOpenApplicationSettings` → Directs users to grant permissions

## Notes

* App store and settings actions are fire-and-forget (no success/failure callbacks).
* Age compliance is async; use `UtilitiesRequestInfoForAgeCompliance` with success/failure events, then read cached outputs if needed.

## Common uses

* **App Store Reviews**: Use `UtilitiesOpenAppStorePageDefault` to prompt users for ratings
* **Permission Flow**: Use `UtilitiesOpenApplicationSettings` when permissions are denied
* **Cross-App Promotion**: Use `UtilitiesOpenAppStorePageById` to promote other apps
* **Age Compliance**: Use `UtilitiesRequestInfoForAgeCompliance` to collect age range info and handle gating

## Use cases

Start here: `use-cases/README.md`

## Platform notes

* **iOS**: App ID is the numeric App Store ID (e.g., "1234567890")
* **Android**: App ID is the bundle identifier (e.g., "com.example.myapp")
* Configure default app IDs in Essential Kit Settings for platform-specific values


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://assetstore.essentialkit.voxelbusters.com/features/utilities/playmaker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
