GroupJoin
introduction
Join group
Permission description
Private group doesn't allow user joining.
User can apply to joining Public group and ChatRoom.
If admission needs checking, wait for admin or group owner to grant admission, otherwise user joins to the group successfully by only calling this API.
Join group by specified group_id, and you can tell success or not from the callback.
The detailed process of joining a group can be seen in the document
Parameter details
overload1
Parameter name | Parameter type | Required | Description |
---|---|---|---|
group_id | string | Required | Group ID |
hello_message | string | Required | Greeting message |
callback | NullValueCallback | Required | Asynchronous callback |
overload2
Parameter name | Parameter type | Required | Description |
---|---|---|---|
group_id | string | Required | Group ID |
hello_message | string | Required | Greeting message |
callback | ValueCallback< string > | Required | Asynchronous callback The format of json_param in the return value is string |
Returned template
TIMResult
The parameters of the callback function after successfully calling the API:
code:int
desc:string
json_param:'' // json_ Params is an empty string ""
user_data:string
Return value details
name | type | description |
---|---|---|
TIMResult | TIMResult | Return value of calling API |
code | int | Result error code: Error Codes |
desc | string | The description of the error. |
json_param | string | Json string. Calling different API will get different Json strings. |
user_data | string | User-defined data transfered by ImSDK without any processing |
Code example
using UnityEngine;
using UnityEngine.UI;
using com.tencent.im.unity.demo.types;
using com.tencent.imsdk.unity;
using com.tencent.imsdk.unity.types;
using com.tencent.imsdk.unity.enums;
using com.tencent.im.unity.demo.utils;
public class GroupJoin : MonoBehaviour
{
public Text Header;
public InputField GroupID;
public InputField Greeting;
public Text Result;
public Button Submit;
public Button Copy;
string[] Labels = new string[] { "GroupIDLabel", "GreetingLabel" };
void Start()
{
foreach (string label in Labels)
{
GameObject.Find(label).GetComponent<Text>().text = Utils.t(label);
}
GroupID = GameObject.Find("GroupID").GetComponent<InputField>();
Greeting = GameObject.Find("Greeting").GetComponent<InputField>();
Result = GameObject.Find("ResultText").GetComponent<Text>();
Header = GameObject.Find("HeaderText").GetComponent<Text>();
Submit = GameObject.Find("Submit").GetComponent<Button>();
if (CurrentSceneInfo.info != null)
{
Header.text = Utils.IsCn() ? CurrentSceneInfo.info.apiText + " " + CurrentSceneInfo.info.apiName : CurrentSceneInfo.info.apiName;
Submit.GetComponentInChildren<Text>().text = CurrentSceneInfo.info.apiName;
}
Copy = GameObject.Find("Copy").GetComponent<Button>();
Copy.GetComponentInChildren<Text>().text = Utils.t("Copy");
Submit.onClick.AddListener(GroupJoinSDK);
Copy.onClick.AddListener(CopyText);
}
void GroupJoinSDK()
{
print(GroupID.text);
TIMResult res = TencentIMSDK.GroupJoin(GroupID.text, Greeting.text, Utils.addAsyncNullDataToScreen(GetResult));
Result.text = Utils.SynchronizeResult(res);
}
void GetResult(params object[] parameters)
{
Result.text += (string)parameters[0];
}
void CopyText()
{
Utils.Copy(Result.text);
}
void OnApplicationQuit()
{
TencentIMSDK.Uninit();
}
}