Join channels
Join()
connects a user to a given channel and sets membership - this way, the chat user can both watch the channel's content and be its full-fledged member.
Requires App Context
To set up and manage channel membership, you must enable App Context for your app's keyset in the Admin Portal.
Method signature
Join()
accepts a callback function and a set of parameters as arguments. The Unreal Chat SDK invokes this callback whenever the current user receives a new message on a channel they have just joined. It subscribes the user to a channel and adds a message event listener underneath. The method also sets user and channel membership by creating a new Membership
object that holds the user-channel relation.
- Blueprint
- C++ / Input parameters
1Channel->Join(
2 FOnPubnubChannelMessageReceived MessageCallback,
3 FPubnubChatMembershipData MembershipData = FPubnubChatMembershipData()
4);
Parameter | Description |
---|---|
MessageCallback *Type: FOnPubnubChannelMessageReceived Default: n/a | Callback function passed as a parameter. It defines the custom behavior to be executed when detecting a new Message object on the joined channel. |
FPubnubChatMembershipData Type: FPubnubChatMembershipData Default: n/a | The object containing all membership data. For more information, refer to FPubnubChatMembershipData . |
Output
This method doesn't return any value.
Sample code
Join the support
channel and mark this membership as premium
to add information about your support plan.
1#include "Kismet/GameplayStatics.h"
2#include "PubnubChatSubsystem.h"
3
4UGameInstance* GameInstance = UGameplayStatics::GetGameInstance(this);
5UPubnubChatSubsystem* PubnubChatSubsystem = GameInstance->GetSubsystem<UPubnubChatSubsystem>();
6
7UPubnubChat* Chat = PubnubChatSubsystem ->InitChat("demo", "demo", "my_user");
8
9UPubnubChannel* Channel = Chat->GetChannel("support");
10
11// Create a pubnub response delegate
12// you MUST implement your own callback function to handle the response
13FOnPubnubChannelMessageReceived MessageCallback;
14MessageCallback.BindDynamic(this, &AMyActor::OnMessageReceived);
15
show all 21 lines