PlayDrop logoPlayDrop Studio
CréerÉchange de partiesGagnerApprendreConnecteursRessourcesCommunautéAide
PlayDrop logoPlayDrop Studio
CréerÉchange de partiesGagnerApprendreConnecteursRessourcesCommunautéAide
Se connecter
Partage, amis et invitations
Documentation

Commencez ici

Vue d’ensembleVotre premier jeuJeux PlayDropFAQ

Créer avec Cloud

Création CloudOffres et générations

Connecter votre app d’IA

Tous les connecteursClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publier et partager

Publier depuis votre app d’IAJeux HTML simplesPaquets et .playPublication et importFichiers de jeuVisibilité et audienceIllustrations et vidéos de la ficheGenres et tagsLocalisationJeux instantanés

Expérience de jeu

Chargement, pause et audioPlein écran et zones sûresSauvegardes cloudGroupes locaux et manettes

Jouer ensemble

Partage, amis et invitationsClassementsSuccèsGroupes en ligne et voixServeurs de jeu temps réel

Gains

MonétisationCrédits et récompenses

Ressources

Ressources de jeuGénération de ressources par IAFormats personnalisés et créations

Référence

SDK clientSDK serveurcatalogue.jsonErreurs et repriseDépannage
DocumentationPartage, amis et invitations
Jouer ensemble

Partage, amis et invitations dans les jeux PlayDrop

Partagez avec image ou extrait, lisez les données de lancement, choisissez des amis, envoyez invitations et défis dans PlayDrop Chat, recommandez des jeux.

PlayDrop gère la feuille de partage, la liste d’amis et le chat ; votre jeu les sollicite au bon moment. Les joueurs amènent leurs amis, et ces amis arrivent directement dans votre jeu.

Partagez le jeu

Appelez sdk.host.share() à la suite d’un appui ou d’un clic. Cette méthode partage la page publique du jeu avec, en option, un texte, une image ou une courte vidéo, ainsi qu’une charge utile de lancement facultative.

js
shareButton.addEventListener("click", async () => {
  try {
    await sdk.host.share({ text: `I reached level ${level} in Moon Jump`, image: scoreCardBlob, payload: "level-7" });
  } catch (error) {
    console.warn("Share failed", error);
  }
});
  • image : un Blob GIF, JPEG, PNG ou WebP de 8 MiB maximum. Les hôtes qui ne peuvent pas joindre d’images partagent uniquement le lien.
  • video : un Blob MP4 de 15 secondes et 20 000 000 octets au maximum, à la place d’une image. Le format H.264/AAC en 1080p, en 16:9, 9:16 ou 1:1, donne les meilleurs résultats. Les hôtes sans prise en charge de la vidéo rejettent l’appel avec host_share_video_unsupported plutôt que de partager un simple lien.
  • Préparez le Blob avant l’appui ; le générer après peut faire perdre l’autorisation de partage du navigateur.
  • Vous ne pouvez pas partager une URL personnalisée ni d’autres fichiers. Le lien est toujours celui de la page du jeu.

Les erreurs liées à l’image sont invalid_host_share_image, host_share_image_type et host_share_image_too_large.

Lisez la charge utile de lancement

payload compte jusqu’à 256 caractères base64url. Un joueur qui ouvre le lien partagé démarre le jeu avec sdk.host.launchPayload défini sur cette valeur, ou sur null. Traitez-la comme une entrée non fiable : validez-la et vérifiez sur votre serveur que le joueur peut rejoindre la salle qu’elle désigne. N’y mettez jamais d’identifiants.

Choisissez des amis et envoyez des cartes de jeu

sdk.social.selectFriends({ max }) ouvre le sélecteur d’amis de PlayDrop (de 1 à 10, 1 par défaut) et ne renvoie que les amis choisis par le joueur, ou [] s’il annule. Envoyez ensuite une carte qui apparaît dans PlayDrop Chat :

js
const [friend] = await sdk.social.selectFriends({ max: 1 });
if (friend) {
  await sdk.social.sendMessage({
    recipientUserId: friend.id,
    type: "challenge",
    title: "Beat my time: 42.3 s",
    subtitle: "Moon Jump, level 7",
    payload: "level-7",
    clientMessageId: `challenge-${runId}-${friend.id}`,
  });
}
  • type vaut invite, request, gift, challenge ou turn.
  • title compte jusqu’à 80 caractères et subtitle jusqu’à 160.
  • expiresInSeconds va de 60 secondes à 30 jours (la valeur par défaut).
  • clientMessageId permet de réessayer sans risque : le réutiliser renvoie le message d’origine.
  • Vous pouvez écrire aux amis que le joueur a sélectionnés, aux amis qui jouent à ce jeu et aux joueurs avec qui il échange déjà des messages de jeu. Les inconnus rencontrés lors de la recherche de partie ne peuvent pas recevoir de messages.

Lisez les cartes reçues avec getMessages({ limit }), de la plus ancienne à la plus récente, puis marquez chacune comme traitée avec consumeMessage(message.id). L’expéditeur est message.from.id.

js
const page = await sdk.social.getMessages({ limit: 20 });
for (const message of page.messages) {
  await applyCard(message.type, message.from.id, message.payload);
  await sdk.social.consumeMessage(message.id);
}

Continuez avec cursor: page.nextCursor jusqu’à ce qu’il vaille null.

Les amis qui jouent à ce jeu

sdk.social.listGameFriends() renvoie les amis qui ont joué récemment à ce jeu : une bonne liste pour des boutons « Jouer avec ». Elle n’expose ni la liste d’amis complète ni la présence en ligne. openProfile(userId) ouvre le profil d’un joueur et openChat({ recipientUserId, draftMessage }) ouvre Chat avec un brouillon modifiable que le joueur envoie lui-même.

Un nouveau joueur arrivé par un ami peut avoir sdk.host.launchFriend défini. Proposez-lui de jouer avec cet ami et confirmez avec selectFriends({ max: 1 }) ; ne démarrez jamais rien automatiquement.

Recommandez d’autres jeux

Lors d’une pause naturelle, comme une fin de partie, sdk.host.showGames({ games: ["@creator/name"] }) affiche les cartes PlayDrop d’un à trois autres jeux publics et met le vôtre en pause. La méthode se résout avec played (PlayDrop change alors de jeu) ou dismissed. sdk.host.preloadGame(ref) signale le jeu que le joueur ouvrira peut-être ensuite.

Exigences

Le partage et les appels sociaux nécessitent un paquet qui utilise le SDK. Les fonctionnalités liées aux amis nécessitent un joueur connecté. Les fenêtres de l’hôte mettent le jeu en pause ; gérez la pause et la reprise.

Guides associés

  • Groupes en ligne et voixFaites jouer des amis ensemble en ligne : tailles de groupe, fenêtre de groupe PlayDrop, salles réservées avec sdk.multiplayer.join et voix de salle.
  • Visibilité et audienceChoisissez qui peut ouvrir un jeu, gérez le réglage par défaut et les versions, et attirez des joueurs avec Boost, Échange de parties, Instantané et la recherche.
  • ClassementsDéclarez des classements dans catalogue.json, soumettez des scores avec sdk.leaderboards, affichez le top et les voisins du joueur : types de score, limites, règles.
PrécédentGroupes locaux, manettes et manettes téléphone dans les jeux PlayDropSuivantClassements pour les jeux PlayDrop
Voir le Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Sur cette page

Partagez le jeuLisez la charge utile de lancementChoisissez des amis et envoyez des cartes de jeuLes amis qui jouent à ce jeuRecommandez d’autres jeuxExigences
Voir le Markdown