# 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.

```java
Bridge.social.isShareSupported
```

Check if the share functionality is supported on the platform.

```csharp
private void Start()
{
    var options = new Dictionary<string, object>();

    switch (Bridge.platform.id)
    {
        case "vk":
            options.Add("link", "YOUR_LINK");
            break;
        case "facebook":
            options.Add("image", "A base64 encoded image to be shared");
            options.Add("text", "A text message to be shared");
            break;
        case "msn":
            options.Add("title", "A title to display");
            options.Add("image", "A base64 encoded image or image URL to be shared");
            options.Add("text", "A text message to be shared");
            break;
    }

    Bridge.social.Share(options, OnShareCompleted);
}

private void OnShareCompleted(bool success)
{
    if (success)
    {
        // Operation succeeded
    }
    else
    {
        // An error occurred
    }
}
```

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

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

```java
Bridge.social.isJoinCommunitySupported
```

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

```csharp
private void Start()
{
    var options = new Dictionary<string, object>();

    switch (Bridge.platform.id)
    {
        case "vk":
            options.Add("groupId", YOUR_GROUP_ID);
            break;
        case "ok":
            options.Add("groupId", YOUR_GROUP_ID);
            break;
        case "facebook":
            options.Add("isPage", true); // if isPage = true, invite to page, else invite to group
            break;
    }

    Bridge.social.JoinCommunity(options, OnJoinCommunityCompleted);
}

private void OnJoinCommunityCompleted(bool success)
{
    if (success)
    {
        // Operation succeeded
    }
    else
    {
        // An error occurred
    }
}
```

#### 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.

```java
Bridge.social.isInviteFriendsSupported
```

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

```csharp
private void Start()
{
    var options = new Dictionary<string, object>();

    switch (Bridge.platform.id)
    {
        case "ok":
            options.Add("text", "Hello World!");
            break;
        case "facebook":
            options.Add("image", "A base64 encoded image to be shared");
            options.Add("text", "A text message to be shared");
            break;
    }

    Bridge.social.InviteFriends(options, OnInviteFriendsCompleted);
}

private void OnInviteFriendsCompleted(bool success)
{
    if (success)
    {
        // Operation succeeded
    }
    else
    {
        // An error occurred
    }
}
```

#### 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.

```java
Bridge.social.isCreatePostSupported
```

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

```csharp
private void Start()
{
    var options = new Dictionary<string, object>();

    switch (Bridge.platform.id)
    {
        case "ok":
            var media = new object[]
            {
                new Dictionary<string, object>
                {
                    { "type", "text" },
                    { "text", "Hello World!" },
                },
                new Dictionary<string, object>
                {
                    { "type", "link" },
                    { "url", "https://apiok.ru" },
                },
                new Dictionary<string, object>
                {
                    { "type", "poll" },
                    { "question", "Do you like our API?" },
                    {
                        "answers",
                        new object[]
                        {
                            new Dictionary<string, object>
                            {
                                { "text", "Yes" },
                            },
                            new Dictionary<string, object>
                            {
                                { "text", "No" },
                            }
                        }
                    },
                    { "options", "SingleChoice,AnonymousVoting" },
                },
            };

            options.Add("media", media);
            break;
    }

    Bridge.social.CreatePost(options, OnCreatePostCompleted);
}

private void OnCreatePostCompleted(bool success)
{
    if (success)
    {
        // Operation succeeded
    }
    else
    {
        // An error occurred
    }
}
```

#### 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.

```java
Bridge.social.isAddToFavoritesSupported
```

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

```csharp
private void Start()
{
    Bridge.social.AddToFavorites(OnAddToFavoritesCompleted);
}

private void OnAddToFavoritesCompleted(bool success)
{
    if (success)
    {
        // Operation succeeded
    }
    else
    {
        // An error occurred
    }
}
```

#### 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.

```java
Bridge.social.isAddToHomeScreenSupported
```

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

```csharp
private void Start()
{
    Bridge.social.AddToHomeScreen(OnAddToHomeScreenCompleted);
}

private void OnAddToHomeScreenCompleted(bool success)
{
    if (success)
    {
        // Operation succeeded
    }
    else
    {
        // An error occurred
    }
}
```

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

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

```java
Bridge.social.isRateSupported
```

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

```csharp
private void Start()
{
    Bridge.social.Rate(OnRateCompleted);
}

private void OnRateCompleted(bool success)
{
    if (success)
    {
        // Operation succeeded
    }
    else
    {
        // An error occurred
    }
}
```

#### 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.

```java
Bridge.social.isExternalLinksAllowed
```

Check if external links are allowed on the platform.
