# Social Interactions

Enable social features to enhance player engagement by allowing them to share, join communities, invite friends, and more.

#### Share <a href="#share" id="share"></a>

Use this to allow players to share game content or achievements on social media platforms.

```javascript
playgama_bridge_social_is_share_supported()
```

Check if the share functionality is supported on the platform.

```javascript
var options
switch playgama_bridge_platform_id() {
    case "vk":
	options = {
    	    "link": "YOUR_LINK"
        }
        break
    case "facebook":
        options = {
            "image": "A base64 encoded image to be shared", 
            "text": "A text message to be shared.",
        }
        break
    case "msn":
        options = {
            "title": "A title to display",
            "image": "A base64 encoded image or image URL to be shared", 
            "text": "A text message to be shared.",
        }
        break
}

playgama_bridge_social_share(json_stringify(options))

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_social_share_callback" {
    if async_load[? "success"] {
        // your logic
    }
}
```

#### Join Community <a href="#join-community" id="join-community"></a>

Enable players to join social communities related to your game, enhancing engagement and loyalty.

```javascript
playgama_bridge_social_is_join_community_supported()
```

Check if the join community functionality is supported on the platform.

```javascript
var options
switch playgama_bridge_platform_id() {
    case "vk":
	options = {
    	    "groupId": "YOUR_GROUP_ID"
        }
        break
    case "ok":
        options = {
    	    "groupId": "YOUR_GROUP_ID"
        }
        break
    case "facebook":
        options = {
    	    "isPage": true  // if isPage = true, invite to page, else invite to group
        }
        break
}

playgama_bridge_social_join_community(json_stringify(options))

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_social_join_community_callback" {
    if async_load[? "success"] {
        // your logic
    }
}
```

#### Invite Friends <a href="#invite-friends" id="invite-friends"></a>

Allow players to invite their friends to play the game, helping to grow your player base organically.

```javascript
playgama_bridge_social_is_invite_friends_supported()
```

Check if the invite friends functionality is supported on the platform.

```javascript
var options
switch playgama_bridge_platform_id() {
    case "vk":
	options = {
    	    "text": "Hello World!"
        }
        break
    case "facebook":
        options = {
    	    "image": "A base64 encoded image to be shared",  
            "text": "A text message",
        }
        break
}

playgama_bridge_social_invite_friends(json_stringify(options))

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_social_invite_friends_callback" {
    if async_load[? "success"] {
        // your logic
    }
}
```

#### Create Post <a href="#create-post" id="create-post"></a>

Use this to let players create posts about their achievements or updates directly from the game.

```javascript
playgama_bridge_social_is_create_post_supported()
```

Check if the create post functionality is supported on the platform.

```javascript
var options
switch playgama_bridge_platform_id() {
    case "ok":
	options = {
            "media": [
                {
                    "type": "text",
                    "text": "Hello World!"
                },
                {
                    "type": "link",
                    "url": "https://apiok.ru"
                },
                {
                    "type": "poll",
                    "question": "Do you like our API?",
                    "answers": [
                        { "text": "Yes" },
                        { "text": "No" }
                    ],
                    "options": "SingleChoice,AnonymousVoting"
                }
            ]
        }
        break
}

playgama_bridge_social_create_post(json_stringify(options))

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_social_create_post_callback" {
    if async_load[? "success"] {
        // your logic
    }
}
```

#### Add to Favorites <a href="#add-to-favorites" id="add-to-favorites"></a>

Allow players to bookmark your game for easy access in the future.

```javascript
playgama_bridge_social_is_add_to_favorites_supported()
```

Check if the add to favorites functionality is supported on the platform.

```javascript
playgama_bridge_social_add_to_favorites()

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_social_add_to_favorites_callback" {
    if async_load[? "success"] {
        // your logic
    }
}
```

#### Add to Home Screen <a href="#add-to-home-screen" id="add-to-home-screen"></a>

Enable players to add a shortcut to your game on their home screen for quick access.

```javascript
playgama_bridge_social_is_add_to_home_screen_supported()
```

Check if the add to home screen functionality is supported on the platform.

```javascript
playgama_bridge_social_add_to_home_screen()

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_social_add_to_home_screen_callback" {
    if async_load[? "success"] {
        // your logic
    }
}
```

#### Rate Game <a href="#rate-game" id="rate-game"></a>

Encourage players to rate your game, providing valuable feedback and improving visibility.

```javascript
playgama_bridge_social_is_rate_supported()
```

Check if the rate game functionality is supported on the platform.

```javascript
playgama_bridge_social_rate()

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_social_rate_callback" {
    if async_load[? "success"] {
        // your logic
    }
}
```

#### External Links <a href="#external-links" id="external-links"></a>

Allow players to follow links to external websites, such as your game’s official site or related resources.

```javascript
playgama_bridge_social_is_external_links_allowed()
```

Check if external links are allowed on the platform.


---

# 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://wiki.playgama.com/playgama/sdk/engines/gamemaker/social-interactions.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.
