Passer au contenu principal
Toutes les collectionsFonctionnalités et API
Un exemple de service pair à pair: définir une librairie partagée
Un exemple de service pair à pair: définir une librairie partagée

test de service pair à pair avec exemple Unity

P
Écrit par Pierre Proulx
Mis à jour il y a plus de 2 semaines

Cet exemple montre comment utiliser le service homologue comme module global pouvant être partagé entre plusieurs applications client homologues.

ÉTAPE 1: Paramétrage de l'application de service entre pairs

Créez une application en tant qu'application de service homologue à partir de la page Équipe | Gérer | Apps du portail brainCloud.

  • Cliquez sur le bouton [+Nouvelle application] , saisissez un nom pour le champ Nom de l'app dans la fenêtre contextuelle, cliquez sur Créer.

  • Téléchargez le fichier de données de configuration SharedLibrary à partir de ce lien vers votre stockage local.

  • Accédez à la page Conception | Outils d'administration | Déploiement, puis cliquez sur "Importer depuis les données de configuration". Décochez toutes les options de remplacement, cliquez sur "Sélectionner le fichier de configuration (bcconfig)" et joignez le fichier téléchargé à l'étape précédente. Cliquez sur "Télécharger".

  • Allez sur la page Conception | Cloud Code | Scripts, vous y trouverez quelques scripts (c'est-à-dire "listAssets", "getAsset", "updateAsset" et "createAsset").

  • Accédez à la page Conception | Cloud Data | Entités personnalisées, vous y trouverez un type d'entité appelé "asset".

( Les champs d' assets comprennent:

  • assetId - nom de la string, sera automatiquement incrémenté lors de la création d'un nouvel actif.

  • assetType - string utilisée pour catégoriser un asset - "audio", "vidéo", "modèle", "image", etc.

  • assetUrl - string contenant une URL pour récupérer l'asset.

  • assetDesc - string de la description de l'asset

Nous les utiliserons comme paramètres à partir des applications clientes lors de l’appel ultérieur d’un asset de service homologue)

  • Après avoir importé le fichier de configuration avec succès, accédez à la page Conception | Info de base de l'app | Publication d'appairage, cliquez sur [Modifier] pour commencer à configurer le paramètre homologue.

  1. Cochez l’option Activer en tant que service d'appairage.

  2. Sélectionnez Privé pour la visibilité du service.

  3. Sélectionnez Sponsorisé pour l'utilisation de l'API.

  4. Laissez les onglets Configuration du client et Points d'ancrage comme paramètres par défaut,

  5. Dans l’onglet Répertoire, ajoutez "SharedLibrary" dans le champ Nom du service.

ÉTAPE 2: Paramétrage de l'application client homologue

  • Créez une application nommée "LibraryClient" ou autre. Accédez ensuite à la page "Conception" | "Intégrations" | "Services d'appairage", recherchez votre service homologue nommé "SharedLibrary" dans la section "Services disponibles" et cliquez sur l'icône "Plus" dans la colonne "Actions". Saisissez un code de service portant le même nom et enregistrez-le.

  • Téléchargez un fichier de configuration d'application client à partir d'ici et importez-le à partir de la section des données de configuration de l'application comme vous l'avez fait pour l'application de service homologue.

ÉTAPE 3: Tests

Test du portail brainCould:

  • Accédez à la page Conception | Cloud Code | Explorateur d'API. Après authentification, sélectionnez "PeerScript - SharedLibrary" dans le menu déroulant "Service" et "createAsset" dans le menu déroulant "Opération", puis cliquez sur "Exécuter". (Appelez "createAsset" pour créer des ressources. Ensuite, vous pouvez appeler les autres méthodes: listAssets, updateAsset et getAsset.)

  • Vous pouvez également sélectionner Service comme ScriptService et Operation comme RunPeerScript, définir les paramètres appropriés et appuyer sur Exécuter.

Remarque: avec les méthodes createAsset et updateAsset, vous pouvez saisir zéro ou jusqu'à tous les paramètres prédéfinis en entrée. Vous pouvez modifier cette restriction selon vos besoins. Consultez le code de ces scripts pour plus de détails.

  • Une fois terminé, vous avez configuré une librairie partagée et ses ressources peuvent être partagées entre toutes les applications clientes. Comme vous pouvez le constater, seule l'application de service homologue nécessite un forfait Plus avec une utilisation intensive des données (entité personnalisée), mais toutes les applications clientes peuvent accéder à ces données sans passer à un forfait supérieur.

Test depuis une application cliente (Unity):

  • Téléchargez l'exemple de test Unity ici. Décompressez-le et ouvrez-le avec Unity Hub.

  • Vous pouvez également créer votre propre projet Unity et installer le dernier plugin Unity de brainCloud sur votre moteur Unity. Écrivez du code en initialisant l'application comme application cliente homologue. Appelez ensuite la méthode comme suit:

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using BrainCloud;
using BrainCloud.JsonFx.Json;
public class BCinterface : MonoBehaviour
{
public BrainCloudWrapper _bc;
public BrainCloudClient bclient;
Text bcreturn;
InputField id;
InputField url;
InputField desc;
InputField type;
//private Camera mainCamera;
// Start est appelé avant la première mise à jour d'image
void Start()
{
bcreturn = GameObject.Find("bcreturn").GetComponent<Text>();
id = GameObject.Find("assetId").GetComponent<InputField>();
url = GameObject.Find("assetUrl").GetComponent<InputField>();
desc = GameObject.Find("assetDesc").GetComponent<InputField>();
type = GameObject.Find("assetType").GetComponent<InputField>();
}
// La mise à jour est appelée une fois par image
void Update()
{ }
private void Awake()
{
DontDestroyOnLoad(gameObject);
_bc = gameObject.AddComponent<BrainCloudWrapper>();
_bc.WrapperName = gameObject.name;
_bc.Init();
}
// Cliquez sur le bouton d'authentification
public void AuthenticateBC()
{
_bc.AuthenticateEmailPassword("unityuse111r@unity.com", "unitytest111", true, authSuccess_BCcall, authError_BCcall);
}
public void authSuccess_BCcall(string responseData, object cbObject)
{
bcreturn.GetComponent<Text>().text = "authenticate success \n " + responseData;
}
public void authError_BCcall(int statusCode, int reasonCode, string statusMessage, object cbObject)
{
bcreturn.GetComponent<Text>().text = "authenticate fail \n " + statusMessage;
}
//cliquez sur le bouton listAsset
public void ListPeerLibraryAssets()
{
_bc.ScriptService.RunPeerScript("listAssets", "{}", "SharedLibrary", peercSuccess_BCcall, peercError_BCcall);
}
//cliquez sur le bouton createAsset
public void CreatePeerLibraryAsset()
{
_bc.ScriptService.RunPeerScript("createAsset", "{}", "SharedLibrary", peercSuccess_BCcall, peercError_BCcall);
}
//cliquez sur le bouton getAsset
public void GetPeerLibraryAsset()
{
_bc.ScriptService.RunPeerScript("getAsset", "{\"assetId\":\"" + id.GetComponent<InputField>().text + "\"}", "SharedLibrary", peercSuccess_BCcall, peercError_BCcall);
}
//cliquez sur le bouton updateAsset
public void UpdatePeerLibraryAsset()
{
_bc.ScriptService.RunPeerScript("updateAsset", "{\"assetId\":\"" + id.GetComponent<InputField>().text + "\",\"assetDesc\":\"" +desc.GetComponent<InputField>().text + "\", \"assetUrl\":\"" +url.GetComponent<InputField>().text + "\", \"assetType\":\"" + type.GetComponent<InputField>().text + "\"}", "SharedLibrary", peercSuccess_BCcall, peercError_BCcall);
}
public void peercSuccess_BCcall(string responseData, object cbObject)
{
Debug.Log("bc peer success call back");
bcreturn.GetComponent<Text>().text = "peer success \n " + responseData;
}
public void peercError_BCcall(int statusCode, int reasonCode, string statusMessage, object cbObject)
{
Debug.Log("bc peer error call back");
bcreturn.GetComponent<Text>().text = "peer fail \n " + statusMessage;
}
}
  • Testez à partir de l'éditeur comme ci-dessous ou intégrez-le à n'importe quelle plate-forme adaptée à votre appareil de test:

Avez-vous trouvé la réponse à votre question ?