- Create a new channel of type Store Channel. If you do not see this option, let Discord know.
- Choose the application and SKU that the store page should be for. If you don't see anything in these dropdowns, let Discord know
var lobbyManager = discord.GetLobbyManager(); | |
lobbyManager.ConnectLobby(lobbyId, lobbySecret, (Discord.Result result, ref Discord.Lobby lobby) => | |
{ | |
if (result == Discord.Result.Ok) | |
{ | |
// User is in the lobby | |
lobbyManager.ConnectVoice(lobby.Id, (res) => | |
{ | |
if (res == Discord.Result.Ok) | |
{ |
int main(int, char**) | |
{ | |
discord::Core* core{}; | |
auto result = discord::Core::Create(MY_APPLICATION_ID, DiscordCreateFlags_Default, &core); | |
core->StoreManager().FetchSkus(); | |
core->StoreManager().OnEntitlementCreate.Connect( | |
[&](discord::Entitlement const& entitlement) -> { | |
discord::Sku* sku{}; | |
core->StoreManager().GetSku(entitlement.SkuId, &sku); |
void Main() | |
{ | |
// Instantiate Discord and make a StoreManager | |
var discord = new Discord.Create(MY_APPLICATION_ID, (UInt64)Discord.CreateFlags.Default); | |
var storeManager = discord.GetStoreManager(); | |
storeManager.FetchSkus(); | |
storeManager.OnEntitlementCreate += (ref Discord.Entitlement entitlement) => | |
{ | |
Console.WriteLine(string.Format("User {0} just got entitlement to {1}", entitlement.User.Id, entitlement.SkuId)); |
var relations = discord.GetRelationshipManager(); | |
relations.Filter((ref Discord.Relationship relationship) => | |
{ | |
return relationship.Type == Discord.RelationshipType.Friend && relationship.Presence.Activity.ApplicationId == MY_CLIENT_ID; | |
} | |
relations.OnRefresh += () => | |
{ | |
for (uint i = 0; i < relations.Count(); i++) |
C#
void OnEnable()
{
Debug.Log("Discord: init");
callbackCalls = 0;
discord = new Discord.Discord(461618159171141643, (UInt64)Discord.CreateFlags.Default);
discord.SetLogHook(Discord.LogLevel.Debug, (level, message) =>
========== OUTPUTTING STACK TRACE ================== | |
0x00007FFE343AA388 (KERNELBASE) RaiseException | |
0x00007FFDFAA51158 (mono) [c:\buildslave\mono\build\eglib\src\goutput.c:201] g_logv | |
0x00007FFDFAA5117C (mono) [c:\buildslave\mono\build\eglib\src\goutput.c:211] g_log | |
0x00007FFDFAAAE9E3 (mono) [c:\buildslave\mono\build\mono\metadata\marshal.c:1943] emit_struct_conv_full | |
0x00007FFDFAAAA6E4 (mono) [c:\buildslave\mono\build\mono\metadata\marshal.c:5823] emit_marshal_vtype | |
0x00007FFDFAAACDB6 (mono) [c:\buildslave\mono\build\mono\metadata\marshal.c:7806] emit_marshal | |
0x00007FFDFAAAD20E (mono) [c:\buildslave\mono\build\mono\metadata\marshal.c:7926] mono_marshal_emit_native_wrapper | |
0x00007FFDFAAADCDD (mono) [c:\buildslave\mono\build\mono\metadata\marshal.c:8290] mono_marshal_get_native_func_wrapper |
If you're reading this, it means that you're ready to prepare your game for the Discord store. And we can't wait to have you! You want to know what you need to do to prepare, and we're here to tell you what those things are.
If you're unsure about any of these requirements or want further clarification, feel free to reach out to us with questions.
We have a lot of really great documentation around the Discord store and what we have to offer in terms of technical solutions and integrations, and I'm not just saying that because I wrote them. Read through the docs and decide what pieces may be helpful for your game. Here's some starting points:
Hey everyone! Today we are releasing an awesome new feature for devs on Discord: Teams! Teams will let you easily work together and manage applications as a...team...it sounded cooler than "organizations", alright?
Teams are groups of users, managed through the Developer Portal. Teams have members and own applications. Users who are members of a team can manage applications that team owns as if they were their own. No more sharing login credentials, or making shared accounts that multiple people can access. Now you can manage applications with multiple users securely.
If you're reading this, woo! You've got access to Discord's new GameSDK. It does a lot of fancy stuff, which you can see over here. But, most importantly, it handles voice and text chat in a way that's much easier than GameBridge.
So, how did GameBridge work? You had to: